• kubectl create / replace 与kubectl apply 的区别


    kubectl create / replace

    以ngnix 的 nginx.yaml为例:

    
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
    spec:
      selector:
        matchLabels:
          app: nginx
      replicas: 2
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            ports:
            - containerPort: 80
    

    使用 kubectl create 命令在 Kubernetes 里创建这个 Deployment 对象:

    kubectl create -f nginx.yaml
    

    当我们想要修改镜像的时候,除了使用kubectl edit /kubectl set image ,我们还可以使用修改nginx.yaml文件。然后使用 kubectl replace 来触发更新。

    kubectl replace -f nginx.yaml
    

    对于上面这种先 kubectl create,再 replace 的操作,我们称为命令式配置文件操作。

    kubectl apply

    我们还可以通过 kubectl apply 创建deployment

    kubectl apply -f nginx.yaml
    

    如果修改镜像,我们只需要修改nginx.yaml文件,然后执行

    kubectl apply -f nginx.yaml
    

    kubectl create / replace 与kubectl apply 的区别

    • kubectl replace 的执行过程,是使用新的 YAML 文件中的 API 对象,替换原有的 API 对象
    • kubectl apply,则是执行了一个对原有 API 对象的 PATCH 操作。
  • 相关阅读:
    各种小例子
    作业 5/20
    课程总结
    构建之法 读书笔记一
    Android实现本地音频播放(可拖动条)
    自我介绍
    上周总结
    《梦断代码》读书笔记三
    《梦断代码》读书笔记二
    《梦断代码》读书笔记一
  • 原文地址:https://www.cnblogs.com/shix0909/p/13566148.html
Copyright © 2020-2023  润新知