REST Resource: projects.locations.clusters

資源:叢集

Google Distributed Cloud Edge Kubernetes 叢集。

JSON 表示法
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "fleet": {
    object (Fleet)
  },
  "networking": {
    object (ClusterNetworking)
  },
  "authorization": {
    object (Authorization)
  },
  "defaultMaxPodsPerNode": integer,
  "endpoint": string,
  "port": integer,
  "clusterCaCertificate": string,
  "maintenancePolicy": {
    object (MaintenancePolicy)
  },
  "controlPlaneVersion": string,
  "nodeVersion": string,
  "controlPlane": {
    object (ControlPlane)
  },
  "systemAddonsConfig": {
    object (SystemAddonsConfig)
  },
  "externalLoadBalancerIpv4AddressPools": [
    string
  ],
  "controlPlaneEncryption": {
    object (ControlPlaneEncryption)
  },
  "status": enum (Status),
  "maintenanceEvents": [
    {
      object (MaintenanceEvent)
    }
  ],
  "targetVersion": string,
  "releaseChannel": enum (ReleaseChannel),
  "survivabilityConfig": {
    object (SurvivabilityConfig)
  },
  "externalLoadBalancerIpv6AddressPools": [
    string
  ],
  "connectionState": {
    object (ConnectionState)
  },
  "externalLoadBalancerAddressPools": [
    {
      object (ExternalLoadBalancerPool)
    }
  ],
  "zoneStorageEncryption": {
    object (ZoneStorageEncryption)
  }
}
欄位
name

string

這是必要旗標,叢集的資源名稱。

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"

labels

map (key: string, value: string)

與這個資源相關聯的標籤。

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

fleet

object (Fleet)

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

networking

object (ClusterNetworking)

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

authorization

object (Authorization)

這是必要旗標,不可變動。由 GEC 套用及管理的 RBAC 政策。

defaultMaxPodsPerNode

integer

選用。當這個叢集中未明確指定節點集區的最大值時,每個節點的預設 pod 數量上限。如未指定,系統會使用 Kubernetes 預設值。

endpoint

string

僅供輸出。Kubernetes API 伺服器的 IP 位址。

port

integer

僅供輸出。Kubernetes API 伺服器的通訊埠號碼。

clusterCaCertificate

string

僅供輸出。叢集 CA 的 PEM 編碼公開憑證。

maintenancePolicy

object (MaintenancePolicy)

選用。全叢集維護政策設定。

controlPlaneVersion

string

僅供輸出。控制層發布版本

nodeVersion

string

僅供輸出。所有工作站節點中最低的發布版本。如果叢集沒有任何工作站節點,這個欄位可以留空。

controlPlane

object (ControlPlane)

選用。叢集控制層的設定。

systemAddonsConfig

object (SystemAddonsConfig)

選用。系統外掛程式的設定。

externalLoadBalancerIpv4AddressPools[]

string

選用。叢集資料層外部負載平衡的 IPv4 位址集區。

controlPlaneEncryption

object (ControlPlaneEncryption)

選用。遠端控制層磁碟加密選項。啟用 CMEK 支援時,才會使用這個欄位。

status

enum (Status)

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

maintenanceEvents[]

object (MaintenanceEvent)

僅供輸出。叢集排定的所有維護事件,包括進行中、未來排定和過去 (最多 90 天) 的事件。

targetVersion

string

選用。目標叢集版本。例如:「1.5.0」。

releaseChannel

enum (ReleaseChannel)

選用。叢集訂閱的發布版本。

survivabilityConfig

object (SurvivabilityConfig)

選用。叢集存續性設定,例如網路連線中斷時的設定。注意:這項設定僅適用於本機控制平面叢集。

externalLoadBalancerIpv6AddressPools[]

string

選用。叢集資料層外部負載平衡的 IPv6 位址集區。

connectionState

object (ConnectionState)

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

externalLoadBalancerAddressPools[]

object (ExternalLoadBalancerPool)

選用。叢集的外部負載平衡器集區。

zoneStorageEncryption

object (ZoneStorageEncryption)

選用。可用區儲存空間加密設定

機群

機群相關設定。

「機群」是按照邏輯整理叢集的 Google Cloud 概念,可讓您使用及管理多叢集功能,並在不同系統中套用一致的政策。

JSON 表示法
{
  "project": string,
  "membership": string
}
欄位
project

string

這是必要旗標,這個叢集註冊的機群主專案名稱。

