REST Resource: projects.locations.awsClusters

資源:AwsCluster

在 AWS 上執行的 Anthos 叢集。

JSON 表示法
{
  "name": string,
  "description": string,
  "networking": {
    object (AwsClusterNetworking)
  },
  "awsRegion": string,
  "controlPlane": {
    object (AwsControlPlane)
  },
  "authorization": {
    object (AwsAuthorization)
  },
  "state": enum (State),
  "endpoint": string,
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "workloadIdentityConfig": {
    object (WorkloadIdentityConfig)
  },
  "clusterCaCertificate": string,
  "fleet": {
    object (Fleet)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "errors": [
    {
      object (AwsClusterError)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  },
  "binaryAuthorization": {
    object (BinaryAuthorization)
  }
}
欄位
name

string

這個資源的名稱。

叢集名稱的格式為 projects/<project-number>/locations/<region>/awsClusters/<cluster-id>

如要進一步瞭解 Google Cloud Platform 資源名稱,請參閱「資源名稱」。

description

string

(選用步驟) 這個叢集的說明 (使用者可理解)。長度不得超過 255 個 UTF-8 編碼位元組。

networking

object (AwsClusterNetworking)

這是必要旗標,全叢集網路設定。

awsRegion

string

這是必要旗標,叢集執行的 AWS 區域。

每個 Google Cloud 區域都支援一部分鄰近的 AWS 區域。您可以呼叫 locations.getAwsServerConfig,列出指定 Google Cloud 區域內的所有支援 AWS 區域。

controlPlane

object (AwsControlPlane)

這是必要旗標,與叢集控制層相關的設定。

authorization

object (AwsAuthorization)

這是必要旗標,與叢集 RBAC 設定相關的設定。

state

enum (State)

僅供輸出。叢集的目前狀態。

endpoint

string

僅供輸出。叢集 API 伺服器的端點。

uid

string

僅供輸出。叢集的全域專屬 ID。

reconciling

boolean

僅供輸出。如果已設定,叢集目前有變更正在進行中。

createTime

string (Timestamp format)

僅供輸出。這個叢集的建立時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

僅供輸出。這個叢集上次更新的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

etag

string

允許用戶端透過開放式並行控制執行一致的讀取-修改-寫入作業。

可在更新和刪除要求中傳送,確保用戶端在繼續操作前擁有最新值。

annotations

map (key: string, value: string)

(選用步驟) 叢集註解。

這個欄位與 Kubernetes 註解具有相同的限制。所有鍵值組合的總大小不得超過 256k。索引鍵可包含 2 個部分:前置字串 (選填) 和名稱 (必填),兩者須以正斜線 (/) 分隔。前置字串必須是 DNS 子網域。名稱長度不得超過 63 個字元,開頭和結尾須為英數字元,中間須包含連字號 (-)、底線 (_)、點號 (.) 和英數字元。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

workloadIdentityConfig

object (WorkloadIdentityConfig)

僅供輸出。Workload Identity 設定。

clusterCaCertificate

string

僅供輸出。叢集信任根的 PEM 編碼 x509 憑證。

fleet

object (Fleet)

這是必要旗標,機群設定。

loggingConfig

object (LoggingConfig)

(選用步驟) 這個叢集的記錄設定。

errors[]

object (AwsClusterError)

僅供輸出。叢集中發現的一組錯誤。

monitoringConfig

object (MonitoringConfig)

(選用步驟) 這個叢集的監控設定。

binaryAuthorization

object (BinaryAuthorization)

(選用步驟) 這個叢集的二進位授權設定。

AwsClusterNetworking

ClusterNetworking 會定義全叢集的網路設定。

AWS 中的 Anthos 叢集會在單一 VPC 上執行。包括控制層副本和節點集區節點。

JSON 表示法
{
  "vpcId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "perNodePoolSgRulesDisabled": boolean
}
欄位
vpcId

string

這是必要旗標,與叢集相關聯的虛擬私有雲。所有元件叢集 (即控制層和節點集區) 都會在單一 VPC 上執行。

建立後即無法變更這個欄位。

podAddressCidrBlocks[]

string

這是必要旗標,系統會為叢集中的所有 Pod 指派這些範圍內的 IPv4 位址。僅支援單一範圍。建立後即無法變更這個欄位。

serviceAddressCidrBlocks[]

string

這是必要旗標,系統會為叢集中的所有服務指派這些範圍內的 IPv4 位址;僅支援單一範圍。建立後即無法變更這個欄位。

perNodePoolSgRulesDisabled

boolean

(選用步驟) 在控制層安全性群組中,停用每個節點集區子網路的安全性群組規則。如果設為 true,您也必須提供一或多個安全性群組,確保節點集區能夠在 TCP/443 和 TCP/8132 上將要求傳送至控制層。否則節點集區可能無法使用。

AwsControlPlane

ControlPlane 會定義控制層節點之間的通用參數。

JSON 表示法
{
  "version": string,
  "instanceType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "subnetIds": [
    string
  ],
  "securityGroupIds": [
    string
  ],
  "iamInstanceProfile": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "mainVolume": {
    object (AwsVolumeTemplate)
  },
  "databaseEncryption": {
    object (AwsDatabaseEncryption)
  },
  "tags": {
    string: string,
    ...
  },
  "awsServicesAuthentication": {
    object (AwsServicesAuthentication)
  },
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  }
}
欄位
version

