16.5. コントローラーノード置き換えのトリガー
古いコントローラーノードを削除して新規コントローラーノードに置き換えるには、以下の手順を実施します。
手順
削除するノードの UUID を把握し、それを
NODEID変数に保管します。NODE_NAME は、削除するノードの名前に置き換えてください。NODEID=$(openstack server list -f value -c ID --name NODE_NAME)
$ NODEID=$(openstack server list -f value -c ID --name NODE_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Heat リソース ID を特定するには、以下のコマンドを入力します。
openstack stack resource show overcloud ControllerServers -f json -c attributes | jq --arg NODEID "$NODEID" -c '.attributes.value | keys[] as $k | if .[$k] == $NODEID then "Node index \($k) for \(.[$k])" else empty end'
$ openstack stack resource show overcloud ControllerServers -f json -c attributes | jq --arg NODEID "$NODEID" -c '.attributes.value | keys[] as $k | if .[$k] == $NODEID then "Node index \($k) for \(.[$k])" else empty end'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容で環境ファイル
~/templates/remove-controller.yamlを作成し、削除するコントローラーノードのノードインデックスを含めます。parameters: ControllerRemovalPolicies: [{'resource_list': ['NODE_INDEX']}]parameters: ControllerRemovalPolicies: [{'resource_list': ['NODE_INDEX']}]Copy to Clipboard Copied! Toggle word wrap Toggle overflow ご自分の環境に該当するその他の環境ファイルと共に
remove-controller.yaml環境ファイルを指定して、オーバークラウドデプロイメントコマンドを入力します。(undercloud) $ openstack overcloud deploy --templates \ -e /home/stack/templates/remove-controller.yaml \ -e /home/stack/templates/node-info.yaml \ [OTHER OPTIONS](undercloud) $ openstack overcloud deploy --templates \ -e /home/stack/templates/remove-controller.yaml \ -e /home/stack/templates/node-info.yaml \ [OTHER OPTIONS]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記-e ~/templates/remove-controller.yamlは、デプロイメントコマンドのこのインスタンスに対してのみ指定します。これ以降のデプロイメント操作からは、この環境ファイルを削除してください。director は古いノードを削除して、新しいノードを作成してから、オーバークラウドスタックを更新します。以下のコマンドを使用すると、オーバークラウドスタックのステータスをチェックすることができます。
(undercloud) $ openstack stack list --nested
(undercloud) $ openstack stack list --nestedCopy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメントコマンドの実行が完了すると、director の出力には古いノードが新規ノードに置き換えられたことが表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これで、新規ノードが稼動状態のコントロールプレーンサービスをホストするようになります。