3.7. ccoctl ツールを使用した OpenShift Container Platform コンポーネントのクレデンシャルの作成
OpenShift Container Platform Cloud Credential Operator (CCO) ユーティリティーを使用して、Alibaba Cloud RAM ユーザーとクラスター内コンポーネントごとのポリシーの作成を自動化できます。
					デフォルトで、ccoctl はコマンドが実行されるディレクトリーにオブジェクトを作成します。オブジェクトを別のディレクトリーに作成するには、--output-dir フラグを使用します。この手順では、<path_to_ccoctl_output_dir> を使用してこの場所を参照します。
				
前提条件
以下が必要になります。
- 
						ccoctlバイナリーを抽出して準備している。
- OpenShift Container Platform クラスターを作成するための十分な権限を持つ RAM ユーザーを作成している。
- 
						その RAM ユーザーの AccessKeyID (access_key_id) と AccessKeySecret (access_key_secret) をローカルコンピューターの~/.alibabacloud/credentialsファイル に追加しました。
手順
- 以下のコマンドを実行して、 - $RELEASE_IMAGE変数を設定します。- RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')- $ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを実行して、OpenShift Container Platform リリースイメージから - CredentialsRequestオブジェクトのリストを抽出します。- oc adm release extract \ --from=$RELEASE_IMAGE \ --credentials-requests \ --cloud=alibabacloud \ --to=<path_to_directory_with_list_of_credentials_requests>/credrequests - $ oc adm release extract \ --from=$RELEASE_IMAGE \ --credentials-requests \ --cloud=alibabacloud \ --to=<path_to_directory_with_list_of_credentials_requests>/credrequests- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- credrequestsは、- CredentialsRequestオブジェクトのリストが格納されるディレクトリーです。ディレクトリーが存在しない場合、このコマンドはディレクトリーを作成します。
 注記- このコマンドの実行には少し時間がかかる場合があります。 
- クラスターでクラスター機能を使用して 1 つ以上のオプションコンポーネントを無効にする場合は、無効なコンポーネントの - CredentialsRequestカスタムリソースを削除します。- Alibaba Cloud 上の OpenShift Container Platform 4.13 の - credrequestsディレクトリーの内容の例- 0000_30_machine-api-operator_00_credentials-request.yaml 0000_50_cluster-image-registry-operator_01-registry-credentials-request-alibaba.yaml 0000_50_cluster-ingress-operator_00-ingress-credentials-request.yaml 0000_50_cluster-storage-operator_03_credentials_request_alibaba.yaml - 0000_30_machine-api-operator_00_credentials-request.yaml- 1 - 0000_50_cluster-image-registry-operator_01-registry-credentials-request-alibaba.yaml- 2 - 0000_50_cluster-ingress-operator_00-ingress-credentials-request.yaml- 3 - 0000_50_cluster-storage-operator_03_credentials_request_alibaba.yaml- 4 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ccoctlツールを使用して、- credrequestsディレクトリーですべての- CredentialsRequestオブジェクトを処理します。- ツールを使用するには、次のコマンドを実行します。 - ccoctl alibabacloud create-ram-users \ --name <name> \ --region=<alibaba_region> \ --credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \ --output-dir=<path_to_ccoctl_output_dir> - $ ccoctl alibabacloud create-ram-users \ --name <name> \ --region=<alibaba_region> \ --credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \ --output-dir=<path_to_ccoctl_output_dir>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ここで、 - 
										<name>は、追跡用に作成されたクラウドリソースにタグを付けるために使用される名前です。
- 
										<alibaba_region>は、クラウドリソースが作成される Alibaba Cloud リージョンです。
- 
										<path_to_directory_with_list_of_credentials_requests>/credrequestsは、コンポーネントCredentialsRequestオブジェクトのファイルを含むディレクトリーです。
- 
										<path_to_ccoctl_output_dir>は、生成されたコンポーネントクレデンシャルシークレットが配置されるディレクトリーです。
 注記- クラスターで - TechPreviewNoUpgrade機能セットによって有効化されたテクノロジープレビュー機能を使用している場合は、- --enable-tech-previewパラメーターを含める必要があります。- 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- RAM ユーザーは、同時に最大 2 つの AccessKey を持つことができます。 - ccoctl alibabacloud create-ram-usersを 3 回以上実行すると、以前に生成されたマニフェストシークレットが古くなり、新しく生成されたシークレットを再適用する必要があります。
- 
										
- OpenShift Container Platform シークレットが作成されていることを確認します。 - ls <path_to_ccoctl_output_dir>/manifests - $ ls <path_to_ccoctl_output_dir>/manifests- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例: - openshift-cluster-csi-drivers-alibaba-disk-credentials-credentials.yaml openshift-image-registry-installer-cloud-credentials-credentials.yaml openshift-ingress-operator-cloud-credentials-credentials.yaml openshift-machine-api-alibabacloud-credentials-credentials.yaml - openshift-cluster-csi-drivers-alibaba-disk-credentials-credentials.yaml openshift-image-registry-installer-cloud-credentials-credentials.yaml openshift-ingress-operator-cloud-credentials-credentials.yaml openshift-machine-api-alibabacloud-credentials-credentials.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - RAM ユーザーとポリシーが Alibaba Cloud にクエリーを実行して作成されていることを確認できます。詳細については、RAM ユーザーとポリシーのリスト表示に関する Alibaba Cloud のドキュメントを参照してください。 
 
- 生成されたクレデンシャルファイルをターゲットマニフェストディレクトリーにコピーします。 - cp ./<path_to_ccoctl_output_dir>/manifests/*credentials.yaml ./<path_to_installation>dir>/manifests/ - $ cp ./<path_to_ccoctl_output_dir>/manifests/*credentials.yaml ./<path_to_installation>dir>/manifests/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ここで、 - <path_to_ccoctl_output_dir>
- 
									ccoctl alibabacloud create-ram-usersコマンドによって作成されるディレクトリーを指定します。
- <path_to_installation_dir>
- インストールプログラムがファイルを作成するディレクトリーを指定します。