專案名稱的格式為 projects/<project-number>

membership

string

僅供輸出。與這個叢集相關聯的代管 Hub Membership 資源名稱。

會員名稱的格式為 projects/<project-number>/locations/global/membership/<cluster-id>

ClusterNetworking

全叢集網路設定。

JSON 表示法
{
  "clusterIpv4CidrBlocks": [
    string
  ],
  "servicesIpv4CidrBlocks": [
    string
  ]
}
欄位
clusterIpv4CidrBlocks[]

string

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

servicesIpv4CidrBlocks[]

string

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

授權

由 GEC 套用及管理的 RBAC 政策。

JSON 表示法
{
  "adminUsers": {
    object (ClusterUser)
  }
}
欄位
adminUsers

object (ClusterUser)

這是必要旗標,會在叢集中獲得叢集管理員角色的使用者,具備叢集的完整存取權。目前只能填寫一個欄位,但日後會擴充,允許填寫多位管理員。

ClusterUser

RBAC 政策的使用者主體。

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

string

這是必要旗標,有效的 Google 使用者名稱。

MaintenancePolicy

維護政策設定。

JSON 表示法
{
  "window": {
    object (MaintenanceWindow)
  },
  "maintenanceExclusions": [
    {
      object (MaintenanceExclusionWindow)
    }
  ]
}
欄位
window

object (MaintenanceWindow)

指定可執行維護作業的維護期間。

maintenanceExclusions[]

object (MaintenanceExclusionWindow)

選用。自動維護作業的排除時段。非緊急維護作業不應在這些時段進行。每個排除條件都有專屬名稱,且可能有效或已過期。一次最多可排除 3 個維護項目。

MaintenanceWindow

維護期間設定

JSON 表示法
{
  "recurringWindow": {
    object (RecurringTimeWindow)
  }
}
欄位
recurringWindow

object (RecurringTimeWindow)

設定週期性維護期間。

RecurringTimeWindow

代表會重複出現的任意時間範圍。

JSON 表示法
{
  "window": {
    object (TimeWindow)
  },
  "recurrence": string
}
欄位
window

object (TimeWindow)

第一個週期性事件的時段。

recurrence

string

