Linuxの運用・保守、インフラ、道路-K8sロールオーバーロールバック

ローリング更新

         アプリケーションはコピーのみの小さな一部一度更新し、更新が成功し、その後、更新より多くのコピー、アップデートの最終完了のすべてのコピーです。ローリングの利点を更新:ゼロダウンタイムは、全体の更新プロセスのコピーは、このようにビジネスの継続性を確保し、実行している常にあります。

1、3つのコピーからhttpdサービス、httpdのように初期画像作成:2.2.31をして、httpdを更新するためにスクロール:2.2.32

###猫httpd.yaml ###  
apiVersion:アプリケーション / v1beta2
種類:展開
メタデータ:
  名前:httpdの
スペック:
  レプリカ:3
  セレクタ:
    matchLabels:
      アプリ:httpdの
  テンプレート:
    メタデータ:
      ラベル:
        アプリ:httpdの
    スペック:
      コンテナ:
      - 名前:httpdの
        画像:HTTPD:2.231
        imagePullPolicy:IfNotPresent#デフォルト値は、引っ張っていない、地元のローカル・ミラーが使用されています
        ポート:
        - containerPort:80

①作成

適用kubectl -f httpd.yaml

②表示

 デプロイメントファイルを変更③更新します

 アプリケーション

適用kubectl -f httpd.yaml --record
--record役割は、我々は、設定ファイルに対応した各revisonを知ることができるように、リビジョン・レコードへの現在のコマンドを記録することです

④再次查看更新后的httpd版本

 ⑤使用命令查看滚动更新详细

kubectl describe deployment httpd

 

 结果:每次只更新替换一个pod副本

⑥使用命令替换镜像

kubectl set image deployments/httpd httpd=httpd:2.2.33

⑦验证如下:

[root@k8s-node1 rolling]# kubectl get deployment -o wide
NAME       DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE       CONTAINERS   IMAGES                       SELECTOR
httpd      3         4         1            3           42m       httpd        httpd:2.2.33                 app=httpd
mtomcat    1         1         1            1           4d        mtomcat      liujixiao/java-demo:latest   app=mtomcat
mynginx    1         1         1            1           9d        mynginx      nginx:latest                 name=mynginx
mytomcat   1         1         1            1           9d        mytomcat     tomcat:8                     app=mytomcat
nginx      1         1         1            1           16d       nginx        nginx:latest                 name=nginx
[root@k8s-node1 rolling]# kubectl get rs -o wide
NAME                 DESIRED   CURRENT   READY     AGE       CONTAINERS   IMAGES                       SELECTOR
httpd-7584b484ff     3         3         3         11m       httpd        httpd:2.2.32                 app=httpd,pod-template-hash=3140604099
httpd-cb5f5c5cb      1         1         0         38s       httpd        httpd:2.2.33                 app=httpd,pod-template-hash=761917176
httpd-fbdc45d78      0         0         0         42m       httpd        httpd:2.2.31                 app=httpd,pod-template-hash=968701834
mtomcat-7d6b5577b9   0         0         0         4d        mtomcat      tomcat:8                     app=mtomcat,pod-template-hash=3826113365
mtomcat-b8d9c579     1         1         1         3d        mtomcat      liujixiao/java-demo:latest   app=mtomcat,pod-template-hash=64857135
mynginx-7659f869f4   1         1         1         9d        mynginx      nginx:latest                 name=mynginx,pod-template-hash=3215942590
mytomcat-698fb6789   1         1         1         9d        mytomcat     tomcat:8                     app=mytomcat,pod-template-hash=254962345
nginx-5bc649579b     1         1         1         5d        nginx        nginx:latest                 name=nginx,pod-template-hash=1672051356
nginx-fd7dc4fbc      0         0         0         16d       nginx        nginx:latest                 name=nginx,pod-template-hash=983870967

二、回滚

 

おすすめ

転載: www.cnblogs.com/yanxinjiang/p/11969717.html