REST Resource: projects.locations.clusters

リソース: Cluster

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
  ]
}
フィールド
name

string

必須。クラスタのリソース名。

createTime

string (Timestamp format)

出力専用。クラスタが作成された日時。

RFC3339 UTC「Zulu」形式のタイムスタンプであり、精度はナノ秒まで、小数点以下は最大 9 桁です。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

出力専用。クラスタが最後に更新された時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプであり、精度はナノ秒まで、小数点以下は最大 9 桁です。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

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 アドレスプール。

フリート

フリート関連の構成。

フリートとは、複数のクラスタを論理的に編成するための Google Cloud のコンセプトです。フリートを使用することによって、マルチクラスタ機能の使用と管理、複数のシステム間での一貫したポリシーの適用が可能になります。

JSON 表現
{
  "project": string,
  "membership": string
}
フィールド
project

string

必須。このクラスタが登録されるフリート ホスト プロジェクトの名前。

プロジェクト名の形式は projects/<project-number> です。

membership

string

出力専用。このクラスタに関連付けられているマネージド Hub メンバーシップ リソースの名前。

メンバーシップ名の形式は 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)
  }
}
フィールド
window

object (MaintenanceWindow)

メンテナンスが実行されるメンテナンスの時間枠を指定します。

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)

ウィンドウが最初に開始される時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプであり、精度はナノ秒まで、小数点以下は最大 9 桁です。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

endTime

string (Timestamp format)

ウィンドウの終了時刻。終了時間は開始時間より後にする必要があります。

RFC3339 UTC「Zulu」形式のタイムスタンプであり、精度はナノ秒まで、小数点以下は最大 9 桁です。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

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)
}
フィールド
nodeLocation

string

このノードプールが作成される Google Distributed Cloud Edge ゾーンの名前。例: us-central1-edge-customer-a

nodeCount

integer

コントロール プレーンのレプリカとして機能するノードの数。

machineFilter

string

このフィルタに一致するマシンのみがコントロール プレーン ノードをホストできます。フィルタリング言語は「name=」のような文字列を受け入れます。詳細については、AIP-160 をご覧ください。

sharedDeploymentPolicy

enum (SharedDeploymentPolicy)

ユーザー アプリケーションのデプロイ方法に関するポリシー構成。

SharedDeploymentPolicy

ユーザー アプリケーションのデプロイ方法に関するポリシー構成を表します。

列挙型
SHARED_DEPLOYMENT_POLICY_UNSPECIFIED 指定なし。
ALLOWED ユーザー アプリケーションは、コントロール プレーンとワーカーノードの両方にデプロイできます。
DISALLOWED ユーザー アプリケーションはコントロール プレーン ノードにデプロイできず、ワーカーノードにのみデプロイできます。

SystemAddonsConfig

お客様が GDCE システム アドオン用に定義できる構成。

JSON 表現
{
  "ingress": {
    object (Ingress)
  }
}
フィールド
ingress

object (Ingress)

省略可。Ingress の構成。

Ingress

クラスタ内のサーバーへの外部アクセスを管理する Ingress オブジェクトを作成できる Ingress アドオンの構成。アドオンは istiod と istio-ingress で構成されています。

JSON 表現
{
  "disabled": boolean,
  "ipv4Vip": string
}
フィールド
disabled

boolean

省略可。Ingress が無効かどうか。

ipv4Vip

string

省略可。上り(内向き)VIP。

ControlPlaneEncryption

リモート コントロール プレーン クラスタのディスク暗号化に対する顧客管理の KMS 鍵のサポートの構成。

JSON 表現
{
  "kmsKey": string,
  "kmsKeyActiveVersion": string,
  "kmsKeyState": enum (KmsKeyState),
  "kmsStatus": {
    object (Status)
  }
}
フィールド
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 から返されるエラー ステータス。このフィールドは、kmsKeyStateKMS_KEY_STATE_KEY_AVAILABLE でない場合にのみ入力できます。このフィールドに値が設定されている場合、Cloud KMS によって報告されたエラー ステータスが含まれます。

ステータス

クラスタのステータスを示します。

列挙型
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)

出力専用。メンテナンス イベント リクエストが作成された時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプであり、精度はナノ秒まで、小数点以下は最大 9 桁です。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

startTime

string (Timestamp format)

出力専用。メンテナンス イベントが開始された時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプであり、精度はナノ秒まで、小数点以下は最大 9 桁です。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

endTime

string (Timestamp format)

出力専用。メンテナンス イベントが正常に終了したかどうかにかかわらず、終了した時間。メンテナンス イベントが複数のメンテナンス ウィンドウに分割されている場合、endTime はフロー全体が終了したときにのみ更新されます。

RFC3339 UTC「Zulu」形式のタイムスタンプであり、精度はナノ秒まで、小数点以下は最大 9 桁です。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

出力専用。メンテナンス イベント メッセージが更新された日時。

RFC3339 UTC「Zulu」形式のタイムスタンプであり、精度はナノ秒まで、小数点以下は最大 9 桁です。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

タイプ

メンテナンス イベントのタイプを示します。

列挙型
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 日です。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

メソッド

create

指定されたプロジェクトとロケーションに新しいクラスタを作成します。

delete

1 つのクラスタを削除します。

generateAccessToken

クラスタのアクセス トークンを生成します。

generateOfflineCredential

クラスタのオフライン認証情報を生成します。

get

1 つのクラスタの詳細を取得します。

list

指定されたプロジェクトとロケーションのクラスタを一覧表示します。

patch

単一のクラスタのパラメータを更新します。

upgrade

単一のクラスタをアップグレードします。