這個時間範圍的重複規則 (RRULE) (https://tools.ietf.org/html/rfc5545#section-3.8.5.3)。這些活動會持續到結束時間為止。

TimeWindow

代表任意時間範圍。

JSON 表示法
{
  "startTime": string,
  "endTime": string
}
欄位
startTime

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"

endTime

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"

MaintenanceExclusionWindow

代表維護排除時段。

JSON 表示法
{
  "window": {
    object (TimeWindow)
  },
  "id": string
}
欄位
window

object (TimeWindow)

選用。時間範圍。

id

string

選用。視窗的專屬 (每個叢集) ID。

ControlPlane

叢集控制層的設定。

JSON 表示法
{

  // Union field config can be only one of the following:
  "remote": {
    object (Remote)
  },
  "local": {
    object (Local)
  }
  // End of list of possible types for union field config.
}
欄位

聯集欄位 config

config 只能是下列其中一項:

remote

object (Remote)

遠端控制層設定。

local

object (Local)

本機控制層設定。

警告:本機控制層叢集必須在自己的專案中建立。本機控制層叢集無法與任何其他類型的叢集 (包括非 GDCE 叢集) 共存在同一專案中。在同一個專案中,將本機控制平面 GDCE 叢集與任何其他類型的叢集混合使用,可能會導致資料遺失。

遠端

這個類型沒有任何欄位。

適用於控制層遠端代管的叢集。

本機

適用於控制層在本機代管的叢集。

警告:本機控制層叢集必須在自己的專案中建立。本機控制層叢集無法與任何其他類型的叢集 (包括非 GDCE 叢集) 共存在同一專案中。在同一個專案中,將本機控制平面 GDCE 叢集與任何其他類型的叢集混合使用,可能會導致資料遺失。

JSON 表示法
{
  "nodeLocation": string,
  "nodeCount": integer,
  "machineFilter": string,
  "sharedDeploymentPolicy": enum (SharedDeploymentPolicy),
  "controlPlaneNodeStorageSchema": string
}
欄位
nodeLocation

string

要建立這個節點集區的 Google Distributed Cloud Edge 可用區名稱。例如:us-central1-edge-customer-a

nodeCount

integer

做為控制層副本的節點數量。

machineFilter

string

只有符合這個篩選條件的機器才能代管控制層節點。篩選語言接受「name=」等字串,詳情請參閱 AIP-160

sharedDeploymentPolicy

enum (SharedDeploymentPolicy)

使用者應用程式部署方式的政策設定。

controlPlaneNodeStorageSchema

string

選用。控制層節點的儲存空間結構定義名稱。

警告:可設定節點本機儲存空間結構定義功能為實驗功能,不建議在正式版叢集/節點集一般使用。

SharedDeploymentPolicy

代表使用者應用程式部署方式的政策設定。

列舉
SHARED_DEPLOYMENT_POLICY_UNSPECIFIED 未指定。
ALLOWED 使用者應用程式可部署在控制層和工作站節點。
DISALLOWED 使用者應用程式無法部署至控制層節點,只能部署至工作站節點。

SystemAddonsConfig

客戶可為 GDCE 系統外掛程式定義的設定。

JSON 表示法
{
  "ingress": {
    object (Ingress)
  },
  "vmServiceConfig": {
    object (VMServiceConfig)
  }
}
欄位
ingress

object (Ingress)

選用。輸入設定的設定。

vmServiceConfig

object (VMServiceConfig)

選用。VM 服務的設定。

輸入

Ingress 外掛程式的設定,可讓客戶建立 Ingress 物件,管理叢集中伺服器的外部存取權。外掛程式包含 istiod 和 istio-ingress。

JSON 表示法
{
  "disabled": boolean,
  "ipv4Vip": string
}
欄位
disabled

boolean

選用。Ingress 是否已停用。

ipv4Vip

string

選用。Ingress VIP。

VMServiceConfig

VMServiceConfig 定義 GDCE VM 服務的設定。

JSON 表示法
{
  "vmmEnabled": boolean
}
欄位
vmmEnabled

boolean

選用。VMM 是否已啟用。

ControlPlaneEncryption

為控制層節點設定客戶自行管理的 KMS 金鑰支援。

JSON 表示法
{
  "kmsKey": string,
  "kmsKeyActiveVersion": string,
  "kmsKeyState": enum (KmsKeyState),
  "kmsStatus": {
    object (Status)
  },
  "resourceState": enum (ResourceState)
}
欄位
kmsKey

string

選用。Cloud KMS CryptoKey (例如:projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}),用於保護控制平面磁碟。如未指定,系統會改用 Google 管理的金鑰。

kmsKeyActiveVersion

string

僅供輸出。目前用於保護控制平面磁碟的 Cloud KMS CryptoKeyVersion。只有在設定 kmsKey 時才適用。

kmsKeyState

enum (KmsKeyState)

僅供輸出。Cloud KMS CryptoKey 的可用性。如果不是 KEY_AVAILABLE,節點可能會離線,因為無法存取本機資料。可能是因為您沒有金鑰使用權限,或是金鑰已停用或刪除。

kmsStatus

object (Status)

僅供輸出。使用這個金鑰時,Cloud KMS 傳回的錯誤狀態。只有在 kmsKeyState 不是 KMS_KEY_STATE_KEY_AVAILABLE 時,才能填入這個欄位。如果填入資料,這個欄位會包含 Cloud KMS 回報的錯誤狀態。

resourceState

enum (ResourceState)

僅供輸出。與 cmek 相關聯的目前資源狀態。

狀態

顯示叢集狀態。

列舉
STATUS_UNSPECIFIED 狀態不明。
PROVISIONING 正在建立叢集。
RUNNING 叢集已建立完成,可供使用。
DELETING 正在刪除叢集。
ERROR 狀態顯示在調解/刪除叢集時發生一些錯誤。
RECONCILING 叢集正在進行某些作業,例如版本升級等。

MaintenanceEvent

維護事件是指可能導致叢集工作負載暫時中斷的作業,包括 Google 驅動或使用者啟動的叢集升級、使用者啟動的叢集設定變更 (需要重新啟動節點) 等。

JSON 表示法
{
  "uuid": string,
  "targetVersion": string,
  "operation": string,
  "type": enum (Type),
  "schedule": enum (Schedule),
  "state": enum (State),
  "createTime": string,
  "startTime": string,
  "endTime": string,
  "updateTime": string
}
欄位
uuid

string

僅供輸出。維護事件的 UUID。

targetVersion

string

僅供輸出。叢集的目標版本。

operation

string

