Active Directory コネクタをアップグレードする
この記事では、Active Directory コネクタをアップグレードする方法について説明します。
前提条件
この記事のタスクに進む前に、次が必要になります。
- Kubernetes クラスターに接続して認証すること
- 既存の Kubernetes コンテキストを選択していること
direct
またはindirect
モードのデプロイされた Azure Arc データ コントローラー- デプロイされた Active Directory コネクタ
ツールをインストールする
Active Directory コネクタ (adc) をアップグレードするには、kubectl などの Kubernetes ツールがインストールされている必要があります。
この記事の例では kubectl
を使用しますが、Kubernetes ダッシュボード、oc
、helm などの Kubernetes の他のツールや Kubernetes yaml/json を使い慣れている場合は、それらのツールでも同様のアプローチを使用できます。
制限事項
Active Directory コネクタの自動アップグレードは imageTag v1.12.0_2022-10-11
以降から適用され、Arc データ コントローラーは少なくとも v1.11.0_2022-09-13
バージョンである必要があります。
データ コントローラーをアップグレードする前に、Active Directory コネクタ (adc) をデータ コントローラーと同じバージョンにする必要があります。
現時点では、バッチ アップグレード プロセスは使用できません。
以前のバージョンの Active Directory コネクタをアップグレードする
imageTag バージョンが v1.11.0_2022-09-13
以下の場合、Active Directory コネクタは次のように手動でアップグレードする必要があります。
kubectl コマンドを使用し、yaml の既存の仕様を表示します。
kubectl get adc <adc-name> --namespace <namespace> --output yaml
kubectl パッチを実行し、目的のバージョンを更新します。
kubectl patch adc <adc-name> --namespace <namespace> --type merge --patch '{"spec": {"update": {"desiredVersion": "v1.11.0_2022-09-13"}}}'
モニター
kubectl を使用して、次のようにアップグレードの進行状況を監視できます。
kubectl describe adc <adc-name> --namespace <namespace>
出力
コマンドの出力に、リソース情報が表示されます。 状態にアップグレード情報が示されます。
アップグレード中は、State
に Updating
が表示されます。Running Version
は現在のバージョンになります。
Status:
Last Update Time: 2022-09-20T16:01:48.449512Z
Observed Generation: 1
Running Version: v1.10.0_2022-08-09
State: Updating
アップグレードが完了すると、State
に Ready
が表示されます。Running Version
は新しいバージョンになります。
Status:
Last Update Time: 2022-09-20T16:01:54.279612Z
Observed Generation: 2
Running Version: v1.11.0_2022-09-13
State: Ready
トラブルシューティング
目的のバージョンが特定のバージョンに設定されている場合、ブートストラップ ジョブでは成功するまでそのバージョンへのアップグレードが試行されます。 アップグレードが成功すると、仕様の RunningVersion
プロパティが新しいバージョンに更新されます。 イメージ タグが正しくない、レジストリまたはリポジトリに接続できない、コンテナーに割り当てられた CPU またはメモリが不足している、ストレージが不足しているなどのシナリオでは、アップグレードが失敗する可能性があります。
次のコマンドを実行して、いずれかのポッドで
Error
状態が表示されているか、または再起動回数が多くなっているかを確認します。kubectl get pods --namespace <namespace>
イベントを調べてエラーがあるかどうかを確認するには、以下を実行します
kubectl describe pod <pod name> --namespace <namespace>
ポッド内のコンテナーの一覧を取得するには、以下を実行します
kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
コンテナーのログを取得するには、以下を実行します
kubectl logs <pod name> <container name> --namespace <namespace>
一般的なエラーとそのトラブルシューティング方法を確認するには、「トラブルシューティング リソース」を参照してください。