kubectl --save-config 和--record

33 篇文章 7 订阅
本文介绍了kubectlapply命令的--save-config选项和--record选项在Kubernetes中的作用。--save-config用于在更新部署时保存配置,方便后续的声明式管理;--record则记录每次更新,允许进行应用回滚。通过示例展示了如何使用这两个选项进行应用更新、查看历史版本和回滚操作。
摘要由CSDN通过智能技术生成

1、--save-config

为什么需要使用kubctl apply保存配置?

kubectl apply <file.yaml> --save-config创建或更新部署,并将部署另存为元数据。

文件上说
--save-config[=false]:如果为true,则当前对象的配置将保存在其注释中。当您将来要对此对象执行kubectl apply时,这非常有用。

为什么我需要save-config?如果不使用--save-config,我仍然可以使用kubectl apply更新部署。

kubectl apply

kubectl apply使用注解kubectl.kubernetes.io/last-applied-configuration中的数据来查看自上次应用以来是否有任何字段被删除。这是必要的,因为某些字段或注释可能已通过控制器或变异的webhook实时添加到集群中。

例如,请参见了解Kubectl Apply命令

如果我不--save-config,我仍然可以使用kubectl apply更新部署

是的,--save-config仅在从命令式工作流迁移时使用。详见下文。以下kubectl apply命令不需要--save-config标志,因为注释已经存在。

kubectl工作流

使用Kubernetes的配置时,可以通过多种方式完成,它们都是命令式或声明式的:

  • Managing Kubernetes Objects Using Imperative Commands
  • Kubernetes Objects Using配置文件的强制管理
  • Kubernetes Objects Using配置文件的声明式管理

kubectl apply用于声明性配置管理。

从命令式到声明式配置管理的迁移

kubectl--save-config标志一起使用是一种向kubectl apply使用的注释kubectl.kubernetes.io/last-applied-configuration写入配置的方法。这在从命令式工作流迁移到声明式工作流时非常有用。

  • 从命令式命令管理迁移到声明式对象配置
  • 从命令式对象配置迁移到声明式对象配置

2、--record

k8s的应用回滚--record

kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision。
默认配置下,Kubernetes 只会保留最近的几个 revision,可以在 Deployment 配置文件中通过 revisionHistoryLimit 属性增加 revision 数量。
使用也很简单,在更新的时候加上--record就可以了。

命令

记录版本
kubectl apply -f xxx.yaml --record
查看 revison
kubectl rollout history deployment $dp_name -n $namespaces
回滚
kubectl rollout undo deployment $dp_name --to-revision=1
注意:
record类似一个栈,先执行的apply会放到记录的最下端。也就是说你的上一个版本一定是2.
record记录的是apply的命令,所以如果每次执行的命令是一样的话,会覆盖掉。

实验

1、如下做三个httpd的yaml,分别为httpd.v1.yml,httpd.v2.yml 和 httpd.v3.yml,分别对应不同的 httpd 镜像 2.4.16,2.4.17 和 2.4.18:

2、通过 kubectl apply 更新应用

kubectl apply -f httpd.v1.yml --record
kubectl apply -f httpd.v2.yml --record
kubectl apply -f httpd.v3.yml --record

3、查看版本

kubectl rollout history deployment httpd

4、回滚
kubectl rollout undo deployment httpd --to-revision=1

转载至https://www.5axxw.com/questions/content/gr7qm8

https://www.cnblogs.com/zhaobowen/p/13371105.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值