Contrail Cloud v16.2 へのアップグレード
以下の手順は、Contrail Cloud v16.2 へのアップグレードをガイドします。これにより、アップグレードされた Contrail コンテナ、Red Hat RHEL/RHOSP/ストレージ コンテンツ、カーネル バージョンが提供されます。
メモ:
アップグレード中は、サービスが大きく中断されます。アップグレードプロセス中は、サービス全体が停止します。アップグレード プロセスを完了するために、長時間の中断を計画します。アップグレードにより、既存のオーバークラウド構成が保持されます。たとえば、イメージ、プロジェクト、ネットワーク、ボリューム、仮想マシンなどです。
Contrail ユーザー(ルートから)は、su - contrail ジャンプ ホストから CLI で次のスクリプトを実行します。
- Jump ホストをアップグレードする
スクリプトを
contrail-cloud-upgrade-jumphost.sh
実行して、ジャンプ ホストを RHEL 7.9 から 8.2 にアップグレードします。このスクリプトの
contrail-cloud-upgrade-jumphost.sh
実行は、leapp アップグレード中に中断されます。leapp アップグレード プロセスの一環として、ジャンプ ホストが再起動し、その後再起動するたびにスクリプトを再実行する必要があります。/var/lib/contrail_cloud/scripts/contrail-cloud-upgrade-jumphost.sh -d
前のスクリプトの実行から再起動した後、次の手順を実行します。- カーネル情報が
uname -a
正しいことを確認するには、 コマンドを入力します。Jump Host CLI から:uname -a
- コマンドを
cat /etc/redhat-release
入力して、RHEL バージョンが RHEL v8.2 であることを確認します。Jump Host CLI から:cat /etc/redhat-release
- ジャンプ ホストの再起動とバージョン検証の後、スクリプトを 2 回目に再実行してください。
/var/lib/contrail_cloud/scripts/contrail-cloud-upgrade-jumphost.sh -d
これにより、以下が実現します。- ジャンプ ホスト上のパッケージとコンテナーを更新します。
- ジャンプ ホストを再起動した後、スクリプトを 3 回目と最後に再実行してください。
/var/lib/contrail_cloud/scripts/contrail-cloud-upgrade-jumphost.sh -d
これにより、以下が実現します。- ジャンプホストでyupクリーンアップを実行します。
- カーネル情報が
- アンダークラウドをアップグレードする
このスクリプトを実行して、ジャンプ ホスト上のアンダークラウド仮想マシン(VM)をアップグレードします。このプロセスでは、オーバークラウドのアップグレードのためにアンダークラウドを準備し、新しいイメージをプルして、アンダークラウド サービスをコンテナに再配置します。
/var/lib/contrail_cloud/scripts/contrail-cloud-upgrade-undercloud.sh -d
これにより、以下が実現します。
- アンダークラウド VM 上のパッケージとコンテナを更新します。
- アンダークラウド VM で Red Hat OpenStack Platform Director を更新し、オーバークラウド コンテナを含むレジストリを整理します。
- 新しいオーバークラウド ロール インスタンスすべてをプロビジョニングするために使用する、アンダークラウド VM のイメージを更新します。
- オーバークラウドイメージフルはアップグレードされ、新しいオーバークラウドロールインスタンスのプロビジョニングに使用されます。
- アップグレードに向けて Contrail クラウドを準備する。
このスクリプトを実行して、ネットワーク設定のアップグレード、再登録のための新しいスクリプトの準備、およびアップグレード用の RHOSP コントロール プレーンの準備を行います。
/var/lib/contrail_cloud/scripts/pre-contrail-cloud-upgrade-overcloud.sh -d
これにより、以下が実現します。
- STONITH を無効にします。
- Leapp ファイルを再同期します。
- アップグレードのためにノード構成を調整するオーバークラウドの修正を適用します。
- アップグレードのために Overcloud と RHOSP コントロール プレーンを準備します。
スクリプトを実行して、RHOSPコントロールプレーンとOpenStack overcloudをアップグレードするための準備をします。
/var/lib/contrail_cloud/scripts/contrail-cloud-upgrade-overcloud-step1.sh -d
これにより、以下が実現します。
- を実行
openstack overcloud upgrade prepare
して、オーバークラウドのアップグレードに必要な Ansible 構成を生成します。
- を実行
- オーバークラウド バッチ アップグレードを実行します。
すべてのバッチが正常にアップグレードされ、処理する名前付きバッチがもう残らなくなるまで、各名前付きバッチのアップグレードスクリプトを実行します。このスクリプトは、1 回の実行ですべての名前付きバッチを自動的に実行するわけではありません。アップグレード スクリプトは、固有の名前付きバッチごとに手動で実行する必要があります。
/var/lib/contrail_cloud/scripts/contrail-cloud-upgrade-overcloud-step2.sh -d
オーバークラウドのアップグレード( contrail-cloud-upgrade-overcloud-step2.sh)により、以下が実行されます。- config/site.ymlファイルに設定されている と で定義
upgrade_plan['batches'][<batch>]['nodes_list']
されているすべてのノードをアップグレードします。 - バッチ
upgrade_type
に従ってノードパッケージとコンテナをアップグレードします。- 並列 = 同時にすべて。
- シーケンス = 一度に 1 つずつ
- スクリプト実行
upgrade_plan
ごとに1つのバッチをアップグレードします。 - バッチが処理されると、ロックファイルが自動的に作成されます。このようにして、次回スクリプトを実行するときに次のバッチに進む必要があります。
- アップグレードするバッチが残らなくなるまでスクリプトを再実行します。
- config/site.ymlファイルに設定されている と で定義
- クラウド上のアップグレードを統合
このスクリプトを実行して、クラウド上のヒート スタックを収束し、Ceph をバージョン 3 からバージョン 4 にアップグレードします(Ceph が有効になっている場合)。
/var/lib/contrail_cloud/scripts/contrail-cloud-upgrade-overcloud-step3.sh -d
これにより、以下が実現します。
- スタック リソース構造が新しいパッケージや構成と一致していることを確認します。
- クラウドを統合して実行
openstack overcloud upgrade converge
してタスクを完了します。 - Ceph クラスタ設定をアップグレードし、タスクを完了するために実行
openstack overcloud external-upgrade run –tags ceph
します。 - オーバークラウドの更新を確定します。