• 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 操作。
  • 相关阅读:
    数组的空位
    数组方法之pop
    数组方法之push
    深拷贝
    浅拷贝
    手动编写用于react项目开发的的webpack配置文件
    ES6:export default 和 export 区别
    JS基础算法题(二)
    Linux系统下用户如何膝盖FTP用户密码
    Sublime Text 3 安装插件与快捷键总结
  • 原文地址:https://www.cnblogs.com/shix0909/p/13566148.html
Copyright © 2020-2023  润新知