2.2. 手動で管理される認証情報を使用するクラスターを更新する準備
手動で管理される認証情報を使用するクラスターの Cloud Credential Operator (CCO) の Upgradable
ステータスは、デフォルトでは False
です。
-
4.12 から 4.13 などのマイナーリリースの場合は、このステータスを使用することで、権限を更新して
CloudCredential
リソースにアノテーションを付けて権限が次のバージョンの要件に合わせて更新されていることを指定するまで、更新できなくなります。このアノテーションは、Upgradable
ステータスをTrue
に変更します。 - 4.13.0 から 4.13.1 などの z-stream リリースの場合には、権限は追加または変更されないため、更新はブロックされません。
手動で管理される認証情報を使用するクラスターを更新する前に、更新先の OpenShift Container Platform のバージョンのリリースイメージに、新規または変更された認証情報を組み込む必要があります。
2.2.1. 手動で管理される認証情報を使用するクラスターの更新の要件 リンクのコピーリンクがクリップボードにコピーされました!
手動で管理される認証情報を Cloud Credential Operator (CCO) で使用するクラスターを更新する前に、新しいリリースのクラウドプロバイダーリソースを更新する必要があります。
クラスターのクラウド認証情報管理が CCO ユーティリティー (ccoctl
) を使用して設定されている場合、ccoctl
ユーティリティーを使用してリソースを更新します。ccoctl
ユーティリティーなしで手動モードを使用するように設定されたクラスターの場合、リソースを手動で更新する必要があります。
クラウドプロバイダーのリソースを更新したら、クラスターの upgradeable-to
アノテーションを更新して、更新の準備ができていることを示す必要があります。
クラウドプロバイダーリソースと upgradeable-to
アノテーションを更新するプロセスを完了するには、コマンドラインツールを使用する必要があります。
2.2.1.1. プラットフォームタイプ別のクラウド認証情報の設定オプションと更新要件 リンクのコピーリンクがクリップボードにコピーされました!
一部のプラットフォームでは、CCO のモードを 1 つしか使用できません。そのようなプラットフォームにインストールされているクラスターの場合、プラットフォームタイプによって認証情報の更新要件が決まります。
CCO のモードを複数サポートしているプラットフォームの場合、クラスターが使用するように設定されているモードを判別し、その設定に必要なアクションを実行する必要があります。
図2.1 プラットフォームタイプ別の認証情報の更新要件
- Red Hat OpenStack Platform (RHOSP) と VMware vSphere
これらのプラットフォームは、手動モードでの CCO の使用をサポートしていません。これらのプラットフォーム上のクラスターでは、クラウドプロバイダーのリソース変更が自動的に処理され、
upgradeable-to
アノテーションへの更新は必要ありません。これらのプラットフォーム上にあるクラスターの管理者は、更新プロセスの手動で維持された認証情報セクションをスキップする必要があります。
- IBM Cloud と Nutanix
これらのプラットフォームにインストールされたクラスターは、
ccoctl
ユーティリティーを使用して設定されます。これらのプラットフォーム上にあるクラスターの管理者は、以下のアクションを実行する必要があります。
-
新しいリリースの
CredentialsRequest
カスタムリソース (CR) を抽出して準備します。 -
新しいリリースの
ccoctl
ユーティリティーを設定し、それを使用してクラウドプロバイダーリソースを更新します。 -
upgradeable-to
アノテーションで、クラスターの更新準備が完了したことを示します。
-
新しいリリースの
- Microsoft Azure Stack Hub
これらのクラスターは、有効期間の長い認証情報と手動モードを使用し、
ccoctl
ユーティリティーは使用しません。これらのプラットフォーム上にあるクラスターの管理者は、以下のアクションを実行する必要があります。
-
新しいリリースの
CredentialsRequest
カスタムリソース (CR) を抽出して準備します。 - 新しいリリースのクラウドプロバイダーリソースを手動で更新します。
-
upgradeable-to
アノテーションで、クラスターの更新準備が完了したことを示します。
-
新しいリリースの
- Amazon Web Services (AWS)、グローバル Microsoft Azure、Google Cloud Platform (GCP)
これらのプラットフォームにインストールされたクラスターは、複数の CCO モードをサポートします。
必要な更新プロセスは、クラスターが使用するように設定されたモードにより異なります。CCO がクラスターで使用するように設定されたモードが不明な場合は、Web コンソールまたは CLI を使用して判別できます。
2.2.1.2. Web コンソールを使用した Cloud Credential Operator モードの判別 リンクのコピーリンクがクリップボードにコピーされました!
Cloud Credential Operator (CCO) がどのモードを使用するように設定されているかは、Web コンソールを使用して判別できます。
複数の CCO モードをサポートするのは、Amazon Web Services (AWS)、グローバル Microsoft Azure、および Google Cloud Platform (GCP) クラスターのみです。
前提条件
- クラスター管理者パーミッションを持つ OpenShift Container Platform アカウントにアクセスできる。
手順
-
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインします。 -
Administration
Cluster Settings に移動します。 - Cluster Settings ページで、Configuration タブを選択します。
- Configuration resource で CloudCredential を選択します。
- CloudCredential details ページで、YAML タブを選択します。
YAML ブロックで、
spec.credentialsMode
の値を確認します。次の値が可能ですが、すべてのプラットフォームですべてがサポートされているわけではありません。-
''
: CCO はデフォルトモードで動作しています。この設定では、CCO は、インストール中に提供されたクレデンシャルに応じて、ミントモードまたはパススルーモードで動作します。 -
Mint
: CCO はミントモードで動作しています。 -
Passthrough
: CCO はパススルーモードで動作しています。 -
Manual
: CCO は手動モードで動作します。
重要spec.credentialsMode
が''
、Mint
、またはManual
である AWS、GCP、またはグローバル Microsoft Azure クラスターの特定の設定を判断するには、さらに調査する必要があります。AWS および GCP クラスターは、ルートシークレットが削除されたミントモードの使用をサポートします。クラスターが、mint モードを使用するように設定されている場合や、デフォルトで mint モードを使用するように設定されている場合、更新前に root シークレットがクラスターに存在するか確認する必要があります。
手動モードを使用する AWS、GCP、またはグローバル Microsoft Azure クラスターは、AWS STS、GCP Workload Identity、または Microsoft Entra Workload ID を使用してクラスターの外部からクラウド認証情報を作成および管理するように設定されている場合があります。クラスター
Authentication
オブジェクトを調べることで、クラスターがこの戦略を使用しているかどうかを判断できます。-
mint モードのみを使用する AWS または GCP クラスター: クラスターがルートシークレットなしで動作しているかどうかを判断するには、Workloads
Secrets に移動し、クラウドプロバイダーのルートシークレットを探します。 注記Project ドロップダウンが All Projects に設定されていることを確認します。
Expand プラットフォーム シークレット名 AWS
aws-creds
GCP
gcp-credentials
- これらの値のいずれかが表示される場合、クラスターはルートシークレットが存在するミントモードまたはパススルーモードを使用しています。
- これらの値が表示されない場合、クラスターはルートシークレットが削除されたミントモードで CCO を使用しています。
手動モードのみを使用する AWS、GCP、または global Microsoft Azure クラスター: クラスターがクラスターの外部からクラウド認証情報を作成および管理するように設定されているかどうかを判断するには、クラスター
Authentication
オブジェクトの YAML 値を確認する必要があります。-
Administration
Cluster Settings に移動します。 - Cluster Settings ページで、Configuration タブを選択します。
- Configuration resource で Authentication を選択します。
- Authentication details ページで、YAML タブを選択します。
YAML ブロックで、
.spec.serviceAccountIssuer
パラメーターの値を確認します。-
クラウドプロバイダーに関連付けられた URL が含まれる値は、CCO がコンポーネントの短期認証情報を使用して手動モードを使用していることを示します。このクラスターは、クラスター外部からクラウド認証情報を作成および管理するために
ccoctl
ユーティリティーを使用して設定されています。 -
空の値 (
''
) は、クラスターが手動モードで CCO を使用しているが、ccoctl
ユーティリティーを使用して設定されていないことを示します。
-
クラウドプロバイダーに関連付けられた URL が含まれる値は、CCO がコンポーネントの短期認証情報を使用して手動モードを使用していることを示します。このクラスターは、クラスター外部からクラウド認証情報を作成および管理するために
-
Administration
次のステップ
- mint モードまたは passthrough モードで動作する CCO が含まれ、root シークレットが存在するクラスターを更新する場合、クラウドプロバイダーリソースを更新する必要はなく、更新プロセスの次の手順に進むことができます。
- クラスターが、root シークレットが削除された状態で mint モードの CCO を使用している場合、更新プロセスの次の手順に進む前に、管理者レベルの認証情を使用して認証情報シークレットを元に戻す必要があります。
クラスターが CCO ユーティリティー (
ccoctl
) を使用して設定されている場合、次のアクションを実行する必要があります。-
新しいリリースの
CredentialsRequest
カスタムリソース (CR) を抽出して準備します。 -
新しいリリースの
ccoctl
ユーティリティーを設定し、それを使用してクラウドプロバイダーリソースを更新します。 -
upgradeable-to
アノテーションを更新して、クラスターの更新準備が完了していることを示します。
-
新しいリリースの
クラスターが手動モードで CCO を使用しており、
ccoctl
ユーティリティーを使用して設定されていない場合は、以下のアクションを実行する必要があります。-
新しいリリースの
CredentialsRequest
カスタムリソース (CR) を抽出して準備します。 - 新しいリリースのクラウドプロバイダーリソースを手動で更新します。
-
upgradeable-to
アノテーションを更新して、クラスターの更新準備が完了していることを示します。
-
新しいリリースの
2.2.1.3. CLI を使用した Cloud Credential Operator モードの判別 リンクのコピーリンクがクリップボードにコピーされました!
CLI を使用して、Cloud Credential Operator (CCO) が使用するように設定されているモードを判別できます。
複数の CCO モードをサポートするのは、Amazon Web Services (AWS)、グローバル Microsoft Azure、および Google Cloud Platform (GCP) クラスターのみです。
前提条件
- クラスター管理者パーミッションを持つ OpenShift Container Platform アカウントにアクセスできる。
-
OpenShift CLI (
oc
) がインストールされている。
手順
-
cluster-admin
ロールを持つユーザーとしてクラスターのoc
にログインします。 CCO が使用するように設定されているモードを確認するには、次のコマンドを入力します。
oc get cloudcredentials cluster \ -o=jsonpath={.spec.credentialsMode}
$ oc get cloudcredentials cluster \ -o=jsonpath={.spec.credentialsMode}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのプラットフォームですべてがサポートされているわけではありませんが、次の出力値が可能です。
-
''
: CCO はデフォルトモードで動作しています。この設定では、CCO は、インストール中に提供されたクレデンシャルに応じて、ミントモードまたはパススルーモードで動作します。 -
Mint
: CCO はミントモードで動作しています。 -
Passthrough
: CCO はパススルーモードで動作しています。 -
Manual
: CCO は手動モードで動作します。
重要spec.credentialsMode
が''
、Mint
、またはManual
である AWS、GCP、またはグローバル Microsoft Azure クラスターの特定の設定を判断するには、さらに調査する必要があります。AWS および GCP クラスターは、ルートシークレットが削除されたミントモードの使用をサポートします。クラスターが、mint モードを使用するように設定されている場合や、デフォルトで mint モードを使用するように設定されている場合、更新前に root シークレットがクラスターに存在するか確認する必要があります。
手動モードを使用する AWS、GCP、またはグローバル Microsoft Azure クラスターは、AWS STS、GCP Workload Identity、または Microsoft Entra Workload ID を使用してクラスターの外部からクラウド認証情報を作成および管理するように設定されている場合があります。クラスター
Authentication
オブジェクトを調べることで、クラスターがこの戦略を使用しているかどうかを判断できます。-
mint モードのみを使用する AWS または GCP クラスター: クラスターがルートシークレットなしで動作しているかどうかを判断するには、次のコマンドを実行します。
oc get secret <secret_name> \ -n=kube-system
$ oc get secret <secret_name> \ -n=kube-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <secret_name>
は、AWS の場合はaws-creds
、GCP の場合はgcp-credentials
です。ルートシークレットが存在する場合、このコマンドの出力はシークレットに関する情報を返します。エラーは、ルートシークレットがクラスターに存在しないことを示します。
手動モードのみを使用する AWS、GCP、またはグローバル Microsoft Azure クラスター: クラスターの外部からクラウド認証情報を作成および管理するようにクラスターが設定されているかどうかを確認するには、次のコマンドを実行します。
oc get authentication cluster \ -o jsonpath \ --template='{ .spec.serviceAccountIssuer }'
$ oc get authentication cluster \ -o jsonpath \ --template='{ .spec.serviceAccountIssuer }'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、クラスター
Authentication
オブジェクトの.spec.serviceAccountIssuer
パラメーターの値を表示します。-
クラウドプロバイダーに関連付けられた URL の出力は、CCO がコンポーネントの短期認証情報を使用して手動モードを使用していることを示します。このクラスターは、クラスター外部からクラウド認証情報を作成および管理するために
ccoctl
ユーティリティーを使用して設定されています。 -
空の出力は、クラスターが手動モードで CCO を使用しているが、
ccoctl
ユーティリティーを使用して設定されていないことを示します。
-
クラウドプロバイダーに関連付けられた URL の出力は、CCO がコンポーネントの短期認証情報を使用して手動モードを使用していることを示します。このクラスターは、クラスター外部からクラウド認証情報を作成および管理するために
次のステップ
- mint モードまたは passthrough モードで動作する CCO が含まれ、root シークレットが存在するクラスターを更新する場合、クラウドプロバイダーリソースを更新する必要はなく、更新プロセスの次の手順に進むことができます。
- クラスターが、root シークレットが削除された状態で mint モードの CCO を使用している場合、更新プロセスの次の手順に進む前に、管理者レベルの認証情を使用して認証情報シークレットを元に戻す必要があります。
クラスターが CCO ユーティリティー (
ccoctl
) を使用して設定されている場合、次のアクションを実行する必要があります。-
新しいリリースの
CredentialsRequest
カスタムリソース (CR) を抽出して準備します。 -
新しいリリースの
ccoctl
ユーティリティーを設定し、それを使用してクラウドプロバイダーリソースを更新します。 -
upgradeable-to
アノテーションを更新して、クラスターの更新準備が完了していることを示します。
-
新しいリリースの
クラスターが手動モードで CCO を使用しており、
ccoctl
ユーティリティーを使用して設定されていない場合は、以下のアクションを実行する必要があります。-
新しいリリースの
CredentialsRequest
カスタムリソース (CR) を抽出して準備します。 - 新しいリリースのクラウドプロバイダーリソースを手動で更新します。
-
upgradeable-to
アノテーションを更新して、クラスターの更新準備が完了していることを示します。
-
新しいリリースの
2.2.2. 認証情報要求リソースの抽出と準備 リンクのコピーリンクがクリップボードにコピーされました!
Cloud Credential Operator (CCO) を使用するクラスターを手動モードで更新する前に、新しいリリース用の CredentialsRequest
カスタムリソース (CR) を抽出して準備する必要があります。
前提条件
-
仕様している更新バージョンのバージョンに一致する OpenShift CLI (
oc
) をインストールしている。 -
cluster-admin
権限を持つユーザーとしてクラスターにログインしている。
手順
次のコマンドを実行して、適用する更新のプル仕様を取得します。
oc adm upgrade
$ oc adm upgrade
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドの出力には、次のような利用可能な更新のプル仕様が含まれます。
部分的な出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、使用するリリースイメージを
$RELEASE_IMAGE
変数に設定します。RELEASE_IMAGE=<update_pull_spec>
$ RELEASE_IMAGE=<update_pull_spec>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <update_pull_spec>
は、使用するリリースイメージのプル仕様です。以下に例を示します。quay.io/openshift-release-dev/ocp-release@sha256:6a899c54dda6b844bb12a247e324a0f6cde367e880b73ba110c056df6d018032
quay.io/openshift-release-dev/ocp-release@sha256:6a899c54dda6b844bb12a247e324a0f6cde367e880b73ba110c056df6d018032
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、OpenShift Container Platform リリースイメージから
CredentialsRequest
カスタムリソース (CR) のリストを抽出します。oc adm release extract \ --from=$RELEASE_IMAGE \ --credentials-requests \ --included \ --to=<path_to_directory_for_credentials_requests>
$ oc adm release extract \ --from=$RELEASE_IMAGE \ --credentials-requests \ --included \
1 --to=<path_to_directory_for_credentials_requests>
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドにより、それぞれの
CredentialsRequest
オブジェクトに YAML ファイルが作成されます。リリースイメージの各
CredentialsRequest
について、spec.secretRef.namespace
フィールドのテキストと一致するネームスペースがクラスターに存在することを確認します。このフィールドには、クレデンシャルの設定を保持する生成されたシークレットが保存されます。サンプル AWS
CredentialsRequest
オブジェクトCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このフィールドは、生成されたシークレットを保持するために存在する必要がある namespace を示します。
他のプラットフォームの
CredentialsRequest
CR も同様の形式ですが、プラットフォーム固有の異なる値があります。クラスターが
spec.secretRef.namespace
で指定された名前の namespace をまだ持っていないCredentialsRequest
CR には、次のコマンドを実行して namespace を作成します。oc create namespace <component_namespace>
$ oc create namespace <component_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
-
クラスターのクラウド認証情報管理が CCO ユーティリティー (
ccoctl
) を使用して設定されている場合は、ccoctl
ユーティリティーをクラスター更新用に設定し、それを使用してクラウドプロバイダーリソースを更新します。 -
クラスターが
ccoctl
ユーティリティーを使用して設定されていない場合は、クラウドプロバイダーのリソースを手動で更新します。
2.2.3. クラスター更新のための Cloud Credential Operator ユーティリティーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Cloud Credential Operator (CCO) を手動モードで使用するクラスターをアップグレードして、クラスターの外からクラウド認証情報を作成および管理する場合は、CCO ユーティリティー (ccoctl
) バイナリーを抽出して準備します。
ccoctl
ユーティリティーは、Linux 環境で実行する必要がある Linux バイナリーです。
前提条件
- クラスター管理者のアクセスを持つ OpenShift Container Platform アカウントを使用できる。
-
OpenShift CLI (
oc
) がインストールされている。
-
クラスターが、クラスター外部からクラウド認証情報を作成および管理するために、
ccoctl
ユーティリティーを使用して設定されている。 -
OpenShift Container Platform リリースイメージから
CredentialsRequest
カスタムリソース (CR) を抽出し、spec.secretRef.namespace
フィールドのテキストと一致する namespace がクラスター内に存在している。
手順
次のコマンドを実行して、OpenShift Container Platform リリースイメージの変数を設定します。
RELEASE_IMAGE=$(oc get clusterversion -o jsonpath={..desired.image})
$ RELEASE_IMAGE=$(oc get clusterversion -o jsonpath={..desired.image})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、OpenShift Container Platform リリースイメージから CCO コンテナーイメージを取得します。
CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE -a ~/.pull-secret)
$ CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE -a ~/.pull-secret)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記$RELEASE_IMAGE
のアーキテクチャーが、ccoctl
ツールを使用する環境のアーキテクチャーと一致していることを確認してください。以下のコマンドを実行して、OpenShift Container Platform リリースイメージ内の CCO コンテナーイメージから
ccoctl
バイナリーを抽出します。oc image extract $CCO_IMAGE --file="/usr/bin/ccoctl" -a ~/.pull-secret
$ oc image extract $CCO_IMAGE --file="/usr/bin/ccoctl" -a ~/.pull-secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、権限を変更して
ccoctl
を実行可能にします。chmod 775 ccoctl
$ chmod 775 ccoctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ccoctl
が使用できることを確認するには、help ファイルを表示します。コマンドを実行するときは、相対ファイル名を使用します。以下に例を示します。./ccoctl.rhel9
$ ./ccoctl.rhel9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.4. Cloud Credential Operator ユーティリティーを使用したクラウドプロバイダーリソースの更新 リンクのコピーリンクがクリップボードにコピーされました!
CCO ユーティリティー (ccoctl
) を使用して設定された OpenShift Container Platform クラスターをアップグレードするプロセスは、インストール時にクラウドプロバイダーリソースを作成するプロセスに似ています。
AWS クラスターでは、一部の ccoctl
コマンドが AWS API 呼び出しを行い、AWS リソースを作成または変更します。--dry-run
フラグを使用して、API 呼び出しを回避できます。このフラグを使用すると、代わりにローカルファイルシステムに JSON ファイルが作成されます。JSON ファイルを確認して変更し、AWS CLI ツールで --cli-input-json
パラメーターを使用して適用できます。
前提条件
-
OpenShift Container Platform リリースイメージから
CredentialsRequest
カスタムリソース (CR) を抽出し、spec.secretRef.namespace
フィールドのテキストと一致する namespace がクラスター内に存在している。 -
リリースイメージから
ccoctl
バイナリーを抽出して設定している。
手順
ccoctl
ツールを使用して、クラウドプロバイダーのコマンドを実行して、すべてのCredentialsRequest
オブジェクトを処理します。以下のコマンドはCredentialsRequest
オブジェクトを処理します。例2.1 Amazon Web Services (AWS)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- AWS リソースを個別に作成するには、「カスタマイズを使用した AWS へのクラスターのインストール」コンテンツの「AWS リソースの個別の作成」手順を使用します。このオプションは、AWS リソースを変更する前に
ccoctl
ツールが作成する JSON ファイルを確認する必要がある場合、またはccoctl
ツールが AWS リソースを自動的に作成するために使用するプロセスが組織の要件を満たしていない場合に役立つ可能性があります。 - 2
- 追跡用に作成されたクラウドリソースにタグを付けるために使用される名前です。
- 3
- クラウドリソースが作成される AWS リージョンです。
- 4
- コンポーネント
CredentialsRequest
オブジェクトのファイルを含むディレクトリーを指定します。 - 5
- オプション:
ccoctl
ユーティリティーがオブジェクトを作成するディレクトリーを指定します。デフォルトでは、ユーティリティーは、コマンドが実行されるディレクトリーにオブジェクトを作成します。 - 6
- オプション: デフォルトでは、
ccoctl
ユーティリティーは OpenID Connect (OIDC) 設定ファイルをパブリック S3 バケットに保存し、S3 URL をパブリック OIDC エンドポイントとして使用します。代わりに、パブリック CloudFront ディストリビューション URL を介して IAM アイデンティティープロバイダーがアクセスするプライベート S3 バケットに OIDC 設定を保存するには、--create-private-s3-bucket
パラメーターを使用します。
例2.2 Google Cloud Platform (GCP)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例2.3 IBM Cloud
ccoctl ibmcloud create-service-id \ --credentials-requests-dir=<path_to_credential_requests_directory> \ --name=<cluster_name> \ --output-dir=<installation_directory> \ --resource-group-name=<resource_group_name>
$ ccoctl ibmcloud create-service-id \ --credentials-requests-dir=<path_to_credential_requests_directory> \
1 --name=<cluster_name> \
2 --output-dir=<installation_directory> \
3 --resource-group-name=<resource_group_name>
4 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例2.4 Microsoft Azure
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
name
パラメーターの値は、Azure リソースグループを作成するために使用します。新しい Azure リソースグループを作成する代わりに既存の Azure リソースグループを使用するには、--oidc-resource-group-name
を指定し、その値として既存のグループ名を使用します。- 2
- 既存のクラスターのリージョンを指定します。
- 3
- 既存のクラスターのサブスクリプション ID を指定します。
- 4
- 既存のクラスターから OIDC 発行者 URL を指定します。この値は、以下のコマンドを実行して取得できます。
oc get authentication cluster \ -o jsonpath \ --template='{ .spec.serviceAccountIssuer }'
$ oc get authentication cluster \ -o jsonpath \ --template='{ .spec.serviceAccountIssuer }'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 5
- DNS ゾーンを含むリソースグループの名前を指定します。
- 6
- Azure リソースグループを指定します。この値は、以下のコマンドを実行して取得できます。
oc get infrastructure cluster \ -o jsonpath \ --template '{ .status.platformStatus.azure.resourceGroupName }'
$ oc get infrastructure cluster \ -o jsonpath \ --template '{ .status.platformStatus.azure.resourceGroupName }'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
例2.5 Nutanix
ccoctl nutanix create-shared-secrets \ --credentials-requests-dir=<path_to_credentials_requests_directory> \ --output-dir=<ccoctl_output_dir> \ --credentials-source-filepath=<path_to_credentials_file>
$ ccoctl nutanix create-shared-secrets \ --credentials-requests-dir=<path_to_credentials_requests_directory> \
1 --output-dir=<ccoctl_output_dir> \
2 --credentials-source-filepath=<path_to_credentials_file>
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform リリースイメージの各
CredentialsRequest
オブジェクトで定義されているとおり、ccoctl
はCredentialsRequest
オブジェクトごとに必要なプロバイダーリソースと権限ポリシーを作成します。次のコマンドを実行して、シークレットをクラスターに適用します。
ls <path_to_ccoctl_output_dir>/manifests/*-credentials.yaml | xargs -I{} oc apply -f {}
$ ls <path_to_ccoctl_output_dir>/manifests/*-credentials.yaml | xargs -I{} oc apply -f {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
クラウドプロバイダーにクエリーを実行することで、必要なプロバイダーのリソースと権限ポリシーが作成されていることを確認できます。詳細は、適切なクラウドプロバイダーのドキュメントでロールまたはサービスアカウントの一リストを参照してください。
次のステップ
-
upgradeable-to
アノテーションを更新して、クラスターをアップグレードする準備ができていることを示します。
2.2.5. クラウドプロバイダーのリソースを手動で更新する リンクのコピーリンクがクリップボードにコピーされました!
手動でメンテナンスされる認証情報でクラスターをアップグレードする前に、アップグレードするリリースイメージ用に新しい認証情報のシークレットを作成する必要があります。また、既存の認証情報に必要なアクセス許可を確認し、それらのコンポーネントの新しいリリースでの新しいアクセス許可要件に対応する必要があります。
前提条件
-
OpenShift Container Platform リリースイメージから
CredentialsRequest
カスタムリソース (CR) を抽出し、spec.secretRef.namespace
フィールドのテキストと一致する namespace がクラスター内に存在している。
手順
新しいリリースイメージで追加される
CredentialsRequest
カスタムリソースのシークレットを含む YAML ファイルを作成します。シークレットは、それぞれのCredentialsRequest
オブジェクトに、spec.secretRef
に定義される namespace およびシークレット名を使用して保存する必要があります。例2.6 サンプル AWS YAML ファイル
シークレットを含むサンプル AWS
CredentialsRequest
オブジェクトCopy to Clipboard Copied! Toggle word wrap Toggle overflow サンプル AWS
Secret
オブジェクトCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例2.7 サンプル Azure YAML ファイル
注記Global Azure と Azure Stack Hub は、同じ
CredentialsRequest
オブジェクトとシークレット形式を使用します。シークレットを含むサンプル Azure
CredentialsRequest
オブジェクトCopy to Clipboard Copied! Toggle word wrap Toggle overflow サンプル Azure
Secret
オブジェクトCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例2.8 サンプル GCP YAML ファイル
シークレットを含むサンプル GCP
CredentialsRequest
オブジェクトのCopy to Clipboard Copied! Toggle word wrap Toggle overflow サンプル GCP
Secret
オブジェクトCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
シークレットに保存される既存の認証情報の
CredentialsRequest
カスタムリソースにパーミッション要件を変更した場合は、必要に応じてパーミッションを更新します。
次のステップ
-
upgradeable-to
アノテーションを更新して、クラスターをアップグレードする準備ができていることを示します。
2.2.6. クラスターがアップグレードの準備ができていることを示す リンクのコピーリンクがクリップボードにコピーされました!
手動で管理される認証情報を使用するクラスターの Cloud Credential Operator (CCO) の Upgradable
ステータスは、デフォルトでは False
です。
前提条件
-
アップグレード先のリリースイメージについて、手動で、または Cloud Credential Operator ユーティリティー (
ccoctl
) を使用して、新しい認証情報を処理しました。 -
OpenShift CLI (
oc
) がインストールされている。
手順
-
cluster-admin
ロールを持つユーザーとしてクラスターのoc
にログインします。 次のコマンドを実行して
CloudCredential
リソースを編集し、metadata
フィールド内にupgradeable-to
アノテーションを追加します。oc edit cloudcredential cluster
$ oc edit cloudcredential cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 追加するテキスト
... metadata: annotations: cloudcredential.openshift.io/upgradeable-to: <version_number> ...
... metadata: annotations: cloudcredential.openshift.io/upgradeable-to: <version_number> ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <version_number>
はアップグレード先のバージョンで、形式はx.y.z
です。たとえば、OpenShift Container Platform 4.12.2 には4.12.2
を使用します。アノテーションを追加してから、upgradeable のステータスが変更されるまで、数分かかる場合があります。
検証
-
Web コンソールの Administrator パースペクティブで、Administration
Cluster Settings に移動します。 CCO ステータスの詳細を表示するには、Cluster Operators リストで cloud-credential をクリックします。
-
Conditions セクションの Upgradeable ステータスが False の場合に、
upgradeable-to
アノテーションに間違いがないことを確認します。
-
Conditions セクションの Upgradeable ステータスが False の場合に、
- Conditions セクションの Upgradeable ステータスが True の場合、OpenShift Container Platform のアップグレードを開始します。