- リソース: Membership
- MembershipEndpoint
- GkeCluster
- OnPremCluster
- OnPremCluster.ClusterType
- MultiCloudCluster
- EdgeCluster
- ApplianceCluster
- KubernetesMetadata
- KubernetesResource
- ResourceManifest
- ResourceOptions
- MembershipState
- MembershipState.Code
- Authority
- MonitoringConfig
- メソッド
リソース: Membership
Membership には、メンバー クラスタに関する情報が含まれます。
JSON 表現 |
---|
{ "name": string, "labels": { string: string, ... }, "description": string, "state": { object ( |
フィールド | |
---|---|
name |
出力専用。この Membership リソースの完全な一意の名前(形式:
これは正規表現 |
labels |
省略可。このメンバーシップのラベル。
|
description |
出力専用。このメンバーシップの説明。63 文字以内で指定してください。正規表現 このフィールドは、以前の目的のために存在します。 |
state |
出力専用。Membership リソースの状態。 |
createTime |
出力専用。Membership が作成された日時。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
updateTime |
出力専用。Membership が最後に更新された日時。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
deleteTime |
出力専用。Membership が削除された日時。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
externalId |
省略可。この Membership について外部で生成および管理される ID。この ID は作成後に変更できますが、変更はおすすめしません。 ID は正規表現 この Membership が Kubernetes クラスタを表す場合は、この値を |
lastConnectionTime |
出力専用。Connect を使用しているクラスタの場合、Google Cloud との間で確立された最新の接続のタイムスタンプ。この時間は継続的に更新されるのではなく、数分ごとに更新されます。GKE Connect を使用していないクラスタ、または接続に成功したことがないクラスタでは、このフィールドは設定されません。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
uniqueId |
出力専用。このリソースの Google 生成 UUID。これは、すべての Membership リソースで固有のものです。Membership リソースを削除し、同じ名前の別のリソースを作成すると、異なる uniqueId が取得されます。 |
authority |
省略可。この Membership からワークロードを識別する方法。詳細については、Workload Identity のドキュメント(https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity)をご覧ください。 |
monitoringConfig |
省略可。このメンバーシップのモニタリング構成情報。 |
共用体フィールド type 。この Membership type で表されるリソースのタイプは、次のいずれか一つだけにできます。 |
|
endpoint |
省略可。このメンバーにアクセスするためのエンドポイント情報。 |
MembershipEndpoint
MembershipEndpoint には、Kubernetes API、エンドポイント、その他の Kubernetes メタデータにアクセスするために必要な情報が含まれます。
JSON 表現 |
---|
{ "kubernetesMetadata": { object ( |
フィールド | |
---|---|
kubernetesMetadata |
出力専用。有用な Kubernetes 固有のメタデータ。 |
kubernetesResource |
省略可。安定状態にある正しく登録されたクラスタに適用するクラスタ内 Kubernetes リソース。これらのリソースは:
|
googleManaged |
出力専用。このメンバーシップのライフサイクルが Google クラスタ プラットフォーム サービスによって管理されるかどうか。 |
共用体フィールド type 。登録済みクラスタのクラスタ情報。type は次のいずれかになります。 |
|
gkeCluster |
省略可。GKE-on-GCP クラスタの詳細情報。 |
onPremCluster |
省略可。GKE On-Prem クラスタ固有の情報。resourceLink がないオンプレミスのユーザー クラスタは、このフィールドを使用できません。代わりに、nil の「type」を使用する必要があります。 |
multiCloudCluster |
省略可。GKE Multi-cloud クラスタ固有の情報。 |
edgeCluster |
省略可。Google Edge クラスタ固有の情報。 |
applianceCluster |
省略可。GDC Edge Appliance クラスタ固有の情報。 |
GkeCluster
GkeCluster には、GKE クラスタに固有の情報が含まれています。
JSON 表現 |
---|
{ "resourceLink": string, "clusterMissing": boolean } |
フィールド | |
---|---|
resourceLink |
変更不可。GKE クラスタの Google Cloud リソースのセルフリンク。次に例を示します。 //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster ゾーンクラスタもサポートされています。 |
clusterMissing |
出力専用。clusterMissing が設定されている場合は、GKE クラスタが GKE コントロール プレーンに存在しないことを示します。 |
OnPremCluster
OnPremCluster には、GKE On-Prem クラスタに固有の情報が含まれています。
JSON 表現 |
---|
{
"resourceLink": string,
"clusterMissing": boolean,
"adminCluster": boolean,
"clusterType": enum ( |
フィールド | |
---|---|
resourceLink |
変更不可。GKE On-Prem クラスタの Google Cloud リソースのセルフリンク。次に例を示します。 //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster |
clusterMissing |
出力専用。clusterMissing が設定されている場合は、この GKE On-Prem クラスタの API(gkeonprem.googleapis.com)リソースが存在しないことを示します。 |
adminCluster |
変更不可。クラスタが管理クラスタであるかどうか。 |
clusterType |
変更不可。オンプレミス クラスタのタイプ。 |
OnPremCluster.ClusterType
ClusterType は、オンプレミス クラスタのタイプを記述します。
列挙型 | |
---|---|
CLUSTERTYPE_UNSPECIFIED |
ClusterType が設定されていません。 |
BOOTSTRAP |
ClusterType はブートストラップ クラスタです。 |
HYBRID |
ClusterType はベアメタル ハイブリッド クラスタです。 |
STANDALONE |
ClusterType はベアメタル スタンドアロン クラスタです。 |
USER |
ClusterType はユーザー クラスタです。 |
MultiCloudCluster
MultiCloudCluster には、GKE Multi-cloud クラスタに固有の情報が含まれています。
JSON 表現 |
---|
{ "resourceLink": string, "clusterMissing": boolean } |
フィールド | |
---|---|
resourceLink |
変更不可。GKE Multi-cloud クラスタの Google Cloud リソースのセルフリンク。次に例を示します。 //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster |
clusterMissing |
出力専用。clusterMissing が設定されている場合は、この GKE Multi-Cloud クラスタの API(gkemulticloud.googleapis.com)リソースが存在しないことを示します。 |
EdgeCluster
EdgeCluster には、Google エッジクラスタに固有の情報が含まれています。
JSON 表現 |
---|
{ "resourceLink": string } |
フィールド | |
---|---|
resourceLink |
変更不可。エッジクラスタの Google Cloud リソースのセルフリンク。次に例を示します。 //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster |
ApplianceCluster
ApplianceCluster には、GDC Edge アプライアンス クラスタに固有の情報が含まれています。
JSON 表現 |
---|
{ "resourceLink": string } |
フィールド | |
---|---|
resourceLink |
変更不可。アプライアンス クラスタの Google Cloud リソースのセルフリンク。次に例を示します。 //transferappliance.googleapis.com/projects/my-project/locations/us-west1-a/appliances/my-appliance |
KubernetesMetadata
KubernetesMetadata は、Kubernetes クラスタを表すメンバーシップに関する情報のメタデータを提供します。
JSON 表現 |
---|
{ "kubernetesApiServerVersion": string, "nodeProviderId": string, "nodeCount": integer, "vcpuCount": integer, "memoryMb": integer, "updateTime": string } |
フィールド | |
---|---|
kubernetesApiServerVersion |
出力専用。 |
nodeProviderId |
出力専用。Kubernetes エンドポイントのノードリストの最初のノードから報告されたノード providerID。ノードなしクラスタをサポートする Kubernetes プラットフォーム(GKE-on-GCP など)では、nodeCount は 0 になり、nodeProviderId は空になります。 |
nodeCount |
出力専用。Kubernetes ノードリソースによって報告されるノード数。 |
vcpuCount |
出力専用。Kubernetes ノードリソースによって報告される vCPU 数。 |
memoryMb |
出力専用。すべての Kubernetes ノードリソースの合計によって報告される合計メモリ容量(単位: MB)。 |
updateTime |
出力専用。これらの詳細が最後に更新された時刻。EndpointDetails は API コンシューマ向けに内部的に更新されるため、この updateTime はメンバーシップ レベルの updateTime とは異なります。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
KubernetesResource
KubernetesResource には、クラスタ内の Membership Kubernetes リソースの YAML マニフェストと構成が含まれています。memberships.create または memberships.patch の後、これらのリソースをクラスタに再適用する必要があります。
JSON 表現 |
---|
{ "membershipCrManifest": string, "membershipResources": [ { object ( |
フィールド | |
---|---|
membershipCrManifest |
入力専用。Membership CR の YAML 表現。Hub が CR を直接読み取ることができる GKE クラスタでは、このフィールドは無視されます。 呼び出し元は、memberships.create または memberships.patch の際に、クラスタに現在存在する CR を指定する必要があります。存在しない場合は、このフィールドを空のままにします。CR マニフェストは、クラスタが別のメンバーシップに登録されていないことを検証するために使用されます。 |
membershipResources[] |
出力専用。Membership の作成後と更新のたびにクラスタに適用する必要がある追加の Kubernetes リソース。 このフィールドは、memberships.create または memberships.patch の長時間実行オペレーションが成功したときに返される Membership にのみ入力されます。通常の memberships.get リクエストまたは memberships.list リクエストでは、このフィールドは入力されません。最初の登録後にリソース マニフェストを取得するには、呼び出し元が、フィールド マスクを空にして memberships.patch 呼び出しを行う必要があります。 |
connectResources[] |
出力専用。GKE Connect エージェントをインストールするための Kubernetes リソース このフィールドは、memberships.create または memberships.patch の長時間実行オペレーションが成功したときに返される Membership にのみ入力されます。通常の memberships.get リクエストまたは memberships.list リクエストでは、このフィールドは入力されません。最初の登録後にリソース マニフェストを取得するには、呼び出し元が、フィールド マスクを空にして memberships.patch 呼び出しを行う必要があります。 |
resourceOptions |
省略可。Kubernetes リソース生成のオプション。 |
ResourceManifest
ResourceManifest は、クラスタに適用される単一の Kubernetes リソースを表します。
JSON 表現 |
---|
{ "manifest": string, "clusterScoped": boolean } |
フィールド | |
---|---|
manifest |
リソースの YAML マニフェスト。 |
clusterScoped |
マニフェストで指定されたリソースが このフィールドは、クラスタでリソースを適用するときに REST マッピングに使用されます。 |
ResourceOptions
ResourceOptions は、Kubernetes リソースの生成オプションを表します。
JSON 表現 |
---|
{ "connectVersion": string, "v1beta1Crd": boolean, "k8sVersion": string } |
フィールド | |
---|---|
connectVersion |
省略可。connectResources に使用する Connect エージェントのバージョン。最新の GKE Connect バージョンがデフォルトになります。バージョンは現在サポートされているバージョンであることが必要です。古いバージョンは拒否されます。 |
v1beta1Crd |
省略可。CustomResourceDefinition リソースには、 |
k8sVersion |
省略可。Kubernetes クラスタのメジャー バージョン。これは、CustomResourceDefinition リソースに使用するバージョン( |
MembershipState
MembershipState は、Membership リソースの状態を表します。
JSON 表現 |
---|
{
"code": enum ( |
フィールド | |
---|---|
code |
出力専用。Membership リソースの現在の状態。 |
MembershipState.Code
Code は、Membership リソースの状態を表します。
列挙型 | |
---|---|
CODE_UNSPECIFIED |
コードが設定されていません。 |
CREATING |
クラスタの登録中です。 |
READY |
クラスタが登録されています。 |
DELETING |
クラスタの登録解除中です。 |
UPDATING |
Membership の更新中です。 |
SERVICE_UPDATING |
Hub Service が Membership を更新しています。 |
権限
Authority は、Google がこのメンバーシップの ID をどのように認識するかを表します。詳細については、Workload Identity のドキュメント(https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity)をご覧ください。
JSON 表現 |
---|
{ "issuer": string, "workloadIdentityPool": string, "identityProvider": string, "oidcJwks": string } |
フィールド | |
---|---|
issuer |
省略可。JSON Web Token(JWT)の発行者 URI。 設定されている場合、Google は、この発行元による有効な OIDC トークンが workloadIdentityPool 内で認証されるようにします。この URI で OIDC ディスカバリが行われ、発行者からのトークンが検証されます。
|
workloadIdentityPool |
出力専用。 Hub ごとに 1 つの Workload Identity プールがあり、ハブに属するすべてのメンバーシップ間で共有されます。{PROJECT_ID} でホストされているハブの場合、ワークロード プールの形式は |
identityProvider |
出力専用。Workload Identity プールの |
oidcJwks |
省略可。この Membership の OIDC 検証鍵(JWKS 形式)(RFC 7517)。 このフィールドが設定されている場合、OIDC ディスカバリは Base64 でエンコードされた文字列。 |
MonitoringConfig
MonitoringConfig は、基盤となるクラスタの指標を Cloud Monitoring サービスに報告する方法について、Fleet ベースのアプリケーション、サービス、UI に通知します。空から非空に設定できますが、指標の一貫性を誤って破壊しないように、直接変更することはできません。
JSON 表現 |
---|
{ "projectId": string, "location": string, "cluster": string, "kubernetesMetricsPrefix": string, "clusterHash": string } |
フィールド | |
---|---|
projectId |
省略可。Metrics のレポートに使用されるプロジェクト |
location |
省略可。Metrics のレポートに使用されるロケーション |
cluster |
省略可。指標のレポートに使用されるクラスタ名。Anthos on VMWare/Baremetal/MultiCloud クラスタの場合は、{clusterType}/{clusterName} の形式になります。たとえば、awsClusters/cluster_1 です。 |
kubernetesMetricsPrefix |
省略可。Kubernetes システムの指標(利用可能な場合)は、この接頭辞に書き込まれます。デフォルトでは、GKE の場合は kubernetes.io、Anthos の場合は kubernetes.io/anthos になります。注: Anthos MultiCloud には現在 kubernetes.io という接頭辞が付加されています。これは kubernetes.io/anthos に移行されます。 |
clusterHash |
省略可。GKE クラスタとマルチクラウド クラスタの場合、これはクラスタ リソースの UUID です。VMWare クラスタと Baremetal クラスタの場合、これは kube-system UID です。 |
方法 |
|
---|---|
|
新しい Membership を作成します。 |
|
Membership を削除します。 |
|
GKE Connect エージェントのデプロイ用のマニフェストを生成します。 |
|
Membership の詳細を取得します。 |
|
リソースのアクセス制御ポリシーを取得します。 |
|
指定されたプロジェクトとロケーションの Membership を一覧表示します。 |
|
指定されたプロジェクトとロケーションの管理クラスタの Membership を一覧表示します。 |
|
既存の Membership を更新します。 |
|
指定したリソースにアクセス制御ポリシーを設定します。 |
|
指定したリソースに対して呼び出し元が持っている権限を返します。 |
|
ValidateCreateMembership は、CreateMembership のプリフライト チェックです。 |