Package google.cloud.gkehub.v1beta1

索引

GkeHubMembershipService

GKE Hub MembershipService 处理许多 Kubernetes 集群向 Google Cloud 的注册,由 Membership 资源表示。

GKE Hub 目前可在全球区域和 https://cloud.google.com/compute/docs/regions-zones 中指定的所有区域使用,具体如下:针对特征 (feature),只能在全球区域使用;对于会员资格 (membership),则可在全球区域和上述所有区域使用。

成员资格的管理工作非常重要:在处理成员资格资源时,建议尽可能使用 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 Agent 的清单。

此方法供 Google 提供的库内部使用。大多数客户端不需要直接调用此方法。

授权范围

需要以下 OAuth 范围:

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

如需了解详情,请参阅身份验证概览

GenerateExclusivityManifest

rpc GenerateExclusivityManifest(GenerateExclusivityManifestRequest) returns (GenerateExclusivityManifestResponse)

GenerateExclusivityManifest 会生成清单,以根据需要更新集群中的排他性制品。

排他性制品包括成员资格自定义资源定义 (CRD) 和单例成员资格自定义资源 (CR)。与 ValidateExclusivity 结合使用时,排他性制品可保证 Kubernetes 集群仅注册到单个 GKE Hub。

成员资格 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 会验证集群中的排他性状态。这种验证不依赖于现有 Hub 成员资格资源。

授权范围

需要以下 OAuth 范围:

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

如需了解详情,请参阅身份验证概览

ApplianceCluster

ApplianceCluster 包含特定于 GDC Edge 设备集群的信息。

字段

目标主机

Authority 部分对 Google 用以识别此成员资格中身份的规则进行编码。如需了解详情,请参阅 Workload Identity 文档:https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity

字段
issuer

string

可选。JSON Web 令牌 (JWT) 的颁发者 URI。issuer 必须以 https:// 开头,并且是长度小于 2000 个字符的有效网址。

如果设置了该字段,Google 将允许通过来自此颁发者的有效 OIDC 令牌在 workload_identity_pool 内进行身份验证。系统会对此 URI 执行 OIDC 发现,以验证来自该颁发者的令牌。

如果清除 issuer 字段,Workload Identity 会被停用。此外,issuer 字段不能直接修改;必须先清除该字段(会停用 Workload Identity),然后才能设置新颁发者(会重新启用 Workload Identity)。

workload_identity_pool

string

仅限输出。可在其中识别 issuer 的工作负载身份池的名称。

每个 Hub 都有一个工作负载身份池,这个身份池在属于该 Hub 的所有成员资格之间共享。对于托管在 {PROJECT_ID} 中的 Hub,工作负载池采用 {PROJECT_ID}.hub.id.goog 格式,不过在此 API 的后续版本中可能会发生变化。

identity_provider

string

仅限输出。用以代表工作负载身份池中的 issuer 的身份提供方。

oidc_jwks

bytes

可选。此成员资格的 OIDC 验证密钥,采用 JWKS 格式 (RFC 7517)。

如果设置了该字段,系统将不会对 issuer 执行 OIDC 发现,而是使用此字段验证 OIDC 令牌。

ConnectAgent

最终用户使用 GKE Connect 所需的信息。

字段
name
(deprecated)

string

切勿设置。

proxy

bytes

可选。代理的 URI(如果从 Agent 连接到 gkeconnect.googleapis.com 需要使用代理);必须采用 http(s)://{proxy_address} 格式,具体取决于代理支持的网络协议(HTTP 或 HTTPS)。设置后,系统会通过 HTTP(S) 代理定向 Connect Agent 的出站流量。

namespace

string

可选。GKE Connect Agent 资源的命名空间。默认值为 gke-connect

Connect Agent 在默认命名空间中运行时会自动获得授权;否则,必须通过额外的 IAM 绑定进行明确授权。

ConnectAgentResource

ConnectAgentResource 表示 Connect Agent 部署的 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,且不支持全部由零组成的 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,且不支持全部由零组成的 UUID(即 00000000-0000-0000-0000-000000000000)。

force

bool

