この項では、Oracle Linux Cloud Native EnvironmentでバックアップからKubernetesノードをリストアする方法について説明します。
ここに示すリストア手順は、障害時リカバリ・シナリオの一環として1つ以上のKubernetesマスター・クラスタを再構築するときに使用することを意図しています。完全なクラスタ障害が発生したとき以外は、レプリケーションとフェイルオーバーによる自己回復が可能な高可用性クラスタでは、マスター・ノードを個別に手動でリカバリする必要はありません。
マスター・ノードをリストアするには、すでにOracle Linux Cloud Native Environmentが存在していることと、デプロイ済のKubernetesモジュールが必要です。存在していない環境はリストアできません。
マスター・ノードをリストアするには:
代替マスター・ノードでPlatform Agentが適切に実行されていることを確認してから、作業を進めてください。
$
sudo systemctl status olcne-agent
オペレータ・ノードで、olcnectl module restoreコマンドを使用して、クラスタ内のマスター・ノードに対応する主要なコンテナとマニフェストをリストアします。次に例を示します。
$
olcnectl module restore --environment-name myenvironment --name mycluster
/var/olcne/backups/
にある最新のタイムスタンプが付いたファイルが使用されて、クラスタが以前の状態にリストアされます。environment-name
/kubernetes/module-name
/前提要件を満たすために、Platform CLIによりマスター・ノードに対する追加の設定手順を実行するように求められることがあります。その場合は、その指示に従って、olcnectl module restoreコマンドを再実行してください。
リストア操作が成功したことは、マスター・ノードでkubectlコマンドを使用すると検証できます。次に例を示します。
$
kubectl get nodes
NAME STATUS ROLES AGE VERSION master1.example.com Ready master 9m27s v1.17.x+x.x.x.el7 worker1.example.com Ready <none> 8m53s v1.17.x+x.x.x.el7 $kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE coredns-5bc65d7f4b-qzfcc 1/1 Running 0 9m coredns-5bc65d7f4b-z64f2 1/1 Running 0 9m etcd-master1.example.com 1/1 Running 0 9m kube-apiserver-master1.example.com 1/1 Running 0 9m kube-controller-master1.example.com 1/1 Running 0 9m kube-flannel-ds-2sjbx 1/1 Running 0 9m kube-flannel-ds-njg9r 1/1 Running 0 9m kube-proxy-m2rt2 1/1 Running 0 9m kube-proxy-tbkxd 1/1 Running 0 9m kube-scheduler-master1.example.com 1/1 Running 0 9m kubernetes-dashboard-7646bf6898-d6x2m 1/1 Running 0 9m