2.2. AWS の IAM の手動作成
2.2.1. IAM の手動作成 リンクのコピーリンクがクリップボードにコピーされました!
Cloud Credential Operator は、クラウドアイデンティティーおよびアクセス管理 (IAM) API に到達できない環境にインストールする前に手動モードに配置できます。管理者はクラスター kube-system namespace に管理者レベルの認証情報シークレットを保存しないようにします。
手順
OpenShift Container Platform インストーラーを実行し、マニフェストを生成します。
$ openshift-install create manifests --dir=myclusterCloud Credential Operator が手動モードになるように、設定マップを manifests ディレクトリーに挿入します。
$ cat <<EOF > mycluster/manifests/cco-configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: cloud-credential-operator-config namespace: openshift-cloud-credential-operator annotations: release.openshift.io/create-only: "true" data: disabled: "true" EOFローカルクラウドの認証情報を使用して作成された
admin認証情報シークレットを削除します。この削除により、admin認証情報がクラスターに保存されなくなります。$ rm mycluster/openshift/99_cloud-creds-secret.yamlOpenShift Container Platform リリースイメージを取得します。
openshift-installバイナリーはこれを使用するためにビルドされます。$ bin/openshift-install version出力例
release image quay.io/openshift-release-dev/ocp-release:4.z.z-x86_64このリリースイメージ内で、デプロイするクラウドをターゲットとする
CredentialsRequestオブジェクトをすべて特定します。$ oc adm release extract quay.io/openshift-release-dev/ocp-release:4.z.z-x86_64 --to ./release-image展開したファイルで
CredentialsRequestsを見つけます。$ grep -l "apiVersion: cloudcredential.openshift.io" * | xargs cat注記今後の OpenShift Container Platform リリースでは、
CredentialsRequestsをスキャンし、それらを表示する新規のoc adm releaseコマンドが表示されます。これにより、それぞれの要求の詳細が表示されます。
spec.providerSpec.kindがインストールするクラウドプロバイダーと一致しないCredentialsRequestsについては、これを無視するようにしてください。サンプル
CredentialsRequestオブジェクトapiVersion: cloudcredential.openshift.io/v1 kind: CredentialsRequest metadata: name: cloud-credential-operator-iam-ro namespace: openshift-cloud-credential-operator spec: secretRef: name: cloud-credential-operator-iam-ro-creds namespace: openshift-cloud-credential-operator providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: AWSProviderSpec statementEntries: - effect: Allow action: - iam:GetUser - iam:GetUserPolicy - iam:ListAccessKeys resource: "*"-
以前に生成した
openshift-installマニフェストディレクトリーにシークレットの YAML ファイルを作成します。シークレットは、各request.spec.secretRefに定義される namespace およびシークレット名を使用して保存する必要があります。シークレットデータの形式は、クラウドプロバイダーごとに異なります。 クラスターの作成に進みます。
$ openshift-install create cluster --dir=mycluster重要アップグレードを実行する前に、パーミッションが次のリリースで変更された場合には、認証情報の調整が必要になる場合があります。今後は、Cloud Credential Operator は更新されたパーミッションが処理されることを示唆するまでアップグレードできなくなる可能性があります。