zoukankan      html  css  js  c++  java
  • 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 操作。
  • 相关阅读:
    pat00-自测5. Shuffling Machine (20)
    Spiral Matrix
    Search in Rotated Sorted Array II
    Search in Rotated Sorted Array
    Best Time to Buy and Sell Stock II
    4Sum
    3Sum Closest
    3Sum
    MySQL存储过程、函数和游标
    Word Ladder
  • 原文地址:https://www.cnblogs.com/shix0909/p/13566148.html
Copyright © 2011-2022 走看看