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 \ --credentials-requests \ --cloud=alibabacloud \ --to=<path_to_directory_with_list_of_credentials_requests>/credrequests \ $RELEASE_IMAGE
$ oc adm release extract \ --credentials-requests \ --cloud=alibabacloud \ --to=<path_to_directory_with_list_of_credentials_requests>/credrequests \1 $RELEASE_IMAGECopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 credrequestsは、CredentialsRequestオブジェクトのリストが格納されるディレクトリーです。ディレクトリーが存在しない場合、このコマンドはディレクトリーを作成します。
注記このコマンドの実行には少し時間がかかる場合があります。
クラスターでクラスター機能を使用して 1 つ以上のオプションコンポーネントを無効にする場合は、無効なコンポーネントの
CredentialsRequestカスタムリソースを削除します。Alibaba Cloud 上の OpenShift Container Platform 4.12 の
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.yaml1 0000_50_cluster-image-registry-operator_01-registry-credentials-request-alibaba.yaml2 0000_50_cluster-ingress-operator_00-ingress-credentials-request.yaml3 0000_50_cluster-storage-operator_03_credentials_request_alibaba.yaml4 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>/manifestsCopy 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.yamlCopy 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>- インストールプログラムがファイルを作成するディレクトリーを指定します。