string

這是必要旗標,要在控制層副本上執行的 Kubernetes 版本 (例如 1.19.10-gke.1000)。

您可以呼叫 locations.getAwsServerConfig,列出指定 Google Cloud 區域支援的所有版本。

instanceType

string

(選用步驟) AWS 執行個體類型。

如未指定,系統會根據叢集版本使用預設值。

sshConfig

object (AwsSshConfig)

(選用步驟) SSH 設定,說明如何存取基礎控制層機器。

subnetIds[]

string

這是必要旗標,控制層副本將在這些子網路中執行。系統會在每個子網路上佈建副本,最多可提供三個值。每個子網路都必須位於不同的 AWS 可用區 (AZ)。

securityGroupIds[]

string

(選用步驟) 要新增至控制層副本的其他安全性群組 ID。Anthos Multi-Cloud API 會自動建立及管理安全群組,並設定叢集運作所需的最低規則。

iamInstanceProfile

string

這是必要旗標,要指派給每個控制層副本的 AWS IAM 執行個體設定檔名稱或 ARN。

rootVolume

object (AwsVolumeTemplate)

(選用步驟) 與為每個控制層副本佈建的根磁碟區相關的設定。

系統會在與對應子網路相關聯的可用區中,佈建磁碟區。

如未指定,則預設為 32 GiB,磁碟區類型為 GP2。

mainVolume

object (AwsVolumeTemplate)

(選用步驟) 與每個控制層副本佈建的主要磁碟區相關的設定。主要磁碟區負責儲存叢集的所有 etcd 狀態。

系統會在與對應子網路相關聯的可用區中,佈建磁碟區。

如未指定,則預設為 8 GiB,並使用 GP2 磁碟區類型。

databaseEncryption

object (AwsDatabaseEncryption)

這是必要旗標,用於加密叢集密鑰的 AWS KMS 金鑰 ARN。

tags

map (key: string, value: string)

(選用步驟) 要傳播至所有基礎受管理 AWS 資源的 AWS 資源標記集。

最多可指定 50 組英數字元、空格和符號 (.+-=_:@/),金鑰最多可包含 127 個 Unicode 字元。值最多可包含 255 個 Unicode 字元。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

awsServicesAuthentication

object (AwsServicesAuthentication)

這是必要旗標,用於管理 AWS 資源的驗證設定。

proxyConfig

object (AwsProxyConfig)

(選用步驟) 用於輸出 HTTP(S) 流量的 Proxy 設定。

