3.2. Azure の IAM の手動作成
3.2.1. IAM の手動作成
Cloud Credential Operator は、クラウドアイデンティティーおよびアクセス管理 (IAM) API に到達できない環境にインストールする前に手動モードに配置できます。管理者はクラスター kube-system
namespace に管理者レベルの認証情報シークレットを保存しないようにします。
手順
OpenShift Container Platform インストーラーを実行し、マニフェストを生成します。
$ openshift-install create manifests --dir=mycluster
Cloud 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.yaml
OpenShift 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: labels: controller-tools.k8s.io: "1.0" name: openshift-image-registry-azure namespace: openshift-cloud-credential-operator spec: secretRef: name: installer-cloud-credentials namespace: openshift-image-registry providerSpec: apiVersion: cloudcredential.openshift.io/v1 kind: AzureProviderSpec roleBindings: - role: Contributor
-
以前に生成した
openshift-install
マニフェストディレクトリーにシークレットの YAML ファイルを作成します。シークレットは、各request.spec.secretRef
に定義される namespace およびシークレット名を使用して保存する必要があります。シークレットデータの形式は、クラウドプロバイダーごとに異なります。 クラスターの作成に進みます。
$ openshift-install create cluster --dir=mycluster
重要アップグレードを実行する前に、パーミッションが次のリリースで変更された場合には、認証情報の調整が必要になる場合があります。今後は、Cloud Credential Operator は更新されたパーミッションが処理されることを示唆するまでアップグレードできなくなる可能性があります。