REST Resource: projects.locations.memberships

Referensi: Keanggotaan

Keanggotaan berisi informasi tentang cluster anggota.

Representasi JSON
{
  "name": string,
  "labels": {
    string: string,
    ...
  },
  "description": string,
  "state": {
    object (MembershipState)
  },
  "authority": {
    object (Authority)
  },
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "externalId": string,
  "lastConnectionTime": string,
  "uniqueId": string,
  "infrastructureType": enum (Membership.InfrastructureType),
  "monitoringConfig": {
    object (MonitoringConfig)
  },

  // Union field type can be only one of the following:
  "endpoint": {
    object (MembershipEndpoint)
  }
  // End of list of possible types for union field type.
}
Kolom
name

string

Hanya output. Nama lengkap dan unik resource Keanggotaan ini dalam format projects/*/locations/*/memberships/{membershipId}, yang ditetapkan selama pembuatan.

membershipId harus berupa label DNS yang sesuai dengan RFC 1123 yang valid:

  1. Maksimal 63 karakter
  2. Harus terdiri dari karakter alfanumerik huruf kecil atau -
  3. Nama harus diawali dan diakhiri dengan karakter alfanumerik

Yang dapat dinyatakan sebagai ekspresi reguler: [a-z0-9]([-a-z0-9]*[a-z0-9])?, dengan panjang maksimum 63 karakter.

labels

map (key: string, value: string)

Opsional. Label GCP untuk keanggotaan ini.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

description

string

Opsional. Deskripsi keanggotaan ini, dibatasi hingga 63 karakter. Harus cocok dengan ekspresi reguler: [a-zA-Z0-9][a-zA-Z0-9_\-\.\ ]*

state

object (MembershipState)

Hanya output. Status resource Membership.

authority

object (Authority)

Opsional. Cara mengidentifikasi workload dari Keanggotaan ini. Lihat dokumentasi tentang Workload Identity untuk mengetahui detail selengkapnya: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity

createTime

string (Timestamp format)

Hanya output. Kapan Keanggotaan dibuat.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Hanya output. Kapan Keanggotaan terakhir diperbarui.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

deleteTime

string (Timestamp format)

Hanya output. Kapan Keanggotaan dihapus.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

externalId

string

Opsional. ID yang dibuat dan dikelola secara eksternal untuk Keanggotaan ini. ID ini dapat diubah setelah dibuat, tetapi sebaiknya jangan lakukan tindakan ini. Untuk cluster GKE, externalId dikelola oleh Hub API dan update akan diabaikan.

ID harus cocok dengan ekspresi reguler: [a-zA-Z0-9][a-zA-Z0-9_\-\.]*

Jika Keanggotaan ini mewakili cluster Kubernetes, nilai ini harus ditetapkan ke UID objek namespace kube-system.

lastConnectionTime

string (Timestamp format)

Hanya output. Untuk cluster yang menggunakan Connect, stempel waktu koneksi terbaru yang dibuat dengan Google Cloud. Waktu ini diperbarui setiap beberapa menit, tidak berkelanjutan. Untuk cluster yang tidak menggunakan GKE Connect, atau yang tidak pernah berhasil terhubung, kolom ini akan dibatalkan penetapannya.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

uniqueId

string

Hanya output. UUID yang dibuat Google untuk resource ini. Akses ini bersifat unik di semua resource Keanggotaan. Jika resource Keanggotaan dihapus dan resource lain dengan nama yang sama dibuat, resource tersebut akan mendapatkan uniqueId yang berbeda.

infrastructureType

enum (Membership.InfrastructureType)

Opsional. Jenis infrastruktur yang menjalankan Langganan ini.

monitoringConfig

object (MonitoringConfig)

Opsional. Informasi konfigurasi pemantauan untuk keanggotaan ini.

Kolom union type. Jenis resource yang diwakili oleh type Keanggotaan ini hanya dapat berupa salah satu dari berikut:
endpoint

object (MembershipEndpoint)

Opsional. Informasi endpoint untuk menjangkau anggota ini.

MembershipEndpoint

