Package google.cloud.gkehub.v1beta1

색인

GkeHubMembershipService

GKE 허브 멤버십 서비스는 Membership 리소스로 표현되는 많은 Kubernetes 클러스터를 Google Cloud에 등록하는 작업을 처리합니다.

GKE 허브는 현재 전역 리전과 https://cloud.google.com/compute/docs/regions-zones에 나와 있는 모든 리전에서 사용할 수 있습니다. 특성은 전역 리전에서만 사용할 수 있고 멤버십은 전역 리전 및 모든 리전에서 사용할 수 있습니다.

멤버십 관리는 간단하지 않을 수 있습니다. 멤버십 리소스를 사용하여 작업할 때는 가능한 경우 Google에서 제공하는 클라이언트 라이브러리 또는 도구 중 하나를 사용하는 것이 좋습니다.

CreateMembership

rpc CreateMembership(CreateMembershipRequest) returns (Operation)

새 멤버십을 만듭니다.

현재 Google Cloud의 GKE 클러스터에만 지원됩니다.. 다른 클러스터를 등록하려면 https://cloud.google.com/kubernetes-engine/enterprise/multicluster-management/connect/registering-a-cluster의 안내를 따르세요.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

DeleteMembership

rpc DeleteMembership(DeleteMembershipRequest) returns (Operation)

멤버십을 삭제합니다.

현재 Google Cloud의 GKE 클러스터에만 지원됩니다.. 다른 클러스터를 등록 취소하려면 https://cloud.google.com/kubernetes-engine/enterprise/multicluster-management/connect/unregistering-a-cluster의 안내를 따르세요.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

GenerateConnectManifest

rpc GenerateConnectManifest(GenerateConnectManifestRequest) returns (GenerateConnectManifestResponse)

GKE Connect 에이전트의 배포를 위한 매니페스트를 생성합니다.

이 메서드는 Google 제공 라이브러리에서 내부적으로 사용됩니다. 대부분의 클라이언트는 이 메서드를 직접 호출할 필요가 없습니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

GenerateExclusivityManifest

rpc GenerateExclusivityManifest(GenerateExclusivityManifestRequest) returns (GenerateExclusivityManifestResponse)

GenerateExclusivityManifest는 필요한 경우 클러스터의 독점성 아티팩트를 업데이트하기 위해 매니페스트를 생성합니다.

독점성 아티팩트에는 멤버십 커스텀 리소스 정의(CRD) 및 싱글톤 멤버십 커스텀 리소스(CR)가 포함됩니다. ValidateExclusivity와 함께 독점성 아티팩트는 Kubernetes 클러스터가 단일 GKE 허브에만 등록되도록 보장합니다.

멤버십 CRD는 버전 관리가 가능하며 GKE Hub API 서버가 새 버전의 CRD 및 해당 CR을 제공하기 시작할 때 변환해야 할 수 있습니다. 버전 간에 차이가 있는 경우 응답은 변환된 CRD 및 CR이 됩니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

GetMembership

rpc GetMembership(GetMembershipRequest) returns (Membership)

멤버십 세부정보를 가져옵니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

ListMemberships

rpc ListMemberships(ListMembershipsRequest) returns (ListMembershipsResponse)

특정 프로젝트 및 위치의 멤버십을 나열합니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

UpdateMembership

rpc UpdateMembership(UpdateMembershipRequest) returns (Operation)

기존 멤버십을 업데이트합니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

ValidateExclusivity

rpc ValidateExclusivity(ValidateExclusivityRequest) returns (ValidateExclusivityResponse)

ValidateExclusivity는 클러스터의 독점성 상태를 검증합니다. 검증은 기존 허브 멤버십 리소스에 종속되지 않습니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 인증 개요를 참조하세요.

ApplianceCluster

ApplianceCluster에는 GDC Edge 어플라이언스 클러스터 관련 정보가 포함됩니다.

필드

권한

Authority는 Google이 이 멤버십에서 ID를 인식하는 방법을 인코딩합니다. 자세한 내용은 워크로드 아이덴티티 문서 https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity를 참조하세요.

필드
issuer

string

선택사항입니다. JWT(JSON 웹 토큰) 발급기관 URI입니다. issuerhttps://로 시작해야 하며 길이가 2,000자 미만인 유효한 URL이어야 합니다.

설정된 경우에는 Google에서 이 발급자의 유효한 OIDC 토큰으로 workload_identity_pool 내에서 인증을 수행하도록 허용됩니다. 발급자의 토큰을 검증하기 위해 이 URI에서 OIDC 탐색이 수행됩니다.

