kubectl更新映象和回滾命令

2022-01-19 20:38:19 字數 2267 閱讀 5405

目錄使用kubernetes 進行公升級的時候並不需要停止業務,kubectl 支援滾動公升級的方式,每次更新乙個pod,而不是同時刪除整個服務。

kind: deployment

metadata:

name: hello-nginx

spec:

selector:

matchlabels:

name: nginx

replicas: 3

template:

metadata:

labels:

name: nginx

spec:

containers:

- name: hello-nginx

image: nginx:1.7.9

imagepullpolicy: ifnotpresent

ports:

- containerport: 80

可以不用使用yml配置檔案, 直接替換映象版本

# kubectl set image deployment  =kubectl --kubeconfig config-lego-test  set image deployment/hello-nginx hello-nginx=nginx:1.9.2
我們可以通過設定docker:lasttag的方式, 回滾到上乙個映象. 但k8s本身也支援版本記錄和回滾.

[root@localhost .kube]# kubectl --kubeconfig config-my  rollout history deployment hello-nginx

deployment.extensions/hello-nginx

revision change-cause

[root@localhost .kube]# kubectl --kubeconfig config-my rollout history deployment hello-nginx --revision=4

deployment.extensions/hello-nginx with revision #4

pod template:

pod-template-hash=6d5c95fcc5

containers:

hello-nginx:

image: nginx:1.9.2

port: 8080/tcp

host port: 0/tcp

requests:

cpu: 250m

memory: 512mi

environment: mounts: volumes:

比如, 剛才檢視了最近的幾條發布歷史記錄, 現在回滾到上乙個版本, 即revision=3.

[root@localhost .kube]# kubectl --kubeconfig config-lego-test  rollout undo deployment hello-nginx

deployment.extensions/hello-nginx rolled back

[root@localhost .kube]#

[root@localhost .kube]# kubectl --kubeconfig config-lego-test rollout history deployment hello-nginx

deployment.extensions/hello-nginx

revision change-cause

可以發現, revision=3沒了, 多個了乙個revison=5. describe一下, 可以看到, 確實是第3個版本的映象.

除了上面直接回滾到上一次, 也可以指定具體某個版本. 比如回滾到revision=1.

kubectl rollout undo deployment/hello-nginx --to-revision=1
ps: deployment/hello-nginx 表示 deployment hello-nginx

[root@localhost .kube]# kubectl --kubeconfig config-lego-test  rollout status deployment hello-nginx       

deployment "hello-nginx" successfully rolled out

openssh公升級和回滾

公升級有很多教程,但是回滾沒有很詳細的教程,因為回滾操作很少操作,但是生產環境要有預案,雖然我的回滾解決辦法有點蠢,但是沒有時間去研究那摩多,當時,直接把有關原環境資訊cp備份,然後回滾的時候還原。親測可用!wget o openssh 8.4p1.tar.gz wget o zlib 1.2.11...

git回滾版本並更新庫操作

1.git log 檢視提交版本號 2.q退出檢視 3.git reset xx 這裡是版本號,回滾版本 git reset hard hash 返回到某個節點,不保留修改。git reset soft hash 返回到某個節點。保留修改 4.git checkout 回滾版本之後檔案被修改過的還原...

undo回滾段 OCP試驗 1 1更新

undo回滾段原理圖 1,看undo的parameter undo management 是auto 還有manual 自動模式下需要撤銷表空間undo tablespace undotbs1 manual下不是這樣,manual手工下需要手工建立回滾rollback。刪除表emp scott se...