MembershipEndpoint berisi informasi yang diperlukan untuk menghubungi Kubernetes API, endpoint, dan metadata Kubernetes tambahan apa pun.

Representasi JSON
{
  "kubernetesMetadata": {
    object (KubernetesMetadata)
  },
  "kubernetesResource": {
    object (KubernetesResource)
  },

  // Union field type can be only one of the following:
  "gkeCluster": {
    object (GkeCluster)
  },
  "onPremCluster": {
    object (OnPremCluster)
  },
  "multiCloudCluster": {
    object (MultiCloudCluster)
  },
  "edgeCluster": {
    object (EdgeCluster)
  },
  "applianceCluster": {
    object (ApplianceCluster)
  }
  // End of list of possible types for union field type.
}
Kolom
kubernetesMetadata

object (KubernetesMetadata)

Hanya output. Metadata khusus Kubernetes yang berguna.

kubernetesResource

object (KubernetesResource)

Opsional. Resource Kubernetes dalam cluster yang harus diterapkan untuk cluster yang terdaftar dengan benar, dalam status stabil. Referensi ini:

  • Pastikan cluster terdaftar secara eksklusif untuk satu dan hanya satu Keanggotaan Hub.
  • Menyebarkan Informasi Kumpulan Workload tersedia di kolom Membership Authority.
  • Pastikan konfigurasi awal yang benar pada Fitur Hub default.
Kolom union type. Informasi cluster yang terdaftar. type hanya ada berupa salah satu diantara berikut:
gkeCluster

object (GkeCluster)

Opsional. Informasi spesifik untuk cluster GKE-on-GCP.

onPremCluster

object (OnPremCluster)

Opsional. Informasi spesifik untuk cluster GKE On-Prem. Cluster pengguna lokal yang tidak memiliki resourceLink tidak diizinkan untuk menggunakan kolom ini. Sebagai gantinya, cluster harus memiliki "type" nol.

multiCloudCluster

object (MultiCloudCluster)

Opsional. Informasi spesifik tentang cluster GKE Multi-Cloud.

edgeCluster

object (EdgeCluster)

Opsional. Informasi spesifik untuk cluster Google Edge.

applianceCluster

object (ApplianceCluster)

Opsional. Informasi khusus untuk cluster Edge Appliance GDC.

GkeCluster

GkeCluster berisi informasi khusus untuk cluster GKE.

Representasi JSON
{
  "resourceLink": string,
  "clusterMissing": boolean
}
Kolom
clusterMissing

boolean

Hanya output. Jika clusterMissing ditetapkan, ini menunjukkan bahwa cluster GKE sudah tidak ada di Bidang Kontrol GKE.

OnPremCluster

OnPremCluster berisi informasi khusus untuk cluster GKE On-Prem.

Representasi JSON
{
  "resourceLink": string,
  "clusterMissing": boolean,
  "adminCluster": boolean,
  "clusterType": enum (OnPremCluster.ClusterType)
}
Kolom
clusterMissing

boolean

Hanya output. Jika clusterMissing ditetapkan, hal ini menunjukkan bahwa resource API(gkeonprem.googleapis.com) untuk cluster GKE On-Prem ini sudah tidak ada lagi.

adminCluster

boolean

Tidak dapat diubah. Apakah cluster adalah cluster admin.

clusterType

enum (OnPremCluster.ClusterType)

Tidak dapat diubah. Jenis cluster lokal.

OnPremCluster.ClusterType

ClusterType mendeskripsikan jenis cluster prem.

Enum
CLUSTERTYPE_UNSPECIFIED ClusterType belum ditetapkan.
BOOTSTRAP ClusterType adalah cluster bootstrap.
HYBRID ClusterType adalah cluster hybrid baremetal.
STANDALONE ClusterType adalah cluster mandiri baremetal.
USER ClusterType adalah cluster pengguna.

MultiCloudCluster

MultiCloudCluster berisi informasi khusus untuk cluster GKE Multi-Cloud.

Representasi JSON
{
  "resourceLink": string,
  "clusterMissing": boolean
}
Kolom
clusterMissing

