kubectl create 与 kubectl apply的区别
kubectl create 与 kubectl apply 的区别_cab5的博客-CSDN博客
一、背景
在我们想要创建一个K8s资源的时候,既可以使用 create,又可以使用 apply,两者之间到底有什么不同呢?
二、区别
kubectl create
create 顾名思义就是创建新资源。这里我们需要注意的是,如果再次运行相同的命令,就会抛出错误,因为资源名称在名称空间中应该是唯一的。
第 1 次执行 kubectl create -f pod.xml 命令,正常结束,如下:
kubectl create -f pod.xml
pod/my-pod created
第 2 次执行 kubectl create -f pod.xml 命令,抛出错误,如下:
kubectl create -f pod.xml
Error from server (AlreadyExists): error when creating “pod.xml”: pods “my-pod” already exists
kubectl apply
使配置在资源上生效。 这里分为两种情况,如下:
-
资源本不存在:
创建新资源。
-
资源已存在:
使配置在已存在的资源上生效(也就是更新资源的配置)。若配置没变化,则对应的资源也不会有什么改变。
第 1 次执行 kubectl apply -f pod.xml 命令,显示 created,如下:
kubectl apply -f pod.xml
pod/my-pod created
第 2 次执行 kubectl apply -f pod.xml 命令,由于配置没改变,则显示 unchanged ,如下:
kubectl apply -f pod.xml
pod/my-pod unchanged
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器