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 操作。
posted @   sixinshuier  阅读(7475)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示