boolean

Hanya output. Jika clusterMissing ditetapkan, hal ini menunjukkan bahwa resource API(gkemulticloud.googleapis.com) untuk cluster Multi-Cloud GKE ini sudah tidak ada lagi.

EdgeCluster

EdgeCluster berisi informasi khusus terkait Cluster Google Edge.

Representasi JSON
{
  "resourceLink": string
}
Kolom

ApplianceCluster

ApplianceCluster berisi informasi khusus untuk Cluster Edge Appliance GDC.

Representasi JSON
{
  "resourceLink": string
}
Kolom

KubernetesMetadata

KubernetesMetadata menyediakan metadata informasi untuk Langganan yang mewakili cluster Kubernetes.

Representasi JSON
{
  "kubernetesApiServerVersion": string,
  "nodeProviderId": string,
  "nodeCount": integer,
  "vcpuCount": integer,
  "memoryMb": integer,
  "updateTime": string
}
Kolom
kubernetesApiServerVersion

string

Hanya output. String versi server Kubernetes API seperti yang dilaporkan oleh '/version'.

nodeProviderId

string

Hanya output. Node providerID seperti yang dilaporkan oleh node pertama dalam daftar node di endpoint Kubernetes. Pada platform Kubernetes yang mendukung cluster nol node (seperti GKE-on-GCP), nodeCount akan menjadi nol dan nodeProviderId akan kosong.

nodeCount

integer

Hanya output. Jumlah node seperti yang dilaporkan oleh resource node Kubernetes.

vcpuCount

integer

Hanya output. Jumlah vCPU seperti yang dilaporkan oleh resource node Kubernetes.

memoryMb

integer

Hanya output. Total kapasitas memori seperti yang dilaporkan oleh jumlah semua resource node Kubernetes, yang ditentukan dalam MB.

updateTime

string (Timestamp format)

Hanya output. Waktu saat detail ini terakhir diperbarui. UpdateTime ini berbeda dengan updateTime tingkat Keanggotaan karena EndpointDetails diupdate secara internal untuk konsumen API.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

KubernetesResource

KubernetesResource berisi manifes dan konfigurasi YAML untuk resource Keanggotaan Kubernetes di cluster. Setelah membership.create atau membership.patch, resource ini harus diterapkan ulang di cluster.

Representasi JSON
{
  "membershipCrManifest": string,
  "membershipResources": [
    {
      object (ResourceManifest)
    }
  ],
  "connectResources": [
    {
      object (ResourceManifest)
    }
  ],
  "resourceOptions": {
    object (ResourceOptions)
  }
}
Kolom
membershipCrManifest

string

Hanya input. Representasi YAML dari CR Keanggotaan. Kolom ini diabaikan untuk cluster GKE tempat Hub dapat membaca CR secara langsung.

Pemanggil harus memberikan CR yang saat ini ada di cluster selama membership.create atau membership.patch, atau biarkan kolom ini kosong jika tidak ada. Manifes CR digunakan untuk memvalidasi bahwa cluster belum terdaftar dengan Keanggotaan lain.

membershipResources[]

object (ResourceManifest)

Hanya output. Resource Kubernetes tambahan yang perlu diterapkan ke cluster setelah pembuatan Keanggotaan, dan setelah setiap update.

Kolom ini hanya diisi di Keanggotaan yang ditampilkan dari operasi yang berjalan lama dan berhasil dari membership.create ataumembership.patch. Kolom ini tidak diisi selama permintaan langganan.get atau membership.list normal. Untuk mendapatkan manifes resource setelah pendaftaran awal, pemanggil harus melakukan panggilan membership.patch dengan mask kolom kosong.

connectResources[]

object (ResourceManifest)

Hanya output. Resource Kubernetes untuk menginstal agen GKE Connect

Kolom ini hanya diisi di Keanggotaan yang ditampilkan dari operasi yang berjalan lama dan berhasil dari membership.create ataumembership.patch. Kolom ini tidak diisi selama permintaan langganan.get atau membership.list normal. Untuk mendapatkan manifes resource setelah pendaftaran awal, pemanggil harus melakukan panggilan membership.patch dengan mask kolom kosong.