issuer를 해제하면 워크로드 아이덴티티가 사용 중지됩니다. issuer는 직접 수정할 수 없습니다. 새 발급기관을 사용하고 워크로드 아이덴티티를 다시 사용 설정하기 전에 이를 삭제하고 워크로드 아이덴티티를 사용 중지해야 합니다.

workload_identity_pool

string

출력 전용입니다. issuer가 인식되는 워크로드 아이덴티티 풀의 이름입니다.

해당 허브에 속하는 모든 멤버십 간에 공유되는 허브당 하나의 워크로드 아이덴티티 풀이 있습니다. {PROJECT_ID}에서 호스팅되는 허브의 경우 이 API의 새 버전에서 변경되더라도 워크로드 풀 형식이 {PROJECT_ID}.hub.id.goog입니다.

identity_provider

string

출력 전용입니다. 워크로드 아이덴티티 풀의 issuer를 반영하는 ID 공급업체입니다.

oidc_jwks

bytes

선택사항입니다. JWKS 형식의 이 멤버십에 대한 OIDC 확인 키입니다(RFC 7517).

이 필드가 설정된 경우에는 issuer에서 OIDC 탐색이 수행되지 않으며, 대신 이 필드를 사용하여 OIDC 토큰을 검증합니다.

ConnectAgent

최종 사용자가 GKE Connect를 사용하는 데 필요한 정보입니다.

필드
name
(deprecated)

string

설정하지 마세요.

proxy

bytes

선택사항입니다. 에이전트에서 gkeconnect.googleapis.com으로의 연결에 프록시 사용이 필요한 경우 프록시의 URI입니다. 형식은 프록시에서 지원되는 HTTP/HTTPS 프로토콜에 따라 http(s)://{proxy_address} 형식이어야 합니다. 그러면 Connect 에이전트의 아웃바운드 트래픽이 HTTP(S) 프록시를 통해 전달됩니다.

namespace

string

선택사항입니다. GKE Connect 에이전트 리소스의 네임스페이스입니다. 기본값은 gke-connect입니다.

Connect 에이전트는 기본 네임스페이스에서 실행될 때 자동으로 승인됩니다. 그렇지 않으면 추가 IAM 바인딩으로 명시적 승인을 부여해야 합니다.

ConnectAgentResource

ConnectAgentResource는 Connect 에이전트 배포를 위한 Kubernetes 리소스 매니페스트를 나타냅니다.

필드
type

TypeMeta

리소스의 Kubernetes 유형입니다.

manifest

string

리소스의 YAML 매니페스트입니다.

CreateMembershipRequest

GkeHubMembershipService.CreateMembership 메서드에 대한 요청 메시지입니다.

필드
parent

string

