このページでは、Google Distributed Cloud(GDC)エアギャップ アプライアンスのブレードをシャットダウンして再起動する方法について説明します。たとえば、ブレードを維持するためにデバイスを移動する場合などです。
始める前に
続行する前に、すべてのワークロードを停止してください。シャットダウン中にワークロードがアクティブな場合に何が起こるかは保証できません。
すべてのブレードをシャットダウンする場合は、デバイスをシャットダウンするの手順に沿って操作します。この手順に沿って操作する場合は、1 つのブレードのみをシャットダウンし、Google Distributed Cloud(GDC)エアギャップ アプライアンスを 2 つのアクティブなブレードで実行したままにします。
前提条件
- このランブックは、Google Distributed Cloud(GDC)エアギャップ アプライアンスのネットワークに接続されたノートパソコンまたはワークステーションで実行できます。または、デバイスを接続するの手順に沿って、ノートパソコンまたはワークステーションをスイッチに接続することもできます。
- ルート管理者クラスタの Kubeconfig にアクセスできることを確認します。
export KUBECONFIG=<path to kubeconfig>
を実行して、正しい KUBECONFIG 環境変数を設定します。
ブレードをシャットダウンする
kubectl get nodes -A
を実行して、ノード情報を取得します。シャットダウンするブレードのNODE_NAME
を決定します。シャットダウンするブレードに対して次のコマンドを実行して、BareMetalHost の同期を一時停止します。
kubectl annotate bmhost -n gpc-system NODE_NAME "baremetalhost.metal3.io/paused=true" --overwrite
このコマンドの出力例は次のとおりです。
baremetalhost.metal3.io/**-**-bm** annotated
ターゲット ノードを閉鎖します。
kubectl cordon NODE_NAME
出力例:
node/**-**-bm** cordoned
ターゲット ノードをドレインします。
kubectl drain NODE_NAME --delete-emptydir-data --grace-period 900 --ignore-daemonsets --disable-eviction
出力例:
node/**-**-bm** already cordoned WARNING: ignoring DaemonSet-managed Pods: kube-system/anetd-krj2z, kube-system/etcd-defrag-xh469, kube-system/ipam-controller-manager-2f4dz, kube-system/istio-cni-node-cgqv4, kube-system/kube-proxy-5mwf2, kube-system/localpv-mn2jh, kube-system/metallb-speaker-6l7sv, mon-system/mon-node-exporter-backend-nd8mp, netapp-trident/netapp-trident-node-linux-rrlmd, obs-system/anthos-audit-logs-forwarder-tpfqv, obs-system/anthos-log-forwarder-npjh4, obs-system/kube-control-plane-metrics-proxy-wp8nh, obs-system/log-failure-detector-crbnv, obs-system/oplogs-forwarder-sqwvj, vm-system/macvtap-v9pgp, vm-system/virt-handler-86khx pod/grafana-0 deleted pod/capi-kubeadm-bootstrap-controller-manager-1.30.400-gke.136lvgtf deleted pod/grafana-0 deleted pod/grafana-proxy-server-86d8fc4758-mkc4f deleted . . .
ターゲット ノードを正常にシャットダウンします。
iLO を使用して
NODE_NAME
をオフにするには:iLO にアクセスするための認証情報を取得します。
ユーザー名を取得します。
kubectl get secret bmc-credentials-NODE_NAME -n gpc-system -o jsonpath="{.data.username}" | base64 --decode
パスワードを取得します。
kubectl get secret bmc-credentials-NODE_NAME -n gpc-system -o jsonpath="{.data.password}" | base64 --decode
BMC-IP
列の値からNODE_NAME
のBMC-IP
アドレスを取得します。kubectl get servers -A
前の手順で取得した
BMC-IP
アドレスにアクセスし、取得したユーザー名とパスワードを入力してログインします。上段の最初のボタンにカーソルを合わせます。
Power: ON
が表示されます。クリック、プルダウン メニューが表示されるので、Momentary Press
というラベルの付いた最初の項目をクリックします。ボタンの色が緑からオレンジに変わり、ノードがシャットダウン中であることを示します。ボタンの色が黄色に変わるまで待ちます。これは、マシンが電源オフになったことを示します。数分かかります。
調整が完了するまで 30 分待ちます。
ブレードを再起動する
このセクションでは、以前にシャットダウンしたブレードを起動する手順について説明します。
前提条件
このランブックは、Google Distributed Cloud(GDC)エアギャップ アプライアンスのネットワークに接続されたノートパソコンまたはワークステーションで実行できます。または、デバイスを接続するの手順に沿って、ノートパソコンまたはワークステーションをスイッチに接続することもできます。ルート管理者クラスタの Kubeconfig にアクセスできることを確認します。export KUBECONFIG=<path to kubeconfig>
を実行して、正しい KUBECONFIG 環境変数を設定します。
アクション プラン
ブレードの電源ボタンを押します。ブレードの電源が入ったら、コントロール プレーンが接続されるまで数分待ちます。
kubectl
は 30 分以内にコントロール プレーンに接続できる必要があります。kubectl get nodes -A
を実行して、ターゲット ノードの名前を特定します。ターゲット ノードの閉鎖を解除して、スケジューリングを有効にします。
kubectl uncordon `NODE_NAME`
ターゲット ノードの BareMetalHost の同期を再開します。
kubectl annotate bmhost -n gpc-system NODE_NAME "baremetalhost.metal3.io/paused=false" --overwrite
調整が完了するまで 30 分待ちます。