resourceOptions

object (ResourceOptions)

Opsional. Opsi untuk pembuatan resource Kubernetes.

ResourceManifest

ResourceManifest mewakili satu resource Kubernetes yang akan diterapkan ke cluster.

Representasi JSON
{
  "manifest": string,
  "clusterScoped": boolean
}
Kolom
manifest

string

Manifes YAML resource.

clusterScoped

boolean

Apakah resource yang disediakan dalam manifes adalah clusterScoped. Jika tidak disetel, manifes dianggap sebagai cakupan namespace.

Kolom ini digunakan untuk pemetaan REST saat menerapkan resource di cluster.

ResourceOptions

ResourceOptions merepresentasikan opsi untuk pembuatan resource Kubernetes.

Representasi JSON
{
  "connectVersion": string,
  "v1beta1Crd": boolean,
  "k8sVersion": string
}
Kolom
connectVersion

string

Opsional. Versi agen Connect yang akan digunakan untuk connectResources. Setelan defaultnya adalah versi GKE Connect terbaru. Versi harus merupakan versi yang didukung saat ini, versi yang tidak digunakan lagi akan ditolak.

v1beta1Crd

boolean

Opsional. Gunakan apiextensions/v1beta1, bukan apiextensions/v1 untuk resource CustomResourceDefinition. Opsi ini harus ditetapkan untuk cluster dengan Kubernetes apiserver versi <1.16.

k8sVersion

string

Opsional. Versi utama cluster Kubernetes. Atribut ini hanya digunakan untuk menentukan versi yang akan digunakan untuk resource CustomResourceDefinition, apiextensions/v1beta1 atau apiextensions/v1.

MembershipState

Status resource Membership.

Representasi JSON
{
  "code": enum (MembershipState.Code),
  "description": string,
  "updateTime": string
}
Kolom
code

enum (MembershipState.Code)

Hanya output. Status resource Membership saat ini.

description
(deprecated)

string

Kolom ini tidak pernah ditetapkan oleh Layanan Hub.

updateTime
(deprecated)

string (Timestamp format)

Kolom ini tidak pernah ditetapkan oleh Layanan Hub.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

MembershipState.Code

Kode menjelaskan status resource Keanggotaan.

Enum
CODE_UNSPECIFIED Kode belum disetel.
CREATING Cluster sedang didaftarkan.
READY Cluster terdaftar.
DELETING Cluster ini sedang dibatalkan pendaftarannya.
UPDATING Keanggotaan sedang diperbarui.
SERVICE_UPDATING Keanggotaan sedang diperbarui oleh Layanan Hub.

Wewenang

Otoritas mengenkode cara Google mengenali identitas dari Keanggotaan ini. Lihat dokumentasi identitas workload untuk mengetahui detail selengkapnya: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity

Representasi JSON
{
  "issuer": string,
  "workloadIdentityPool": string,
  "identityProvider": string,
  "oidcJwks": string
}
Kolom
issuer

string

Opsional. URI penerbit JSON Web Token (JWT). issuer harus diawali dengan https:// dan berupa URL yang valid dengan panjang <2000 karakter.

Jika disetel, Google akan mengizinkan token OIDC yang valid dari penerbit ini untuk melakukan autentikasi dalam workloadIdentityPool. Penemuan OIDC akan dilakukan pada URI ini untuk memvalidasi token dari penerbit.

Menghapus issuer akan menonaktifkan Workload Identity. issuer tidak dapat diubah secara langsung. Ini harus dihapus (dan Workload Identity dinonaktifkan) sebelum menggunakan penerbit baru (dan mengaktifkan kembali Workload Identity).

workloadIdentityPool

string

Hanya output. Nama kumpulan workload identity tempat issuer akan dikenali.

Ada satu Kumpulan Workload Identity per Hub yang digunakan bersama oleh semua Langganan milik Hub tersebut. Untuk Hub yang dihosting di {PROJECT_ID}, format kumpulan workload adalah {PROJECT_ID}.hub.id.goog, meskipun hal ini dapat berubah pada versi API ini yang lebih baru.