필수 항목입니다. 멤버십이 생성될 상위 요소(프로젝트 및 위치)입니다. projects/*/locations/* 형식으로 지정됩니다.

승인을 처리하려면 지정된 리소스 parent에 대해 다음과 같은 IAM 권한이 필요합니다.

  • gkehub.memberships.create
membership_id

string

필수 항목입니다. 클라이언트가 선택한 멤버십 ID입니다. membership_id는 유효한 RFC 1123 준수 DNS 라벨이어야 합니다.

  1. 최대 63자(영문 기준)
  2. 소문자 영숫자 문자 또는 -로 구성되어야 합니다.
  3. 영숫자 문자로 시작하고 끝나야 합니다.

[a-z0-9]([-a-z0-9]*[a-z0-9])? 정규식으로 표현될 수 있으며, 최대 63자를 포함합니다.

resource

Membership

필수 항목입니다. 만들 멤버십입니다.

request_id

string

선택사항입니다. 요청을 식별하는 요청 ID입니다. 요청을 다시 시도해야 하는 경우 서버가 이미 완료되었을 때 요청을 무시하도록 고유한 요청 ID를 지정합니다. 서버는 첫 번째 요청 후 최소 60분 동안 이를 보장합니다.

예를 들어 최초 요청을 수행하고 요청이 타임아웃되는 경우를 생각해 보세요. 동일한 요청 ID로 다시 요청을 수행하면 서버는 동일한 요청 ID를 가진 원래 작업이 수신되었는지 확인할 수 있으며 그럴 경우 두 번째 요청을 무시합니다. 이렇게 해서 클라이언트가 실수로 중복된 약정을 생성하지 않도록 방지합니다.

요청 ID는 유효한 UUID여야 하며, 0 UUID는 지원되지 않습니다(00000000-0000-0000-0000-000000000000).

DeleteMembershipRequest

GkeHubMembershipService.DeleteMembership 메서드의 요청 메시지입니다.

필드
name

string

필수 항목입니다. projects/*/locations/*/memberships/* 형식의 멤버십 리소스 이름입니다.

승인을 처리하려면 지정된 리소스 name에 대해 다음과 같은 IAM 권한이 필요합니다.

  • gkehub.memberships.delete
request_id

string

선택사항입니다. 요청을 식별하는 요청 ID입니다. 요청을 다시 시도해야 하는 경우 서버가 이미 완료되었을 때 요청을 무시하도록 고유한 요청 ID를 지정합니다. 서버는 첫 번째 요청 후 최소 60분 동안 이를 보장합니다.

예를 들어 최초 요청을 수행하고 요청이 타임아웃되는 경우를 생각해 보세요. 동일한 요청 ID로 다시 요청을 수행하면 서버는 동일한 요청 ID를 가진 원래 작업이 수신되었는지 확인할 수 있으며 그럴 경우 두 번째 요청을 무시합니다. 이렇게 해서 클라이언트가 실수로 중복된 약정을 생성하지 않도록 방지합니다.

요청 ID는 유효한 UUID여야 하며, 0 UUID는 지원되지 않습니다(00000000-0000-0000-0000-000000000000).

force

bool

선택사항입니다. true로 설정하면 이 멤버십의 하위 리소스도 삭제됩니다. 그렇지 않으면 멤버십에 하위 리소스가 없는 경우에만 요청이 작동합니다.

EdgeCluster

EdgeCluster에는 Google 에지 클러스터와 관련된 정보가 포함됩니다.

필드

GenerateConnectManifestRequest

GkeHubMembershipService.GenerateConnectManifest 메서드의 요청 메시지입니다.

필드
name

string

필수 항목입니다. 에이전트가 연결할 멤버십 리소스 이름이며 projects/*/locations/*/memberships/* 형식입니다.

승인을 처리하려면 지정된 리소스 name에 대해 다음과 같은 IAM 권한이 필요합니다.

  • gkehub.memberships.generateConnectManifest
connect_agent

ConnectAgent

선택사항입니다. 매니페스트를 생성할 Connect 에이전트입니다.

version

string

선택사항입니다. 사용할 Connect 에이전트 버전입니다. 기본값은 최신 버전입니다.

is_upgrade

bool

선택사항입니다. true인 경우 업그레이드 전용 리소스를 생성합니다. 설치 전용으로 생성된 일부 리소스(예: 보안 비밀)는 제외됩니다.

registry

string

선택사항입니다. Connect 에이전트 이미지를 가져올 레지스트리입니다. 기본값은 gcr.io/gkeconnect입니다.

image_pull_secret_content

bytes

선택사항입니다. 레지스트리에 대한 이미지 가져오기 보안 비밀 콘텐츠입니다(공개가 아닌 경우).

GenerateConnectManifestResponse

GenerateConnectManifestResponse에는 Connect 에이전트 설치/업그레이드를 위한 매니페스트 정보가 포함되어 있습니다.

필드
manifest[]

ConnectAgentResource

GKE Connect 에이전트 설치/업그레이드를 위해 클러스터에 적용해야 하는 Kubernetes 리소스의 순서가 지정된 목록입니다.

GenerateExclusivityManifestRequest

독점성 아티팩트의 매니페스트 생성 요청입니다.

필드
name

string

필수 항목입니다. projects/*/locations/*/memberships/* 형식의 멤버십 리소스 이름입니다.

승인을 처리하려면 지정된 리소스 name에 대해 다음과 같은 IAM 권한이 필요합니다.

  • gkehub.memberships.generateConnectManifest
crd_manifest

string

선택사항입니다. kubectl get customresourcedefinitions membership으로 검색된 멤버십 CRD의 YAML 매니페스트입니다. 리소스가 없는 경우 비워둡니다.

cr_manifest

string

선택사항입니다. kubectl get memberships membership으로 검색된 멤버십 CR의 YAML 매니페스트입니다. 리소스가 없는 경우 비워둡니다.

GenerateExclusivityManifestResponse

클라이언트가 적용할 독점성 아티팩트 매니페스트의 응답입니다.

필드
crd_manifest

string

최신 버전의 CRD를 사용할 수 있는 경우 적용할 멤버십 CRD의 YAML 매니페스트입니다. 업데이트를 적용할 필요가 없는 경우 비어 둡니다.

cr_manifest

string

새 버전의 CR을 사용할 수 있는 경우 적용할 멤버십 CR의 YAML 매니페스트입니다. 업데이트를 적용할 필요가 없는 경우 비어 둡니다.

GetMembershipRequest

GkeHubMembershipService.GetMembership 메서드의 요청 메시지입니다.

필드
name

string

필수 항목입니다. projects/*/locations/*/memberships/* 형식의 멤버십 리소스 이름입니다.

승인을 처리하려면 지정된 리소스 name에 대해 다음과 같은 IAM 권한이 필요합니다.

  • gkehub.memberships.get

GkeCluster

GkeCluster에는 GKE 클러스터 관련 정보가 포함됩니다.

필드
cluster_missing

bool

출력 전용입니다. cluster_missing이 설정되면 GKE 클러스터가 GKE 제어 영역에 더 이상 존재하지 않음을 나타냅니다.

KubernetesMetadata

KubernetesMetadata는 Kubernetes 클러스터를 나타내는 멤버십에 대한 정보 제공용 메타데이터를 제공합니다.

필드
kubernetes_api_server_version

string

출력 전용입니다. '/version'으로 보고된 Kubernetes API 서버 버전 문자열입니다.

node_provider_id

string

출력 전용입니다. Kubernetes 엔드포인트의 노드 목록에서 첫 번째 노드로 보고된 노드 providerID입니다. 제로 노드 클러스터를 지원하는 Kubernetes 플랫폼(예: GKE-on-GCP)에서는 node_count가 0이고 node_provider_id가 비어 있습니다.

node_count

int32

출력 전용입니다. Kubernetes 노드 리소스로 보고되는 노드 수입니다.

vcpu_count

int32

출력 전용입니다. Kubernetes 노드 리소스로 보고되는 vCPU 수입니다.

memory_mb

int32

출력 전용입니다. 모든 Kubernetes 노드 리소스의 합계로 보고되는 총 메모리 용량(MB)입니다.

update_time

Timestamp

출력 전용입니다. 이러한 세부정보가 마지막으로 업데이트된 시간입니다. 이 update_time은 멤버십 수준의 update_time과 다릅니다. EndpointDetails가 API 소비자에 대해 내부적으로 업데이트됩니다.

KubernetesResource

KubernetesResource에는 클러스터의 멤버십 Kubernetes 리소스에 대한 YAML 매니페스트 및 구성이 포함됩니다. CreateMembership 또는 UpdateMembership 이후 이러한 리소스를 클러스터에 다시 적용해야 합니다.

필드
membership_cr_manifest

string

입력 전용입니다. 멤버십 CR의 YAML 표현입니다. 이 필드는 허브가 CR을 직접 읽을 수 있는 GKE 클러스터의 경우에 무시됩니다.

호출자는 CreateMembership 또는 UpdateMembership 중 클러스터에 현재 있는 CR을 제공해야 합니다. 그렇지 않고 아무 것도 없으면 이 필드를 비워 둡니다. CR 매니페스트는 클러스터가 다른 멤버십에 등록되지 않았는지 확인하기 위해 사용됩니다.

membership_resources[]

ResourceManifest

출력 전용입니다. 멤버십 생성 후 그리고 모든 업데이트 작업 후 클러스터에 적용해야 하는 추가적인 Kubernetes 리소스입니다.

이 필드는 CreateMembership 또는 UpdateMembership으로부터 성공한 장기 실행 작업으로 반환되는 멤버십에서만 채워집니다. 일반적인 GetMembership 또는 ListMemberships 요청 중에는 채워지지 않습니다. 최초 등록 후 리소스 매니페스트를 가져오려면 호출자가 비어 있는 필드 마스크를 사용해서 UpdateMembership 호출을 수행해야 합니다.

connect_resources[]

ResourceManifest

출력 전용입니다. GKE Connect 에이전트를 설치하기 위한 Kubernetes 리소스입니다.

이 필드는 CreateMembership 또는 UpdateMembership으로부터 성공한 장기 실행 작업으로 반환되는 멤버십에서만 채워집니다. 일반적인 GetMembership 또는 ListMemberships 요청 중에는 채워지지 않습니다. 최초 등록 후 리소스 매니페스트를 가져오려면 호출자가 비어 있는 필드 마스크를 사용해서 UpdateMembership 호출을 수행해야 합니다.

resource_options

ResourceOptions

선택사항입니다. Kubernetes 리소스 생성 옵션입니다.

ListMembershipsRequest

GkeHubMembershipService.ListMemberships 메서드의 요청 메시지입니다.

필드
parent

string

필수 항목입니다. 멤버십이 나열되는 상위 요소(프로젝트 및 위치)입니다. projects/*/locations/* 형식으로 지정됩니다. projects/*/locations/-는 모든 리전의 멤버십을 나열합니다.

