2.2.2. 認証情報要求リソースの抽出と準備
Cloud Credential Operator (CCO) を使用するクラスターを手動モードで更新する前に、新しいリリース用の CredentialsRequest カスタムリソース (CR) を抽出して準備する必要があります。
前提条件
-
仕様している更新バージョンのバージョンに一致する OpenShift CLI (
oc) をインストールしている。 -
cluster-admin権限を持つユーザーとしてクラスターにログインしている。
手順
次のコマンドを実行して、適用する更新のプル仕様を取得します。
$ oc adm upgradeこのコマンドの出力には、次のような利用可能な更新のプル仕様が含まれます。
部分的な出力例
... Recommended updates: VERSION IMAGE 4.20.0 quay.io/openshift-release-dev/ocp-release@sha256:6a899c54dda6b844bb12a247e324a0f6cde367e880b73ba110c056df6d018032 ...次のコマンドを実行して、使用するリリースイメージを
$RELEASE_IMAGE変数に設定します。$ RELEASE_IMAGE=<update_pull_spec><update_pull_spec>は、使用するリリースイメージのプル仕様です。以下に例を示します。quay.io/openshift-release-dev/ocp-release@sha256:6a899c54dda6b844bb12a247e324a0f6cde367e880b73ba110c056df6d018032以下のコマンドを実行して、OpenShift Container Platform リリースイメージから
CredentialsRequestカスタムリソース (CR) のリストを抽出します。$ oc adm release extract \ --from=$RELEASE_IMAGE \ --credentials-requests \ --included \1 --to=<path_to_directory_for_credentials_requests>2 リリースイメージの各
CredentialsRequestについて、spec.secretRef.namespaceフィールドのテキストと一致するネームスペースがクラスターに存在することを確認します。このフィールドには、クレデンシャルの設定を保持する生成されたシークレットが保存されます。サンプル AWS
CredentialsRequestオブジェクトapiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: name: cloud-credential-operator-iam-ro namespace: openshift-cloud-credential-operator spec: providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: AWSProviderSpec statementEntries: - effect: Allow action: - iam:GetUser - iam:GetUserPolicy - iam:ListAccessKeys resource: "*" secretRef: name: cloud-credential-operator-iam-ro-creds namespace: openshift-cloud-credential-operator1 - 1
- このフィールドは、生成されたシークレットを保持するために存在する必要がある namespace を示します。
他のプラットフォームの
CredentialsRequestCR も同様の形式ですが、プラットフォーム固有の異なる値があります。
クラスターが
spec.secretRef.namespaceで指定された名前の namespace をまだ持っていないCredentialsRequestCR には、次のコマンドを実行して namespace を作成します。$ oc create namespace <component_namespace>
次のステップ
-
クラスターのクラウド認証情報管理が CCO ユーティリティー (
ccoctl) を使用して設定されている場合は、ccoctlユーティリティーをクラスター更新用に設定し、それを使用してクラウドプロバイダーリソースを更新します。 -
クラスターが
ccoctlユーティリティーを使用して設定されていない場合は、クラウドプロバイダーのリソースを手動で更新します。