identityProvider

string

Hanya output. Penyedia identitas yang mencerminkan issuer di kumpulan workload identity.

oidcJwks

string (bytes format)

Opsional. Kunci verifikasi OIDC untuk Keanggotaan ini dalam format JWKS (RFC 7517).

Jika kolom ini disetel, penemuan OIDC TIDAK akan dilakukan di issuer, dan token OIDC akan divalidasi menggunakan kolom ini.

String berenkode base64.

Membership.InfrastructureType

Menentukan jenis infrastruktur Keanggotaan. Jenis infrastruktur digunakan oleh Hub untuk mengontrol perilaku spesifik per infrastruktur, termasuk harga.

Setiap distribusi GKE (di GCP, lokal, on-X,...) akan menetapkan kolom ini secara otomatis, tetapi pelanggan Attached Clusters harus menentukan jenis selama pendaftaran.

Enum
INFRASTRUCTURE_TYPE_UNSPECIFIED Tidak ada jenis yang ditentukan. Beberapa fungsi Hub mungkin memerlukan jenis yang ditentukan, dan tidak akan mendukung Langganan dengan nilai ini.
ON_PREM Infrastruktur pribadi yang dimiliki atau dioperasikan oleh pelanggan. Hal ini mencakup distribusi GKE seperti GKE-OnPrem dan GKE-OnBareMetal.
MULTI_CLOUD Infrastruktur cloud publik.

MonitoringConfig

MonitoringConfig memberi tahu aplikasi/layanan/UI berbasis Armada bagaimana metrik untuk cluster dasar dilaporkan ke layanan pemantauan cloud. Kolom ini dapat ditetapkan dari kosong menjadi tidak kosong, tetapi tidak dapat diubah secara langsung untuk mencegah kerusakan metrik secara tidak sengaja.

Representasi JSON
{
  "projectId": string,
  "location": string,
  "cluster": string,
  "kubernetesMetricsPrefix": string,
  "clusterHash": string
}
Kolom
projectId

string

Opsional. Project yang digunakan untuk melaporkan Metrik

location

string

Opsional. Lokasi yang digunakan untuk melaporkan Metrik

cluster

string

Opsional. Nama cluster yang digunakan untuk melaporkan metrik. Untuk Anthos di cluster VMWare/Baremetal/MultiCloud, formatnya akan berupa {clusterType}/{clusterName}, misalnya, "awsClusters/cluster_1".

kubernetesMetricsPrefix

string

Opsional. Metrik sistem Kubernetes, jika tersedia, ditulis ke awalan ini. Default-nya adalah kubernetes.io untuk GKE, dan kubernetes.io/anthos untuk Anthos pada akhirnya. Catatan: Anthos MultiCloud akan memiliki awalan kubernetes.io hari ini, tetapi migrasi akan berada di bawah kubernetes.io/anthos.

clusterHash

string

Opsional. Untuk cluster GKE dan Multicloud, ini adalah UUID resource cluster. Untuk cluster VMWare dan Baremetal, ini adalah UID sistem kube.

Metode

create

Membuat Keanggotaan baru.

delete

Menghapus Keanggotaan.

generateConnectManifest

Membuat manifes untuk deployment agen koneksi GKE.

generateExclusivityManifest

GenerateExclusivityManifest menghasilkan manifes untuk mengupdate artefak eksklusivitas di cluster jika diperlukan.

get

Mendapatkan detail Langganan.

getIamPolicy

Mendapatkan kebijakan kontrol akses untuk resource.

list

Mencantumkan Keanggotaan dalam project dan lokasi tertentu.

patch

Memperbarui Keanggotaan yang ada.

setIamPolicy

Menetapkan kebijakan kontrol akses pada resource yang ditentukan.

testIamPermissions

Menampilkan izin yang dimiliki pemanggil atas resource yang ditentukan.

validateExclusivity

ValidasiExclusivity memvalidasi status eksklusivitas di cluster.