僅供輸出。執行維護事件的作業。格式為 projects/*/locations/*/operations/*。如果維護事件分成多項作業 (例如因維護時段而分開),系統會記錄最新的作業。

type

enum (Type)

僅供輸出。維護事件類型。

schedule

enum (Schedule)

僅供輸出。維護事件的排程。

state

enum (State)

僅供輸出。維護事件的狀態。

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"

startTime

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"

endTime

string (Timestamp format)

僅供輸出。維護事件結束的時間,無論成功與否。如果維護事件分成多個維護時段,只有在整個流程結束時,系統才會更新 endTime。

使用 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"

類型

指出維護作業類型。

列舉
TYPE_UNSPECIFIED 未指定。
USER_INITIATED_UPGRADE 使用者啟動升級。
GOOGLE_DRIVEN_UPGRADE 由 Google 驅動升級。

排程

指出應執行維護事件的時間。

列舉
SCHEDULE_UNSPECIFIED 未指定。
IMMEDIATELY 收到要求後立即執行。

狀態

顯示維護事件狀態。

列舉
STATE_UNSPECIFIED 未指定。
RECONCILING 維護作業仍在進行中。叢集可能無法使用。
SUCCEEDED 維護事件已順利完成。
FAILED 維護事件失敗。

ReleaseChannel

叢集訂閱的發布版本。

列舉
RELEASE_CHANNEL_UNSPECIFIED 未指定發布版本。系統會預設為 REGULAR 頻道。
NONE 未指定發布版本。
REGULAR 一般發布版本。

SurvivabilityConfig

叢集存續性設定,例如網路連線中斷時的設定。

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

string (Duration format)

選用。這段時間內,叢集節點可重新啟動並恢復運作,無須連上 Google 網路。預設值為 0,表示不允許。最長不得超過 7 天。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

ConnectionState

ConnectionState 會保存叢集與 Google 之間的目前連線狀態。

JSON 表示法
{
  "state": enum (State),
  "updateTime": string
}
欄位
state

enum (State)

僅供輸出。目前的連線狀態。

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"

狀態

連線狀態。

列舉
STATE_UNSPECIFIED 連線狀態不明。
DISCONNECTED 這個叢集目前已與 Google 中斷連線。
CONNECTED 這個叢集目前已連線至 Google。
CONNECTED_AND_SYNCING 這個叢集目前已連線至 Google,但可能最近才在連線中斷後重新連線。系統仍在同步處理。

ExternalLoadBalancerPool

外部負載平衡器集區,可自訂名稱、手動/自動指派、非重疊的 IPv4 和選用的 IPv6 位址範圍等設定。

JSON 表示法
{
  "addressPool": string,
  "ipv4Range": [
    string
  ],
  "ipv6Range": [
    string
  ],
  "avoidBuggyIps": boolean,
  "manualAssign": boolean
}
欄位
addressPool

string

選用。外部負載平衡器集區的名稱。

ipv4Range[]

string

這是必要旗標,外部負載平衡器集區的非重疊 IPv4 位址範圍。

ipv6Range[]

string

選用。外部負載平衡器集區的非重疊 IPv6 位址範圍。

avoidBuggyIps

boolean

選用。如為 true,集區會省略結尾為 .0 和 .255 的 IP 位址。部分網路硬體會捨棄傳送至這些特殊位址的流量。預設值為 false。

manualAssign

boolean

選用。如果為 true,系統不會自動將這個集區中的位址指派給 Kubernetes 服務。如果為 true,只有在服務明確指定時,才會使用這個集區中的 IP 位址。預設值為 false。

ZoneStorageEncryption

可用區儲存空間 CMEK 支援設定

JSON 表示法
{
  "kmsKey": string,
  "kmsKeyActiveVersion": string,
  "resourceState": enum (ResourceState)
}
欄位
kmsKey

string

選用。Cloud KMS 金鑰

kmsKeyActiveVersion

string

僅供輸出。目前用於加密/解密的 Cloud KMS CryptoKeyVersion

resourceState

enum (ResourceState)

僅供輸出。CMEK 目前的資源狀態

方法

create

在指定專案和位置建立新叢集。

delete

刪除單一叢集。

generateAccessToken

為叢集產生存取權杖。

generateOfflineCredential

為叢集產生離線憑證。

get

取得單一叢集的詳細資料。

list

列出指定專案和位置中的叢集。

patch

更新單一叢集的參數。

upgrade

升級單一叢集。