승인을 처리하려면 지정된 리소스 parent에 대해 다음과 같은 IAM 권한이 필요합니다.

  • gkehub.memberships.list
page_size

int32

선택사항입니다. 리소스의 '페이지'를 요청할 때 page_size는 반환할 리소스 수를 지정합니다. 지정하지 않거나 0으로 설정된 경우 모든 리소스가 반환됩니다.

page_token

string

선택사항입니다. 리소스를 계속 나열할 위치에서 목록의 위치를 지정하는 ListMemberships에 대한 이전 호출로 반환된 토큰입니다.

filter

string

선택사항입니다. https://google.aip.dev/160에 설명된 구문을 따라 필터 표현식과 일치하는 멤버십을 나열합니다.

예:

  • foo-proj 프로젝트 및 global 위치의 이름이 bar인 멤버십:
  name = "projects/foo-proj/locations/global/membership/bar"
  • foo라는 라벨이 있는 멤버십:
  labels.foo:*
  • 값이 barfoo라는 라벨이 있는 멤버십:
  labels.foo = bar
  • CREATING 상태인 멤버십:
  state = CREATING
order_by

string

선택사항입니다. 출력을 비교하고 정렬하는 데 사용할 하나 이상의 필드입니다. https://google.aip.dev/132#ordering을 참조하세요.