configEncryption

object (AwsConfigEncryption)

這是必要旗標,設定使用者資料的加密方式。

instancePlacement

object (AwsInstancePlacement)

(選用步驟) 要在控制層執行個體上使用的放置位置。如未指定,系統會使用 VPC 的預設保有權。

AwsDatabaseEncryption

與應用程式層 Secret 加密相關的設定。

JSON 表示法
{
  "kmsKeyArn": string
}
欄位
kmsKeyArn

string

這是必要旗標,用於加密叢集密鑰的 AWS KMS 金鑰 ARN。

AwsServicesAuthentication

管理 AWS 資源的驗證設定。

JSON 表示法
{
  "roleArn": string,
  "roleSessionName": string
}
欄位
roleArn

string

這是必要旗標,Anthos Multi-Cloud API 在管理您帳戶中的 AWS 資源時,將擔任的角色 Amazon Resource Name (ARN)。

roleSessionName

string

(選用步驟) 擔任角色工作階段的 ID。

如未指定,則預設為 multicloud-service-agent

AwsAuthorization

與叢集 RBAC 設定相關的設定。

JSON 表示法
{
  "adminUsers": [
    {
      object (AwsClusterUser)
    }
  ],
  "adminGroups": [
    {
      object (AwsClusterGroup)
    }
  ]
}
欄位
adminUsers[]

object (AwsClusterUser)

(選用步驟) 能以叢集管理員身分執行作業的使用者。系統會建立受管理 ClusterRoleBinding,將 cluster-admin ClusterRole 授予使用者。最多可提供十位管理員使用者。

如要進一步瞭解 RBAC,請參閱 https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles

adminGroups[]

object (AwsClusterGroup)

(選用步驟) 能以叢集管理員身分執行作業的使用者群組。系統會建立代管 ClusterRoleBinding,將 cluster-admin ClusterRole 授予群組。最多可提供 10 個管理員群組。

如要進一步瞭解 RBAC,請參閱 https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles

AwsClusterUser

AWS 叢集的使用者類型主體身分。

JSON 表示法
{
  "username": string
}
欄位
username

string

這是必要旗標,使用者名稱,例如 my-gcp-id@gmail.com

AwsClusterGroup

AWS 叢集群組類型主體的 ID。

JSON 表示法
{
  "group": string
}
欄位
group

string

這是必要旗標,群組名稱,例如 my-group@domain.com

狀態

叢集的生命週期狀態。

列舉
STATE_UNSPECIFIED 未設定。
PROVISIONING 「PROVISIONING」狀態表示叢集正在建立中。
RUNNING RUNNING 狀態表示叢集已建立完成,可完全使用。
RECONCILING 「RECONCILING」狀態表示叢集正在執行某些作業,例如升級控制層副本。
STOPPING 「STOPPING」狀態表示叢集正在刪除。
ERROR 「ERROR」狀態表示叢集已損毀,無法復原。
DEGRADED 「DEGRADED」狀態表示叢集需要使用者採取行動,才能恢復完整功能。

AwsClusterError

AwsClusterError 會說明 AWS 叢集上發現的錯誤。

JSON 表示法
{
  "message": string
}
欄位
message

string

錯誤的易讀說明。

方法

create
(deprecated)

在指定的 Google Cloud Platform 專案和區域中建立新的 AwsCluster 資源。

delete
(deprecated)

刪除特定 AwsCluster 資源。

generateAwsAccessToken
(deprecated)

產生短期存取權杖,以驗證特定 AwsCluster 資源。

generateAwsClusterAgentToken
(deprecated)

為叢集代理程式產生存取權杖。

get
(deprecated)

說明特定 AwsCluster 資源。

getJwks
(deprecated)

以 JSON Web Key 格式取得叢集簽署金鑰的公開元件。

list
(deprecated)

列出指定 Google Cloud 專案和區域中的所有 AwsCluster 資源。

patch
(deprecated)

更新 AwsCluster