(转)Kubernetes: kubectl create与kubectl apply的区别
背景:
创建一个k8s资源的时候可以使用 kubectl create 也可以使用 kubectl apply,到底有什么区别呢?
分析:
1.官方解释
kubectl create和kubectl apply命令之间存在细微差别。
kubectl create命令可创建新资源。 因此,如果再次运行该命令,则会抛出错误,因为资源名称在名称空间中应该是唯一的。
kubectl get pods
No resources found.
kubectl create -f pod.xml
pod/myapp-pod created
kubectl create -f pod.xml
Error from server (AlreadyExists): error when creating “pod.xml”: pods “myapp-pod” already exists
2) kubectl apply命令将配置应用于资源。 如果资源不在那里,那么它将被创建。 kubectl apply命令可以第二次运行,因为它只是应用如下所示的配置。 在这种情况下,配置没有改变。 所以,pod没有改变。
kubectl delete pod/myapp-pod
pod “myapp-pod” deleted
kubectl apply -f pod.xml
pod/myapp-pod created
kubectl apply -f pod.xml
pod/myapp-pod unchanged
在kubectl create ,我们指定一个特定的动作,在这种情况下create ,因此它是必要的 。 在kubectl apply命令中,我们指定系统的目标状态,并且不指定特定操作,因此声明性 。 我们让系统决定采取什么行动。 如果资源不在那里,它将创建它,如果资源在那里,那么它将配置应用于现有资源。
从执行的角度来看,如上所示,在kubectl create和kubectl apply之间第一次创建资源时没有区别。 但是,第二次kubectl create会抛出错误。
简单来说,如果在单个文件上运行操作以创建资源,则create和apply基本相同。 但是, apply允许您在目录下的多个文件上同时创建和修补。
还有一个apply于从目录中删除资源但在撰写本文时它处于alpha状态:
kubectl apply -f --prune -l your=label)
参考:
https://stackoverflow.com/questions/47369351/kubectl-apply-vs-kubectl-create
转自:https://blog.csdn.net/textdemo123/article/details/104400985
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2018-11-16 (转)面试必备技能:JDK动态代理给Spring事务埋下的坑!
2016-11-16 CentOS修改mysql 用户root的密码并允许远程登录