ListMembershipsResponse

GkeHubMembershipService.ListMemberships 메서드에 대한 응답 메시지입니다.

필드
resources[]

Membership

일치하는 멤버십 목록입니다.

next_page_token

string

ListMemberships 메서드에서 리소스의 다음 페이지를 요청하기 위한 토큰입니다. 빈 문자열 값은 반환할 리소스가 없음을 의미합니다.

unreachable[]

string

이 목록을 가져오는 동안 도달할 수 없는 위치 목록입니다.

Membership

Membership에는 구성원 클러스터에 대한 정보가 포함됩니다.

필드
name

string

출력 전용입니다. projects/*/locations/*/memberships/{membership_id} 형식으로 생성 중에 설정된 이 멤버십 리소스의 고유한 전체 이름입니다.

membership_id는 유효한 RFC 1123 준수 DNS 라벨이어야 합니다.

  1. 최대 63자(영문 기준)
  2. 소문자 영숫자 문자 또는 -로 구성되어야 합니다.
  3. 영숫자 문자로 시작하고 끝나야 합니다.

[a-z0-9]([-a-z0-9]*[a-z0-9])? 정규식으로 표현될 수 있으며, 최대 63자를 포함합니다.

labels

map<string, string>

선택사항입니다. 이 멤버십의 GCP 라벨입니다.

description

string

선택사항입니다. 이 멤버십에 대한 설명으로, 63자(영문 기준)로 제한됩니다. [a-zA-Z0-9][a-zA-Z0-9_\-\.\ ]* 정규식과 일치해야 합니다.

state

MembershipState

출력 전용입니다. 멤버십 리소스의 상태입니다.

authority

Authority

선택사항입니다. 이 멤버십에서 워크로드를 인식하는 방법입니다. 자세한 내용은 워크로드 아이덴티티 문서 https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity를 참조하세요.

create_time

Timestamp

출력 전용입니다. 멤버십이 생성된 시간입니다.

update_time

Timestamp

출력 전용입니다. 멤버십이 마지막으로 업데이트된 시간입니다.

delete_time

Timestamp

출력 전용입니다. 멤버십이 삭제된 시간입니다.

external_id

string

선택사항입니다. 외부에서 생성되고 관리되는 이 멤버십의 ID입니다. 이 ID는 생성 후 수정이 가능하지만 권장되지 않습니다. GKE 클러스터의 경우 external_id는 Hub API에서 관리되며 업데이트가 무시됩니다.

ID가 [a-zA-Z0-9][a-zA-Z0-9_\-\.]* 정규식과 일치해야 합니다.

이 멤버십이 Kubernetes 클러스터를 나타내는 경우 이 값을 kube-system 네임스페이스 객체의 UID로 설정해야 합니다.

last_connection_time

Timestamp

출력 전용입니다. Connect를 사용하는 클러스터의 경우 Google Cloud에 설정된 가장 최근 연결의 타임스탬프입니다. 이 시간은 연속적이 아닌 몇 분 간격으로 업데이트됩니다. GKE Connect를 사용하지 않거나 성공적으로 연결되지 않은 클러스터의 경우 필드가 설정 해제됩니다.

unique_id

