我不知道为什么下面的更改原因总是 kubectl create,尽管我运行了不同的 kubectl 命令。第二个修订版应该是“kubectl apply”而不是“kubectl create”,第三个修订版应该是“kubectl set image”。
我正在运行 Kubernetes v1.18.5
[garfield@kubemaster1 Kube]$ kubectl rollout history deployment/myapp-deployment
deployment.apps/myapp-deployment
REVISION CHANGE-CAUSE
1 kubectl create --filename=deployment-definition.yml --record=true
2 kubectl create --filename=deployment-definition.yml --record=true
[garfield@kubemaster1 Kube]$ kubectl set image deployment.apps/myapp-deployment nginx-container=nginx:1.12-perl
deployment.apps/myapp-deployment image updated
[garfield@kubemaster1 Kube]$ kubectl rollout history deployment/myapp-deployment
deployment.apps/myapp-deployment
REVISION CHANGE-CAUSE
1 kubectl create --filename=deployment-definition.yml --record=true
2 kubectl create --filename=deployment-definition.yml --record=true
3 kubectl create --filename=deployment-definition.yml --record=true
更新: 我应该在每个
--record
命令的末尾添加 kubectl
我应该在每个 kubectl 的末尾添加 --record 。
添加更多详细信息:
:记录资源中当前的kubectl命令 注解。如果设置为 false,则不记录命令。如果设置为 true,记录命令。如果不设置,默认更新现有的 仅当注释值已存在时。--record
kubectl set image 或 apply 命令默认不记录更改,为了记录它,我们需要设置 --record = true 或只是 --record
但是需要注意的一点是 --record 是从 2018 年开始描述的,K8s 官方文档仍然教导 --record 你可以使用它,直到 K8s 提供替代方案
我和你有同样的问题。
# kubectl set image deployment/nginx-deployment nginx-deployment=nginx:1.9.1
deployment.apps/nginx-deployment image updated
# kubectl rollout history deployment/nginx-deployment
deployment.apps/nginx-deployment
REVISION CHANGE-CAUSE
1 kubectl apply --filename=nginx-deployment.yaml --record=true
2 kubectl apply --filename=nginx-deployment.yaml --record=true