VMware Aria Automation クラウド管理者は、コマンド ライン インターフェイスを使用してクラウド使用量インターフェイス (CCI) へのアクセスを有効にし、ガバナンス構造を構成できます。コマンド ライン インターフェイスは、Kubernetes コマンドライン ツールまたは kubectl を使用します。
- CCI へのユーザー アクセスが vSphere+ を使用して構成されている場合、ユーザーは vSphere+ によって作成されたデフォルトのプロジェクトにのみアクセスできます。ユーザーは CLI を使用して、追加のプロジェクトおよびクラウド アカウントへのアクセスを構成できます。
- 既存の VMware Aria Automation インスタンスの管理者である場合は、vSphere+ を使用して開始する代わりに CLI を使用して CCI にアクセスできます。
CLI を使用して実行できるアクションの完全なリストについては、「クラウド使用インターフェイスの Kubernetes API リファレンス」を参照してください。
前提条件
- vSphere+ の開発者エクスペリエンスを有効にして、vSphere 管理者がユーザーに VMware Aria Automation へのアクセス権を付与したことを確認します。新しい Aria Automation ユーザーのクラウド使用量インターフェイスへのアクセスの構成を参照してください。
- スーパーバイザー クラスタが vCenter インスタンスで有効になっていて、VMware Aria Automation に登録されていることを確認します。
- 最低でも Automation Service Broker の組織メンバーで、VMware Aria Automation または Automation Assembler の管理者サービス ロールを保有している必要があります。
- 以下のことを確認します。
- CCI kubectl プラグインをダウンロードしている。
- 管理者ユーザーの API トークンを取得している。
- トークンを使用して CCI サーバにログインし、デフォルトのコンテキストを CCI に変更しました。
プロジェクトとプロジェクト ロールのバインドの作成
VMware Aria Automation ユーザーをグループ化し、インフラストラクチャ リソースへのアクセスを設定するには、プロジェクトとプロジェクト ロールのバインドを作成します。
- プロジェクトを作成します。
kubectl create -f project.yaml
project.yaml
ファイルの例。apiVersion: project.cci.vmware.com/v1alpha1 kind: Project metadata: name: <project_name> spec: description: <description_of_project> sharedResources: true
- プロジェクト ロールのバインドを作成して、作成されたプロジェクト内でユーザーまたはグループにロールを割り当てます。
kubectl create -f projectrolebinding.yaml
次のprojectrolebinding.yaml
ファイルの例では、 admin プロジェクト ロールを持つユーザーを追加します。プロジェクト ロールの値は、 admin、 view、または edit です。apiVersion: authorization.cci.vmware.com/v1alpha1 kind: ProjectRoleBinding metadata: name: cci:user:vmware.com:<user_alias> namespace: <project_name> roleRef: apiGroup: authorization.cci.vmware.com kind: ProjectRole name: admin subjects: - kind: User name: <[email protected]>
リージョンの作成
リージョンを作成して、スーパーバイザーをそのリージョンに割り当てられるようにします。
kubectl create -f region.yaml
region.yaml
ファイルの例。
apiVersion: topology.cci.vmware.com/v1alpha1 kind: Region metadata: name: <region_name> spec: description: <description_of_region>
スーパーバイザーとリージョンの関連付け
スーパーバイザーをリージョンに関連付けるには、更新するスーパーバイザーを見つけて、名前空間の配置に使用されるリージョンとラベルを追加します。
- 更新するスーパーバイザーを見つけるには、スーパーバイザーを一覧表示します。スーパーバイザー リソースは、vCenter Server のデータ収集後に表示されます。
kubectl -n cci-config get supervisors
結果の例を次に示します。NAME AGE demo-self-service:domain-c50 75d adminannie-vcenter:domain-c8 5d18h scale-test-vc-01:domain-c8 56d
- スーパーバイザー
adminannie-vcenter:domain-c8
を更新します。kubectl -n cci-config edit supervisor adminannie-vc:domain-c8
metadata.labels
キー/値ペアとリージョンspec.regionNames
が設定されているスーパーバイザーの例。apiVersion: infrastructure.cci.vmware.com/v1alpha1 kind: Supervisor metadata: labels: environment: testing fipsMode: strict name: adminannie-vc:domain-c8 namespace: cci-config uid: ccd3d154-6404-47b7-8786-bb2d49ad9f5d spec: cloudAccountName: adminannie-vc externalId: domain-c8 externalName: wcp-test-dc-cluster regionNames: - eu-west1
リージョン バインドとリージョン バインド構成の作成
プロジェクトのユーザーがリージョン内のスーパーバイザーにスーパーバイザー名前空間を作成できるように、リージョン バインドとリージョン バインド構成を作成します。
- リージョン バインドを作成します。
kubectl create -f regionbinding.yaml
regionbinding.yaml
ファイルの例。apiVersion: topology.cci.vmware.com/v1alpha1 kind: RegionBinding metadata: name: <region_name> namespace: <project_name>
リージョン バインドにはスーパーバイザーの配置の設定が含まれていないため、リージョン バインド構成も作成する必要があります。
- 作成したすべてのリージョン バインドに対して、リージョン バインド構成を作成します。スーパーバイザーの追加のフィルタリングに使用される一致式を含めることができます。スーパーバイザー ラベルは、リージョン内のスーパーバイザーのサブセットに対してスーパーバイザー名前空間の配置を許可するために使用されます。
kubectl create -f regionbindingconfig.yaml
次のregionbindingconfig.yaml
ファイルの例では、 testing 環境ラベルに一致するすべてのスーパーバイザーが、そのプロジェクトとリージョンで作成されたスーパーバイザー名前空間をホストできます。apiVersion: topology.cci.vmware.com/v1alpha1 kind: RegionBindingConfig metadata: name: <region_name> namespace: <project_name> spec: supervisorSelector: matchExpressions: - key: environment operator: In values: - testing
スーパーバイザー名前空間クラスの作成
作成時に名前空間の設定のカスタマイズに使用できるオプションのパラメータを使用して名前空間テンプレートを定義するには、スーパーバイザー名前空間クラスを作成します。次に、スーパーバイザー名前空間の配置に使用されるスーパーバイザーを絞り込むための一致式を使用して、スーパーバイザー名前空間クラス構成を作成できます。
- スーパーバイザー名前空間クラスを作成します。
kubectl create -f supervisornamespaceclass.yaml
次のsupervisornamespaceclass.yaml
ファイルの例では、parameters
のオプションの入力に、名前空間の作成時にユーザーが指定した名前空間クラスのパラメータが反映されています。すべての入力にデフォルト値が必要です。これらの値は、ストレージ クラス、制限、および追加の制約をカスタマイズする際に使用されます。apiVersion: infrastructure.cci.vmware.com/v1alpha1 kind: SupervisorNamespaceClass metadata: name: <class_name> spec: description: supervisor namespace class parameters: - name: podCountLimit type: Integer minimum: 100 maximum: 1000 default: 500
スーパーバイザー名前空間クラスにはスーパーバイザー配置の設定が含まれていないため、スーパーバイザー名前空間クラス構成も作成する必要があります。
- スーパーバイザー名前空間クラス構成を作成します。
kubectl create -f supervisornamespaceclassconfig.yaml
次のsupervisornamespaceclassconfig.yaml
ファイルの例では、supervisorSelector
を使用してスーパーバイザー ラベルを照合します。apiVersion: infrastructure.cci.vmware.com/v1alpha1 kind: SupervisorNamespaceClassConfig metadata: name: <class_name> spec: storageClasses: - name: management-storage-policy-thin vmClasses: - name: big-vm-class - name: small-vm-class contentSources: - name: global-content-library type: ContentLibrary # Below limits are an EXAMPLE! Setting them may cause unexpected behavior in your namespace # Either set reasonable limits, or remove the below section to get unlimited resources limits: - name: pod_count limit: "((parameters.podCountLimit))" supervisorSelector: matchExpressions: - key: environment operator: In values: - testing
名前空間クラスとプロジェクトの関連付け
プロジェクトでスーパーバイザー名前空間クラスを使用してスーパーバイザー名前空間を作成できるようにするには、スーパーバイザー名前空間クラスのバインドを作成します。
kubectl create -f supervisornamespaceclassbinding.yaml
supervisornamespaceclassbinding.yaml
ファイルの例。
namespace
は、スーパーバイザー名前空間クラスに関連付けるプロジェクトの名前を指定します。overrideParameters
はオプションです。これらは、スーパーバイザー名前空間の作成時にユーザーが指定したパラメータ値を無視する一方で、特定のパラメータ値を強制する場合に使用されます。有効なタイプは 整数、文字列、ブール値 です。
apiVersion: infrastructure.cci.vmware.com/v1alpha1 kind: SupervisorNamespaceClassBinding metadata: name: <class_name> namespace: <project_name> spec: overrideParameters: - name: podCountLimit type: Integer const: 1000