Kubernetes.yaml 对象

  • apiVersion 创建该对象所使用的kubernetesAPI的版本
  • kind 想要创建的对象的类别
  • metadata 帮助唯一性标识对象的一些数据,包括一个name字符串、UID和可选的namespace
  • spec 你所期望该对象的状态

    Kubernetes 对象管理

    kubectl

指令式命令、指令式对象配置、声明式对象配置

指令式命令

  1. kubectl create deployment nginx --image nginx

优点
  • 命令简单,易学且易于记忆。
  • 命令仅需一步即可对群集进行更改。

    缺点
  • 命令不与变更审查流程集成。

  • 命令不提供与更改关联的审核跟踪。
  • 除了实时内容外,命令不提供记录源。
  • 命令不提供用于创建新对象的模板。

    指令式对象配置

    kubectl create -f nginx.yaml
    kubectl delete -f nginx.yaml -f redis.yaml
    kubectl replace -f nginx.yaml # 更新配置
    

    Namespace

    apiVersion: v1
    kind: Namespace
    metadata:
      name: dev
    

    Pod

    apiVersion: v1
    kind: Pod
    metadata:
      labels:
          run: mydb
      name: mydb
    spec:
      containers:
    - image: redis
        name:    redis
    - image: mysql
        name: mysql-8