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
オブジェクトのリストを抽出します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このコマンドの実行には少し時間がかかる場合があります。
次のコマンドを実行し、
ccoctl
ツールを使用してCredentialsRequest
オブジェクトをすべて処理します。ツールを使用するには、次のコマンドを実行します。
ccoctl alibabacloud create-ram-users \ --name <name> \ --region=<alibaba_region> \ --credentials-requests-dir=<path_to_credentials_requests_directory> \ --output-dir=<path_to_ccoctl_output_dir>
$ ccoctl alibabacloud create-ram-users \ --name <name> \
1 --region=<alibaba_region> \
2 --credentials-requests-dir=<path_to_credentials_requests_directory> \
3 --output-dir=<path_to_ccoctl_output_dir>
4 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記クラスターで
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>
- インストールプログラムがファイルを作成するディレクトリーを指定します。