身為 VMware Aria Automation 雲端管理員,您可以使用命令列介面設定 Cloud Consumption Interface (CCI) 存取權並設定監管建構。命令列介面使用 Kubernetes 命令列工具或 kubectl。
如需有關可以使用 CLI 執行的動作的完整清單,請參閱Cloud Consumption Interface 的 Kubernetes API 參考。
必要條件
- 確認主管叢集已在 vCenter 執行個體上啟用,並且已在 VMware Aria Automation 中登錄。
- 確認您至少是 VMware Aria Automation 中的組織成員,具有 Automation Assembler 或 Automation Service Broker 的管理員服務角色。
- 確認您具備以下條件:
- 已下載 CCI kubectl 外掛程式。
- 為管理員使用者取得了 API Token,或定義了用於儲存使用者密碼的變數。
- 將 Token 與 -t 選項搭配使用,或將管理員認證與 -u 選項搭配使用以登入 CCI 伺服器,並已將預設內容變更為 CCI。
- 請確認您已在 Automation Assembler 中新增 vCenter 雲端帳戶。
- 確認 vCenter 雲端帳戶名稱不包含任何空格或大寫字母。例如,my-vcenter-cloud-account。
如需有關這些必要條件中任意一個的詳細資訊,請參閱Cloud Consumption Interface 設定和組態
步驟 1:建立專案和專案角色系結
若要對 Automation 使用者進行分組並設定對基礎結構資源的存取權,請建立專案和專案角色繫結。
若要使用 UI 建立專案和專案角色繫結,請參閱如何為我的 Automation Assembler 開發團隊新增專案。
- 建立專案。
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]>
步驟 2:建立區域
可以建立區域,以便可以為該區域指派主管。
kubectl create -f region.yaml
region.yaml
檔案。
apiVersion: topology.cci.vmware.com/v1alpha1 kind: Region metadata: name: <region_name> spec: description: <description_of_region>
步驟 3:將主管與區域相關聯
若要將主管與區域相關聯,請找到要更新的主管,然後新增將用於命名空間放置的區域和標籤。
- 若要找到需要更新的主管,請列出主管。在進行 vCenter 資料收集後,將看到主管資源。
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
。可以使用 environment: testing 和 fipsMode: strict 標籤來協助制定主管放置決策。apiVersion: infrastructure.cci.vmware.com/v1alpha1 kind: Supervisor metadata: labels: environment: testing 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: - <region_name>
- 或者,按一下位於主管區域索引標籤。 中某個專案的
步驟 4:建立區域繫結和區域繫結組態
可以建立區域繫結和區域繫結組態,以便專案中的使用者可以在區域中的主管上建立主管命名空間。
- 建立區域繫結。
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
步驟 5:建立主管命名空間類別並新增主管命名空間類別組態
若要定義具有可選參數的命名空間範本 (可以在建立期間使用這些參數自訂命名空間設定),請建立主管命名空間類別。然後,可以建立包含比對運算式的主管命名空間類別組態,可以使用這些比對運算式對用於主管命名空間放置的主管進行額外篩選。
若要使用 UI 建立具有主管命名空間類別組態的主管命名空間類別,請參閱如何使用 UI 建立並設定命名空間類別、命名空間類別組態和命名空間類別繫結。
- 建立主管命名空間類別。
kubectl create -f supervisornamespaceclass.yaml
在以下範例supervisornamespaceclass.yaml
檔案中,parameters
下的可選輸入反映了使用者在建立命名空間時提供的命名空間類別參數。所有輸入都必須具有預設值。這些值用於自訂儲存區類別、限制和其他限制。name
值必須全部小寫且不含空格。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
YAML 設定了您希望主管命名空間繼承的所有主管命名空間組態,其中可包括:- 內容程式庫,其中包含在佈建虛擬機器時虛擬機器服務使用的映像。
- 虛擬機類別,例如 T-Shirt 大小。
- CPU、記憶體和儲存區強制執行資源限制。
- 要使用的儲存區類別。
- SupervisorSelector 可確定要用於建立主管命名空間的主管。
在以下範例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
步驟 6:將命名空間類別與專案相關聯
若要允許在專案中使用主管命名空間類別建立主管命名空間,請建立主管命名空間類別繫結。
若要使用 UI 將命名空間類別與專案關聯,請參閱如何使用 UI 建立並設定命名空間類別、命名空間類別組態和命名空間類別繫結。
kubectl create -f supervisornamespaceclassbinding.yaml
supervisornamespaceclassbinding.yaml
檔案。
namespace
指定要與主管命名空間類別關聯的專案名稱。overrideParameters
是可選的。這些參數用於在建立主管命名空間時強制指定參數值,而忽略使用者提供的參數值。有效類型為 Integer、String 或 Boolean。name
值必須全部小寫且不含空格。
apiVersion: infrastructure.cci.vmware.com/v1alpha1 kind: SupervisorNamespaceClassBinding metadata: name: <class_name> namespace: <project_name> spec: overrideParameters: - name: podcountlimit type: Integer const: 1000