このページでは、切断モードで実行される Anthos をアップグレードする方法について説明します。
管理クラスタと Anthos Management Center のアップグレード
インフラストラクチャ オペレータは、管理クラスタと Management Center、およびそのコンポーネントをアップグレードできます。
環境の準備
次のコマンドを実行して、新しいリリースをダウンロードし、実行権限を設定します。
cd ~/ # Download the script which helps download all the latest components export VERSION=UPGRADE_VERSION # Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.9/installing/infrastructure#download export INSTALLER_DIGEST= export INSTALLER=get-anthos-private-mode-$VERSION.sh gsutil cp gs://anthos-private-mode-release/$VERSION/$INSTALLER . if [[ -n "$INSTALLER_DIGEST" ]]; then echo "$INSTALLER_DIGEST $INSTALLER" | sha256sum -c; fi && chmod +x $INSTALLER && ./$INSTALLER # Note: ~/anthos-baremetal-private-mode should point to the new version. ls -al anthos-baremetal-private-mode cd ~/anthos-baremetal-private-mode
UPGRADE_VERSION
は、アップグレード後の新しいバージョンに置き換えます。次のコマンドを使用して、新しいイメージをプライベート レジストリにアップロードします。必ずバージョン UPGRADE_VERSION の
actl
を使用してください。actl images push --private-registry=${PRIVATE_REGISTRY} \ --images ~/anthos-baremetal-private-mode
アップロード プロセスにより、レジストリにすでに存在しているイメージは自動的にスキップされます。
管理クラスタのアップグレード
管理クラスタをアップグレードするには、管理クラスタ構成ファイルに対して次の変更のみを行ってから、actl clusters baremetal upgrade
コマンドを実行してアップグレードを完了します。
クラスタ構成管理 YAML ファイルで、バージョン文字列を更新し、
baremetal.cluster.gke.io/private-mode: "true"
アノテーションを追加します。apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: admin namespace: cluster-admin annotations: baremetal.cluster.gke.io/private-mode: "true" spec: anthosBareMetalVersion: VERSION
VERSION
は、新しいベアメタル版 Anthos のバージョン番号に置き換えます。次のコマンドを実行して、管理クラスタを更新します。必ずバージョン UPGRADE_VERSION の
actl
を使用してください。actl clusters baremetal upgrade admin --kubeconfig=ADMIN_KUBECONFIG
アップグレードの完了には約 15~20 分かかりますが、クラスタのサイズによってはさらに時間がかかる場合があります。
Management Center のアップグレード
インフラストラクチャ オペレータは、Management Center 全体をアップグレードすることも、個々のサブコンポーネントをアップグレードすることもできます。
オプション 1: Management Center 全体をアップグレードする
インフラストラクチャ オペレータは、Management Center そのものを含め、Management Center のすべてのコンポーネントをアップグレードできます。
Management Center のバージョンを確認して、古いバージョンであることを確認します。
kubectl get AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
ADMIN_KUBECONFIG は、管理クラスタ用 kubeconfig ファイルのパスに置き換えます。
省略可: アップグレードに関するプリフライト チェックを実行します。
actl platform management-center upgrade --preflight-check-only --kubeconfig=ADMIN_KUBECONFIG
アップグレードを開始します(完了するまでに通常 10~15 分ほどかかります)。
actl platform management-center upgrade --kubeconfig=ADMIN_KUBECONFIG
Management Center のバージョンを確認して、バージョンが更新されていることを確認します。
kubectl get AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
オプション 2: 個別のコンポーネントをアップグレードする
インフラストラクチャ オペレータは、Management Center で実行される特定のコンポーネントのアップグレードを管理できます。バージョン 1.9 以降では、Anthos Config Management オペレータ、Anthos Service Mesh オペレータ、ベアメタル版 Anthos の 3 つのコンポーネントを個別にアップグレードできます。
コンテナ レジストリにイメージをアップロードしたら、新しいリリースで配送されたパッケージの仕様を公開する必要があります。たとえば、Anthos Config Management 演算子と Anthos Service Mesh 演算子のパッケージ仕様については、services/
をご覧ください。
新しい Anthos Config Management 演算子のパッケージ仕様を適用します。
kubectl apply -f ~/anthos-baremetal-private-mode/services/anthos-config-management/package-spec.yaml \ --kubeconfig=ADMIN_KUBECONFIG
Anthos Config Management オペレータの現在のコンポーネント ステータスを確認します。
kubectl get adminoperator admin-operator \ --kubeconfig=ADMIN_KUBECONFIG \ -ojsonpath='{.status.components[?(@.name=="anthos-config-management")]}'
このコマンドにより、現在のバージョンに
1.9.X
、現在のバージョン制約に<=1.9.X
が得られるとします。{"name":"anthos-config-management","version":"1.9.X","versionConstraint":"<=1.9.X"}
新しいバージョンを有効にするには、Admin Operator オブジェクトでバージョンの制約を編集します。
kubectl edit AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
エディタで、
spec.updateConfigOverride.policies
の下にある更新ポリシーを見つけて、それに応じてコンポーネントのバージョンを上げます。spec.updateConfigOverride
が省略されているか、構造体値({}
)が空の場合は、次のようにポリシーを追加します。spec: updateConfigOverride: policies: - name: anthos-config-management versionConstraint: <=1.9.Y
オーバーライドを追加すると、Management Center により、変更がロールアウトされ、新しいバージョンの Anthos Config Management オペレーターが反映されます。
次のコマンドを実行して、新しいバージョンのロールアウトをモニタリングします。新しいバージョンは、以前の 1.9.X
から 1.9.Y
に変更されます。
kubectl get adminoperator admin-operator \
--kubeconfig=ADMIN_KUBECONFIG \
-ojsonpath='{.status.components[?(@.name=="anthos-config-management")].version}' \
--watch
ロールアウトが完了すると、プラットフォーム管理者が Management Center を通じて新しい Anthos Config Management 演算子を使用できるようになります。
ユーザー クラスタのアップグレード
プラットフォーム管理者は、actl
コマンドライン ツール、Management Centerを使用、または API を通してユーザー クラスタを更新できます。
actl
次のコマンドを実行して、ユーザー クラスタを更新します。
actl clusters baremetal upgrade CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG
Console
- Management Center コンソールで、[ダッシュボード] メニューに移動します。
- [Upgrades] タブをクリックして、利用可能なすべてのアップグレードを表示します。
- アップグレードするクラスタの [View Upgrades] をクリックします。
- [Upgrade] をクリックして、バージョン、説明、リリースノートへのリンクなど、アップグレードの詳細を確認します。
- [次へ] をクリックして確定します。
- [Upgrade] をクリックして、クラスタのアップグレードを開始します。
アップグレードが完了するまでは、アップグレード リストのエントリに Upgrade in progress
と表示されます。
API
ユーザー クラスタは、Cluster
リソースのバージョン文字列を変更することでアップグレードできます。
次のコマンドを実行して、ユーザー クラスタの
Cluster
リソースを編集します。kubectl edit cluster CLUSTER_NAME -n cluster-CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG
spec.anthosBareMetalVersion
のバージョン文字列を更新すると、コントローラがアップグレードで機能します。apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: CLUSTER_NAME namespace: cluster-CLUSTER_NAME annotations: baremetal.cluster.gke.io/private-mode: "true" spec: type: user anthosBareMetalVersion: VERSION
VERSION
は、新しいベアメタル版 Anthos のバージョン番号に置き換えます。
次のステップ
- Anthos Management Center のインストールについて学習する。