- 리소스: Membership
- MembershipEndpoint
- GkeCluster
- OnPremCluster
- OnPremCluster.ClusterType
- MultiCloudCluster
- EdgeCluster
- ApplianceCluster
- KubernetesMetadata
- KubernetesResource
- ResourceManifest
- ResourceOptions
- MembershipState
- MembershipState.Code
- Authority
- Membership.InfrastructureType
- MonitoringConfig
- 메서드
리소스: Membership
Membership에는 구성원 클러스터에 대한 정보가 포함됩니다.
JSON 표현 |
---|
{ "name": string, "labels": { string: string, ... }, "description": string, "state": { object ( |
필드 | |
---|---|
name |
출력 전용입니다.
|
labels |
선택사항입니다. 이 멤버십의 GCP 라벨입니다.
|
description |
(선택사항) 이 멤버십에 대한 설명으로, 63자(영문 기준)로 제한됩니다. |
state |
출력 전용입니다. 멤버십 리소스의 상태입니다. |
authority |
선택사항입니다. 이 멤버십에서 워크로드를 인식하는 방법입니다. 자세한 내용은 워크로드 아이덴티티 문서 https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity를 참조하세요. |
createTime |
출력 전용입니다. 멤버십이 생성된 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
updateTime |
출력 전용입니다. 멤버십이 마지막으로 업데이트된 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
deleteTime |
출력 전용입니다. 멤버십이 삭제된 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
externalId |
선택사항입니다. 외부에서 생성되고 관리되는 이 멤버십의 ID입니다. 이 ID는 생성 후 수정이 가능하지만 권장되지 않습니다. GKE 클러스터의 경우 externalId는 Hub API에서 관리되며 업데이트가 무시됩니다. ID가 이 멤버십이 Kubernetes 클러스터를 나타내는 경우 이 값을 |
lastConnectionTime |
출력 전용입니다. Connect를 사용하는 클러스터의 경우 Google Cloud에 설정된 가장 최근 연결의 타임스탬프입니다. 이 시간은 연속적이 아닌 몇 분 간격으로 업데이트됩니다. GKE Connect를 사용하지 않거나 성공적으로 연결되지 않은 클러스터의 경우 필드가 설정 해제됩니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
uniqueId |
출력 전용입니다. 이 리소스에 대해 Google에서 생성된 UUID입니다. 모든 멤버십 리소스에서 고유합니다. 멤버십 리소스가 삭제되고 동일한 이름의 다른 리소스가 생성되면 다른 고유 ID를 갖습니다. |
infrastructureType |
(선택사항) 이 멤버십이 실행 중인 인프라 유형입니다. |
monitoringConfig |
선택사항입니다. 이 멤버십의 모니터링 구성 정보입니다. |
통합 필드 type 입니다. 이 멤버십 type 으로 표현되는 리소스 유형은 다음 중 하나만 가능합니다. |
|
endpoint |
선택사항입니다. 이 구성원에 연결하기 위한 엔드포인트 정보입니다. |
MembershipEndpoint
MembershipEndpoint에는 Kubernetes API, 엔드포인트, 모든 추가 Kubernetes 메타데이터를 연결하는 데 필요한 정보가 포함되어 있습니다.
JSON 표현 |
---|
{ "kubernetesMetadata": { object ( |
필드 | |
---|---|
kubernetesMetadata |
출력 전용입니다. 유용한 Kubernetes 관련 메타데이터입니다. |
kubernetesResource |
선택사항입니다. 안정적인 상태에서 올바르게 등록된 클러스터에 적용해야 하는 클러스터 내 Kubernetes 리소스입니다. 이러한 리소스는 다음을 수행합니다.
|
통합 필드 type 입니다. 등록된 클러스터의 클러스터 정보입니다. type 은 다음 중 하나여야 합니다. |
|
gkeCluster |
선택사항입니다. GKE-on-GCP 클러스터 관련 정보입니다. |
onPremCluster |
선택사항입니다. GKE On-Prem 클러스터 관련 정보입니다. resourceLink가 없는 온프렘 사용자 클러스터는 이 필드를 사용할 수 없으며 대신 nil '유형'을 포함해야 합니다. |
multiCloudCluster |
선택사항입니다. GKE Multi-Cloud 클러스터 관련 정보입니다. |
edgeCluster |
선택사항입니다. Google 에지 클러스터 관련 정보입니다. |
applianceCluster |
선택사항입니다. GDC Edge 어플라이언스 클러스터 관련 정보입니다. |
GkeCluster
GkeCluster에는 GKE 클러스터 관련 정보가 포함됩니다.
JSON 표현 |
---|
{ "resourceLink": string, "clusterMissing": boolean } |
필드 | |
---|---|
resourceLink |
변경할 수 없습니다. GKE 클러스터에 대한 GCP 리소스의 자체 링크입니다. 예를 들면 다음과 같습니다.
영역 클러스터도 지원됩니다. |
clusterMissing |
출력 전용입니다. clusterMissing이 설정되면 GKE 클러스터가 GKE 제어 영역에 더 이상 존재하지 않음을 나타냅니다. |
OnPremCluster
OnPremCluster에는 GKE On-Prem 클러스터 관련 정보가 포함됩니다.
JSON 표현 |
---|
{
"resourceLink": string,
"clusterMissing": boolean,
"adminCluster": boolean,
"clusterType": enum ( |
필드 | |
---|---|
resourceLink |
변경할 수 없습니다. GKE On-Prem 클러스터에 대한 GCP 리소스의 자체 링크입니다. 예를 들면 다음과 같습니다. //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 |
변경할 수 없습니다. 에지 클러스터에 대한 GCP 리소스의 자체 링크입니다. 예를 들면 다음과 같습니다. //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster |
ApplianceCluster
ApplianceCluster에는 GDC Edge 어플라이언스 클러스터 관련 정보가 포함됩니다.
JSON 표현 |
---|
{ "resourceLink": string } |
필드 | |
---|---|
resourceLink |
변경할 수 없습니다. 어플라이언스 클러스터의 GCP 리소스의 자체 링크입니다. 예를 들면 다음과 같습니다. //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 |
출력 전용입니다. '/version'으로 보고된 Kubernetes API 서버 버전 문자열입니다. |
nodeProviderId |
출력 전용입니다. Kubernetes 엔드포인트의 노드 목록에서 첫 번째 노드로 보고된 노드 providerID입니다. 0 노드 클러스터를 지원하는 Kubernetes 플랫폼에서(예: GKE-on-GCP), nodeCount는 0이 되고 nodeProviderId는 비어 있습니다. |
nodeCount |
출력 전용입니다. Kubernetes 노드 리소스로 보고되는 노드 수입니다. |
vcpuCount |
출력 전용입니다. Kubernetes 노드 리소스로 보고되는 vCPU 수입니다. |
memoryMb |
출력 전용입니다. 모든 Kubernetes 노드 리소스의 합계로 보고되는 총 메모리 용량(MB)입니다. |
updateTime |
출력 전용입니다. 이러한 세부정보가 마지막으로 업데이트된 시간입니다. 이 updateTime은 멤버십 수준의 updateTime과 다릅니다. EndpointDetails가 API 소비자에 대해 내부적으로 업데이트됩니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
KubernetesResource
KubernetesResource에는 클러스터의 멤버십 Kubernetes 리소스에 대한 YAML 매니페스트 및 구성이 포함됩니다. memberships.create 또는 memberships.patch 다음에 이러한 리소스를 클러스터에 다시 적용해야 합니다.
JSON 표현 |
---|
{ "membershipCrManifest": string, "membershipResources": [ { object ( |
필드 | |
---|---|
membershipCrManifest |
입력 전용입니다. 멤버십 CR의 YAML 표현입니다. 이 필드는 허브가 CR을 직접 읽을 수 있는 GKE 클러스터의 경우에 무시됩니다. 호출자는 memberships.create 또는 memberships.patch 중 클러스터에 현재 있는 CR을 제공해야 합니다. 그렇지 않고 아무 것도 없으면 이 필드를 비워 둡니다. CR 매니페스트는 클러스터가 다른 멤버십에 등록되지 않았는지 확인하기 위해 사용됩니다. |
membershipResources[] |
출력 전용입니다. 멤버십 생성 후 그리고 모든 업데이트 작업 후 클러스터에 적용해야 하는 추가적인 Kubernetes 리소스입니다. 이 필드는 memberships.create 또는 memberships.patch로부터 성공한 장기 실행 작업으로 반환되는 멤버십에서만 채워집니다. 일반적인 memberships.get 또는 memberships.list 요청 중에는 채워지지 않습니다. 최초 등록 후 리소스 매니페스트를 가져오려면 호출자가 비어 있는 필드 마스크를 사용해서 memberships.patch 호출을 수행해야 합니다. |
connectResources[] |
출력 전용입니다. GKE Connect 에이전트를 설치하기 위한 Kubernetes 리소스입니다. 이 필드는 memberships.create 또는 memberships.patch로부터 성공한 장기 실행 작업으로 반환되는 멤버십에서만 채워집니다. 일반적인 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
멤버십 리소스의 상태입니다.
JSON 표현 |
---|
{
"code": enum ( |
필드 | |
---|---|
code |
출력 전용입니다. 멤버십 리소스의 현재 상태입니다. |
description |
이 필드는 허브 서비스에서 설정되지 않습니다. |
updateTime |
이 필드는 허브 서비스에서 설정되지 않습니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
MembershipState.Code
Code는 멤버십 리소스의 상태를 설명합니다.
열거형 | |
---|---|
CODE_UNSPECIFIED |
코드가 설정되지 않았습니다. |
CREATING |
클러스터를 등록하는 중입니다. |
READY |
클러스터가 등록되었습니다. |
DELETING |
클러스터를 등록 취소하는 중입니다. |
UPDATING |
멤버십을 업데이트하는 중입니다. |
SERVICE_UPDATING |
허브 서비스에서 멤버십을 업데이트하는 중입니다. |
Authority
Authority는 Google이 이 멤버십에서 ID를 인식하는 방법을 인코딩합니다. 자세한 내용은 워크로드 아이덴티티 문서 https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity를 참조하세요.
JSON 표현 |
---|
{ "issuer": string, "workloadIdentityPool": string, "identityProvider": string, "oidcJwks": string } |
필드 | |
---|---|
issuer |
선택사항입니다. JWT(JSON 웹 토큰) 발급기관 URI입니다. 설정된 경우에는 Google에서 이 발급자의 유효한 OIDC 토큰으로 workloadIdentityPool 내에서 인증을 수행하도록 허용됩니다. 발급자의 토큰을 검증하기 위해 이 URI에서 OIDC 탐색이 수행됩니다.
|
workloadIdentityPool |
출력 전용입니다. 해당 허브에 속하는 모든 멤버십 간에 공유되는 허브당 하나의 워크로드 아이덴티티 풀이 있습니다. {PROJECT_ID}에서 호스팅되는 허브의 경우 이 API의 새 버전에서 변경되더라도 워크로드 풀 형식이 |
identityProvider |
출력 전용입니다. 워크로드 아이덴티티 풀의 |
oidcJwks |
선택사항입니다. JWKS 형식의 이 멤버십에 대한 OIDC 확인 키입니다(RFC 7517). 이 필드가 설정된 경우에는 base64 인코딩 문자열입니다. |
Membership.InfrastructureType
멤버십의 인프라 유형을 지정합니다. 인프라 유형은 허브에서 가격 책정을 포함한 인프라 특정 동작을 제어하기 위해 사용됩니다.
각 GKE 배포판(on-GCP, on-Prem, on-X,...)은 이 필드를 자동으로 설정하지만 연결된 클러스터 고객은 등록 중 유형을 지정해야 합니다.
열거형 | |
---|---|
INFRASTRUCTURE_TYPE_UNSPECIFIED |
유형이 지정되지 않았습니다. 일부 허브 기능은 유형이 지정되어 있어야 하며 이 값의 멤버십을 지원하지 않습니다. |
ON_PREM |
고객이 소유하거나 운영하는 비공개 인프라입니다. 여기에는 GKE-OnPrem 및 GKE-OnBareMetal과 같은 GKE 배포판이 포함됩니다. |
MULTI_CLOUD |
퍼블릭 클라우드 인프라입니다. |
MonitoringConfig
MonitoringConfig는 Fleet 기반 애플리케이션/서비스/UI에 기본 클러스터의 측정항목을 클라우드 모니터링 서비스에 보고하는 방법을 알려줍니다. 비어 있음에서 비어 있지 않음으로 설정할 수 있지만 측정항목의 연속성을 의도치 않게 방해하지 않도록 방지하기 위해 직접 수정은 불가능합니다.
JSON 표현 |
---|
{ "projectId": string, "location": string, "cluster": string, "kubernetesMetricsPrefix": string, "clusterHash": string } |
필드 | |
---|---|
projectId |
선택사항입니다. 측정항목 보고를 위해 사용된 프로젝트입니다. |
location |
선택사항입니다. 측정항목 보고를 위해 사용된 위치입니다. |
cluster |
선택사항입니다. 측정항목 보고를 위해 사용된 클러스터 이름입니다. VMWare/베어메탈/멀티 클라우드용 Anthos 클러스터의 경우 {clusterType}/{clusterName} 형식입니다. 예를 들면 'awsClusters/cluster_1'입니다. |
kubernetesMetricsPrefix |
선택사항입니다. Kubernetes 시스템 측정항목(사용 가능한 경우)은 이 프리픽스로 기록됩니다. 기본값은 GKE의 경우 kubernetes.io, Anthos의 경우 kubernetes.io/anthos입니다. 참고: Anthos 멀티 클라우드에는 현재 kubernetes.io 프리픽스가 사용되지만 kubernetes.io/anthos를 사용하도록 마이그레이션될 예정입니다. |
clusterHash |
선택사항입니다. GKE 및 멀티 클라우드 클러스터의 경우 클러스터 리소스의 UUID입니다. VMWare 및 베어메탈 클러스터의 경우 kube-system UID입니다. |
메서드 |
|
---|---|
|
새 멤버십을 만듭니다. |
|
멤버십을 삭제합니다. |
|
GKE Connect 에이전트의 배포를 위한 매니페스트를 생성합니다. |
|
GenerateExclusivityManifest는 필요한 경우 클러스터의 독점 아티팩트를 업데이트하기 위한 매니페스트를 생성합니다. |
|
멤버십 세부정보를 가져옵니다. |
|
리소스의 액세스 제어 정책을 가져옵니다. |
|
특정 프로젝트 및 위치의 멤버십을 나열합니다. |
|
기존 멤버십을 업데이트합니다. |
|
지정된 리소스의 액세스 제어 정책을 설정합니다. |
|
지정된 리소스에 대해 호출자가 보유한 권한을 반환합니다. |
|
ValidateExclusivity는 클러스터의 독점 상태를 검증합니다. |