可选。如果设置为 true,则此成员资格中的所有子资源也会被删除。否则,只有当成员资格没有子资源时,请求才有效。

EdgeCluster

EdgeCluster 包含特定于 Google 边缘集群的信息。

字段

GenerateConnectManifestRequest

GkeHubMembershipService.GenerateConnectManifest 方法的请求消息。

字段
name

string

必需。Agent 要关联的成员资格资源的名称,格式为 projects/*/locations/*/memberships/*

必须对指定的资源 name 具有以下 IAM 权限才能进行授权:

  • gkehub.memberships.generateConnectManifest
connect_agent

ConnectAgent

可选。要为其生成清单的连接代理。

version

string

可选。要使用的 Connect Agent 版本。默认为最新版本。

is_upgrade

bool

可选。如果设为 true,则只会生成用于升级的资源,某些专为安装而生成的资源(例如 Secret)将被排除在外。

registry

string

可选。要从中提取 Connect Agent 映像的注册表。默认为 gcr.io/gkeconnect。

image_pull_secret_content

bytes

可选。注册表的映像拉取 Secret 内容(如果非公开)。

GenerateConnectManifestResponse

GenerateConnectManifestResponse 包含用于安装/升级 Connect Agent 的清单信息。

字段
manifest[]

ConnectAgentResource

需要应用于集群以安装/升级 GKE Connect Agent 的 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 端点上节点列表中的第一个节点获得的节点提供方 ID。在支持零节点集群的 Kubernetes 平台(如 GKE-on-GCP)上,node_count 将为零,且 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 表示法。对于 Hub 可以直接读取 CR 的 GKE 集群,此字段会被忽略。

调用方应在执行 CreateMembership 或 UpdateMembership 操作期间提供集群中当前存在的 CR;如果不存在 CR,则将此字段留空。可通过 CR 清单验证该集群是否尚未被其他成员资格注册。

membership_resources[]

ResourceManifest

仅限输出。在创建成员资格后以及在每次更新成员资格后需要向集群应用的其他 Kubernetes 资源。

只有在执行 CreateMembership 或 UpdateMembership 操作期间通过长时间运行的成功操作返回的成员资格中才会填充此字段。在常规的 GetMembership 或 ListMembership 请求期间不会填充该字段。要在初始注册后获取资源清单,调用方应使用空字段掩码进行 UpdateMembership 调用。

connect_resources[]

ResourceManifest

仅限输出。用于安装 GKE Connect Agent 的 Kubernetes 资源

只有在执行 CreateMembership 或 UpdateMembership 操作期间通过长时间运行的成功操作返回的成员资格中才会填充此字段。在常规的 GetMembership 或 ListMembership 请求期间不会填充该字段。要在初始注册后获取资源清单,调用方应使用空字段掩码进行 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:*
  • 具有名为 foo 且其值为 bar 的标签的成员资格:
  labels.foo = bar
  • 处于“正在创建”状态的成员资格:
  state = CREATING
order_by

string

可选。用于比较和用于对输出进行排序的一个或多个字段。请参阅 https://google.aip.dev/132#ordering

ListMembershipsResponse

GkeHubMembershipService.ListMemberships 方法的响应消息。

字段
resources[]

Membership

匹配成员资格的列表。

next_page_token

string

用于从 ListMemberships 方法请求下一页资源的令牌。如果是空字符串值,则表示没有更多资源要返回。

unreachable[]

string

提取此列表时无法访问的位置的列表。

会员

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

可选。指定如何识别此成员资格中的工作负载。如需了解详情,请参阅有关 Workload Identity 的文档: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;该 UUID 在所有成员资格资源中是唯一的。如果删除了某个成员资格资源并创建了另一个同名的资源,则该资源会获得一个不同的 unique_id。

infrastructure_type

Membership.InfrastructureType

可选。运行此成员资格的基础设施类型。

monitoring_config

MonitoringConfig

可选。此成员资格的监控配置信息。

联合字段 type。由此成员资格 type 表示的资源类型只能是以下其中一项:
endpoint

MembershipEndpoint

可选。用于访问此成员的端点信息。

InfrastructureType

指定成员资格的基础设施类型。Hub 使用基础设施类型控制特定于基础设施的行为,包括价格。

每个 GKE 发行版(on-GCP、on-Prem、on-X...)都会自动设置此字段,但是关联集群客户应在注册期间指定类型。

枚举
INFRASTRUCTURE_TYPE_UNSPECIFIED 未指定类型。某些 Hub 功能可能要求指定类型,不支持具有此值的成员资格。
ON_PREM 由客户拥有或运营的私有基础设施。这包括 GKE-OnPrem 和 GKE-OnBareMetal 等 GKE 发行版。
MULTI_CLOUD 公有云基础设施。

MembershipEndpoint

MembershipEndpoint 包含访问 Kubernetes API、端点以及任何其他 Kubernetes 元数据所需的信息。

字段
kubernetes_metadata

KubernetesMetadata

仅限输出。一些有用的 Kubernetes 特定元数据。

kubernetes_resource

KubernetesResource

可选。应该在稳定状态下应用于正确注册的集群的集群内 Kubernetes 资源。这些资源应满足以下要求:

  • 确保只向一个 Hub 成员资格注册该集群,即该集群专属于一个成员资格。
  • 能够传播成员资格 Authority 字段中提供的工作负载池信息。
  • 确保对默认的 Hub 功能进行正确的初始配置。
联合字段 type。所注册集群的集群信息。type 只能是下列其中一项:
gke_cluster

GkeCluster

可选。GKE-on-GCP 集群的特定信息。

on_prem_cluster

OnPremCluster

可选。GKE On-Prem 集群的特定信息。没有 resourceLink 的本地用户集群不能使用此字段,因为这类集群的“type”为 nil。

multi_cloud_cluster

MultiCloudCluster

可选。GKE Multi-Cloud 集群的特定信息。

edge_cluster

EdgeCluster

可选。Google 边缘集群的特定信息。

appliance_cluster

ApplianceCluster

可选。GDC Edge 设备集群的特定信息。

MembershipState

成员资格资源的状态。

字段
code

MembershipState.Code

仅限输出。成员资格资源的当前状态。

description
(deprecated)

string

Hub Service 绝不会设置此字段。

update_time
(deprecated)

Timestamp

Hub Service 绝不会设置此字段。

代码

Code 定义成员资格资源的状态。

枚举
CODE_UNSPECIFIED 未设置代码。
CREATING 正在注册集群。
READY 已注册集群。
DELETING 正在取消注册集群。
UPDATING 正在更新成员资格。
SERVICE_UPDATING Hub 服务正在更新成员资格。

MonitoringConfig

MonitoringConfig 向基于舰队的应用/服务/界面指示如何将底层集群的指标报告给 Cloud Monitoring 服务。如果该配置为空,可以对该配置进行设置;但如果不为空,则不能直接更改该配置,以防止意外破坏指标的连续性。

字段
project_id

string

可选。要报告指标的项目

location

string

可选。要报告指标的位置

cluster

string

可选。要报告指标的集群的名称。对于 Anthos on VMWare/Baremetal/MultiCloud 集群,格式为 {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 和 Baremetal 集群,这是 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

仅限输出。标识用户是否已请求取消操作。已成功取消的操作具有 [Operation.error][] 值且 google.rpc.Status.code 为 1,对应于 Code.CANCELLED

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 Agent 版本。默认为最新的 GKE Connect 版本。必须使用当前受支持的版本,已过时的版本会被拒绝。

v1beta1_crd

bool

可选。对于 CustomResourceDefinition 资源,请使用 apiextensions/v1beta1(而不是 apiextensions/v1)。应为 Kubernetes apiserver 版本低于 1.16 的集群设置此选项。

k8s_version

string

可选。Kubernetes 集群的主要版本。此字段仅用于确定要用于 CustomResourceDefinition 资源的版本(apiextensions/v1beta1apiextensions/v1)。

TypeMeta

TypeMeta 是对清单中的 Kubernetes 资源进行内容解组所需的类型信息。

字段
kind

string

资源的种类(例如部署)。

api_version

string

资源的 APIVersion(例如 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,且不支持全部由零组成的 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 已归其他 Hub 拥有。如需了解详情,请参阅 status.message