string

출력 전용입니다. 이 리소스에 대해 Google에서 생성된 UUID입니다. 모든 멤버십 리소스에서 고유합니다. 멤버십 리소스가 삭제되고 동일한 이름의 다른 리소스가 생성되면 다른 unique_id를 갖습니다.

infrastructure_type

Membership.InfrastructureType

선택사항입니다. 이 멤버십이 실행 중인 인프라 유형입니다.

monitoring_config

MonitoringConfig

선택사항입니다. 이 멤버십의 모니터링 구성 정보입니다.

통합 필드 type입니다. 이 멤버십 type으로 표현되는 리소스 유형은 다음 중 하나만 가능합니다.
endpoint

MembershipEndpoint

선택사항입니다. 이 구성원에 연결하기 위한 엔드포인트 정보입니다.

InfrastructureType

멤버십의 인프라 유형을 지정합니다. 인프라 유형은 허브에서 가격 책정을 포함한 인프라 특정 동작을 제어하기 위해 사용됩니다.

각 GKE 배포판(on-GCP, on-Prem, on-X,...)은 이 필드를 자동으로 설정하지만 연결된 클러스터 고객은 등록 중 유형을 지정해야 합니다.

열거형
INFRASTRUCTURE_TYPE_UNSPECIFIED 유형이 지정되지 않았습니다. 일부 허브 기능은 유형이 지정되어 있어야 하며 이 값의 멤버십을 지원하지 않습니다.
ON_PREM 고객이 소유하거나 운영하는 비공개 인프라입니다. 여기에는 GKE-OnPrem 및 GKE-OnBareMetal과 같은 GKE 배포판이 포함됩니다.
MULTI_CLOUD 퍼블릭 클라우드 인프라입니다.

MembershipEndpoint

MembershipEndpoint에는 Kubernetes API, 엔드포인트, 모든 추가 Kubernetes 메타데이터를 연결하는 데 필요한 정보가 포함되어 있습니다.

필드
kubernetes_metadata

KubernetesMetadata

출력 전용입니다. 유용한 Kubernetes 관련 메타데이터입니다.

kubernetes_resource

KubernetesResource

선택사항입니다. 안정적인 상태에서 올바르게 등록된 클러스터에 적용해야 하는 클러스터 내 Kubernetes 리소스입니다. 이러한 리소스는 다음을 수행합니다.

  • 클러스터가 단 하나의 허브 멤버십에만 배타적으로 등록되었는지 확인합니다.
  • 멤버십 권한 필드에 제공되는 워크로드 풀 정보를 전파합니다.
  • 기본 허브 특성의 적절한 초기 구성이 있는지 확인합니다.
통합 필드 type입니다. 등록된 클러스터의 클러스터 정보입니다. type은 다음 중 하나여야 합니다.
gke_cluster

GkeCluster

선택사항입니다. GKE-on-GCP 클러스터 관련 정보입니다.

on_prem_cluster

OnPremCluster

선택사항입니다. GKE On-Prem 클러스터 관련 정보입니다. resourceLink가 없는 온프렘 사용자 클러스터는 이 필드를 사용할 수 없으며 대신 nil '유형'을 포함해야 합니다.

multi_cloud_cluster

MultiCloudCluster

선택사항입니다. GKE Multi-Cloud 클러스터 관련 정보입니다.

edge_cluster

EdgeCluster

선택사항입니다. Google 에지 클러스터 관련 정보입니다.

appliance_cluster

ApplianceCluster

선택사항입니다. GDC Edge 어플라이언스 클러스터 관련 정보입니다.

MembershipState

멤버십 리소스의 상태입니다.

필드
code

MembershipState.Code

출력 전용입니다. 멤버십 리소스의 현재 상태입니다.

description
(deprecated)

string

이 필드는 허브 서비스에서 설정되지 않습니다.

update_time
(deprecated)

Timestamp

이 필드는 허브 서비스에서 설정되지 않습니다.

Code

Code는 멤버십 리소스의 상태를 설명합니다.

열거형
CODE_UNSPECIFIED 코드가 설정되지 않았습니다.
CREATING 클러스터를 등록하는 중입니다.
READY 클러스터가 등록되었습니다.
DELETING 클러스터를 등록 취소하는 중입니다.
UPDATING 멤버십을 업데이트하는 중입니다.
SERVICE_UPDATING 허브 서비스에서 멤버십을 업데이트하는 중입니다.

MonitoringConfig

