2025年kubectl apply命令(kubectl apply -f)

kubectl apply命令(kubectl apply -f)1 gt 命令式对象管理 直接使用命令去操作 kubernetes 资源 2 gt 命令式对象配置 通过命令配置和配置文件去操作 kubernetes 资源 3 gt 声明式对象配置 通过 apply 命令和配置文件去操作 kubemetes 资源 kubectl 命令 kubectl 是 kubernetes 集群的命令行工具 通过它能够对集群本身进行管理

大家好,我是讯享网,很高兴认识大家。



1>. 命令式对象管理∶直接使用命令去操作kubernetes资源

 

讯享网

2>. 命令式对象配置∶通过命令配置和配置文件去操作kubernetes资源

讯享网

3>. 声明式对象配置∶通过apply命令和配置文件去操作kubemetes资源

 

在这里插入图片描述
讯享网

kubectl命令:kubectl是kubernetes集群的命令行工具,通过它能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。kubectl命令的语法如下∶

讯享网

我们以一个namespace / pod的创建和删除演示kubectl命令的使用:

 

1>. 创建一个nginxpod.yml,内容如下:

讯享网

注意:如果yaml文件中要操作namspace就可以使用以下命令来查看帮助:

 

注意:如果yaml文件中要操作pod就可以使用以下命令来查看帮助:

讯享网

2>. 指定create命令,创建资源:

 

总结:命令式对象配置的方式造作资源,可以简单地认为:命令+yaml配置文件(配置文件中是命令需要的各种参数)。

声明式对象配置跟命令式对象配置很相似,但是他只有一个命令叫apply 。

1.3.1 单个配置件

讯享网

总结:声明式对象配置就是使用apply描述一个资源最终的状态(在yaml中定义状态)使用apply操作资源

  • 如果资源不存在,就,相当于kubectl create
  • 如果资源已存在,就,相当于kubectl patch

1.3.2 多个配置文件或目录

如果我们想应用某个目录下的所有配置文件,可以使用kubectl apply命令并指定该目录的路径。以下是一个应用目录的示例:

 

1.3.3 kubectl apply的优势

1.3.3.1 通过diff方式进行更新

使用kubectl apply命令更新现有资源对象时,它会对新的配置文件和现有的资源对象进行比较,并根据差异更新资源对象。这意味着kubectl apply可以实现部分更新,并且只会更新需要更新的字段,而不会重置资源对象的其他配置。

如果命令 创建的pod已存在,则报错:

讯享网

此外,支持部分修改,是相对于 来说的, 不支持部分修改,参见 【k8s】kubectl replace命令。

1.3.3.2支持批量操作

使用命令可以同时应用多个配置文件,并创建多个资源对象。这使得kubectl apply非常适合批量操作资源对象。

命令也允许目录形式,即同时应用多个文件!

1.3.3.3 支持灰度发布

命令可以部分更新资源对象的配置,这意味着它非常适合进行灰度发布。例如,我们可以通过部分更新一个对象的配置来实现灰度发布,这样我们就可以逐步将新版本的应用程序推向生产环境。

如果create命令 带入2个文件作为入参,则报错:

 

  • 创建/更新资源:使用声明式对象配置 kubectl apply -f xxx.yaml。
  • 删除资源:使用命令式对象配置 kubectl delete -f xxx.yaml。
  • 查询资源:使用命令式对象管理 kubectl get(describe) 资源名称

k8s-资源管理

小讯
上一篇 2025-06-09 09:56
下一篇 2025-04-16 23:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/154259.html