ローリング更新
アプリケーションはコピーのみの小さな一部一度更新し、更新が成功し、その後、更新より多くのコピー、アップデートの最終完了のすべてのコピーです。ローリングの利点を更新:ゼロダウンタイムは、全体の更新プロセスのコピーは、このようにビジネスの継続性を確保し、実行している常にあります。
1、3つのコピーからhttpdサービス、httpdのように初期画像作成:2.2.31をして、httpdを更新するためにスクロール:2.2.32
###猫httpd.yaml ### apiVersion:アプリケーション / v1beta2 種類:展開 メタデータ: 名前:httpdの スペック: レプリカ:3 セレクタ: matchLabels: アプリ:httpdの テンプレート: メタデータ: ラベル: アプリ:httpdの スペック: コンテナ: - 名前:httpdの 画像:HTTPD:2.2。31 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
二、回滚