MonitoringConfig는 Fleet 기반 애플리케이션/서비스/UI에 기본 클러스터의 측정항목을 클라우드 모니터링 서비스에 보고하는 방법을 알려줍니다. 비어 있음에서 비어 있지 않음으로 설정할 수 있지만 측정항목의 연속성을 의도치 않게 방해하지 않도록 방지하기 위해 직접 수정은 불가능합니다.

필드
project_id

string

선택사항입니다. 측정항목 보고를 위해 사용된 프로젝트입니다.

location

string

선택사항입니다. 측정항목 보고를 위해 사용된 위치입니다.

cluster

string

선택사항입니다. 측정항목 보고를 위해 사용된 클러스터 이름입니다. VMware용 Anthos/베어메탈/멀티 클라우드 클러스터의 경우 {cluster_type}/{cluster_name} 형식입니다. 예를 들면 'awsClusters/cluster_1'입니다.

kubernetes_metrics_prefix

string

선택사항입니다. Kubernetes 시스템 측정항목(사용 가능한 경우)은 이 프리픽스로 기록됩니다. 기본값은 GKE의 경우 kubernetes.io, Anthos의 경우 kubernetes.io/anthos입니다. 참고: Anthos 멀티 클라우드에는 현재 kubernetes.io 프리픽스가 사용되지만 kubernetes.io/anthos를 사용하도록 마이그레이션될 예정입니다.

cluster_hash

string

선택사항입니다. GKE 및 멀티 클라우드 클러스터의 경우 클러스터 리소스의 UUID입니다. VMWare 및 베어메탈 클러스터의 경우 kube-system UID입니다.

MultiCloudCluster

MultiCloudCluster에는 GKE Multi-Cloud 클러스터 관련 정보가 포함됩니다.

필드
cluster_missing

bool

출력 전용입니다. cluster_missing이 설정되면 이 GKE Multi-Cloud 클러스터의 API(gkemulticloud.googleapis.com) 리소스가 더 이상 존재하지 않음을 나타냅니다.

OnPremCluster

OnPremCluster에는 GKE On-Prem 클러스터 관련 정보가 포함됩니다.

필드
cluster_missing

bool

출력 전용입니다. cluster_missing이 설정되면 이 GKE On-Prem 클러스터의 API(gkeonprem.googleapis.com) 리소스가 더 이상 존재하지 않음을 나타냅니다.

admin_cluster

bool

변경할 수 없습니다. 클러스터가 관리자 클러스터인지 여부입니다.

cluster_type

OnPremCluster.ClusterType

변경할 수 없습니다. 온프렘 클러스터의 유형입니다.

ClusterType

ClusterType은 온프렘 클러스터 유형을 설명합니다.

열거형
CLUSTERTYPE_UNSPECIFIED ClusterType이 설정되지 않습니다.
BOOTSTRAP ClusterType이 부트스트랩 클러스터입니다.
HYBRID ClusterType이 베어메탈 하이브리드 클러스터입니다.
STANDALONE ClusterType이 베어메탈 독립형 클러스터입니다.
USER ClusterType이 사용자 클러스터입니다.

OperationMetadata

장기 실행 작업의 메타데이터를 나타냅니다.

필드
create_time

Timestamp

출력 전용입니다. 작업이 생성된 시간입니다.

end_time

Timestamp

출력 전용입니다. 작업 실행이 완료된 시간입니다.

target

string

출력 전용입니다. 작업 대상에 대한 서버 정의 리소스 경로입니다.

verb

string

출력 전용입니다. 작업에 의해 실행된 동사의 이름입니다.

status_detail

string

출력 전용입니다. 상태에 대한 인간이 읽을 수 있는 상태입니다(존재하는 경우).

cancel_requested

bool

출력 전용입니다. 사용자가 작업 취소를 요청했는지를 나타냅니다. 성공적으로 취소된 작업은 Code.CANCELLED에 해당하는 google.rpc.Status.code가 1인 [Operation.error][] 값을 갖습니다.

api_version

string

출력 전용입니다. 작업을 시작하는 데 사용되는 API 버전입니다.

ResourceManifest

ResourceManifest는 클러스터에 적용할 단일 Kubernetes 리소스를 나타냅니다.

필드
manifest

string

리소스의 YAML 매니페스트입니다.

cluster_scoped

bool

매니페스트에 제공된 리소스가 cluster_scoped인지 여부입니다. 설정 해제된 경우 매니페스트가 네임스페이스 범위로 간주됩니다.

이 필드는 클러스터에 리소스를 적용할 때 REST 매핑에 사용됩니다.

ResourceOptions

ResourceOptions는 Kubernetes 리소스 생성을 위한 옵션을 나타냅니다.

필드
connect_version

string

선택사항입니다. connect_resources에 사용할 Connect 에이전트 버전입니다. 기본적으로 최신 GKE Connect 버전으로 지정됩니다. 버전은 현재 지원되는 버전이어야 하며 이전 버전은 거부됩니다.

v1beta1_crd

bool

선택사항입니다. CustomResourceDefinition 리소스에 대해 apiextensions/v1 대신 apiextensions/v1beta1을 사용합니다. 이 옵션은 Kubernetes apiserver 버전이 1.16 미만인 클러스터에 대해 설정해야 합니다.

k8s_version

string

선택사항입니다. Kubernetes 클러스터의 주 버전입니다. CustomResourceDefinition 리소스(apiextensions/v1beta1 또는 apiextensions/v1)에 사용할 버전을 결정하는 데만 사용됩니다.

TypeMeta

TypeMeta는 매니페스트에서 Kubernetes 리소스의 콘텐츠 언마샬링에 필요한 유형 정보입니다.

필드
kind

string

리소스의 종류입니다(예: 배포).

api_version

string

리소스의 API 버전입니다(예: v1).

UpdateMembershipRequest

GkeHubMembershipService.UpdateMembership 메서드의 요청 메시지입니다.

필드
name

string

필수 항목입니다. projects/[project_id]/locations/global/memberships/[membership_id] 형식의 멤버십 리소스 이름입니다.

승인을 처리하려면 지정된 리소스 name에 대해 다음과 같은 IAM 권한이 필요합니다.

  • gkehub.memberships.update
update_mask

FieldMask

필수 항목입니다. 업데이트할 필드의 마스크입니다. 이 마스크에 필드 경로를 하나 이상 지정해야 합니다.

resource

Membership

필수 항목입니다. update_mask에 지정된 필드만 업데이트됩니다. update_mask에 필드를 지정하고 여기에 값을 지정하지 않는 경우 이 필드가 삭제됩니다. 맵 필드를 업데이트하는 경우 키 값을 null 또는 빈 문자열로 설정하여 맵에서 키를 삭제합니다. 키 값을 빈 문자열로 업데이트할 수는 없습니다. update_mask를 특수 경로 '*'로 지정하면 모든 사용자 수정 가능한 필드가 resource와 일치하도록 완전히 바뀝니다.

request_id

string

선택사항입니다. 요청을 식별하는 요청 ID입니다. 요청을 다시 시도해야 하는 경우 서버가 이미 완료되었을 때 요청을 무시하도록 고유한 요청 ID를 지정합니다. 서버는 첫 번째 요청 후 최소 60분 동안 이를 보장합니다.

예를 들어 최초 요청을 수행하고 요청이 타임아웃되는 경우를 생각해 보세요. 동일한 요청 ID로 다시 요청을 수행하면 서버는 동일한 요청 ID를 가진 원래 작업이 수신되었는지 확인할 수 있으며 그럴 경우 두 번째 요청을 무시합니다. 이렇게 해서 클라이언트가 실수로 중복된 약정을 생성하지 않도록 방지합니다.

요청 ID는 유효한 UUID여야 하며, 0 UUID는 지원되지 않습니다(00000000-0000-0000-0000-000000000000).

ValidateExclusivityRequest

클러스터에 있는 멤버십 CR의 기존 상태를 검증하기 위한 요청입니다.

필드
parent

string

필수 항목입니다. 멤버십이 생성될 상위 요소(프로젝트 및 위치)입니다. projects/*/locations/* 형식으로 지정됩니다.

승인을 처리하려면 지정된 리소스 parent에 대해 다음과 같은 IAM 권한이 필요합니다.

  • gkehub.memberships.generateConnectManifest
cr_manifest

string

선택사항입니다. 클러스터에 있는 멤버십 CR의 YAML입니다. 멤버십 CR이 존재하지 않으면 비어 있습니다.

intended_membership

string

필수 항목입니다. parent 아래에 있는 의도된 멤버십 이름입니다. 이 메서드는 동일한 이름의 CreateMembership 호출을 예상하여 검증을 수행합니다.

ValidateExclusivityResponse

독점성 아티팩트 검증 결과 상태의 응답입니다.

필드
status

Status

검증 결과입니다.

  • OK는 GenerateExclusivityManifest가 생성한 매니페스트가 성공적으로 적용되었다는 가정 하에 독점성이 검증되었다는 것을 의미합니다.
  • ALREADY_EXISTS는 멤버십 CRD가 이미 다른 허브에 소유되어 있음을 의미합니다. 자세한 내용은 status.message를 참조하세요.