索引
GkeHubMembershipService
(接口)ApplianceCluster
(消息)Authority
(消息)ConnectAgent
(消息)ConnectAgentResource
(消息)CreateMembershipRequest
(消息)DeleteMembershipRequest
(消息)EdgeCluster
(消息)GenerateConnectManifestRequest
(消息)GenerateConnectManifestResponse
(消息)GenerateExclusivityManifestRequest
(消息)GenerateExclusivityManifestResponse
(消息)GetMembershipRequest
(消息)GkeCluster
(消息)KubernetesMetadata
(消息)KubernetesResource
(消息)ListMembershipsRequest
(消息)ListMembershipsResponse
(消息)Membership
(消息)Membership.InfrastructureType
(枚举)MembershipEndpoint
(消息)MembershipState
(消息)MembershipState.Code
(枚举)MonitoringConfig
(消息)MultiCloudCluster
(消息)OnPremCluster
(消息)OnPremCluster.ClusterType
(枚举)OperationMetadata
(消息)ResourceManifest
(消息)ResourceOptions
(消息)TypeMeta
(消息)UpdateMembershipRequest
(消息)ValidateExclusivityRequest
(消息)ValidateExclusivityResponse
(消息)
GkeHubMembershipService
GKE Hub MembershipService 处理许多 Kubernetes 集群向 Google Cloud 的注册,由 Membership
资源表示。
GKE Hub 目前可在全球区域和 https://cloud.google.com/compute/docs/regions-zones 中指定的所有区域使用,具体如下:针对特征 (feature),只能在全球区域使用;对于会员资格 (membership),则可在全球区域和上述所有区域使用。
成员资格的管理工作非常重要:在处理成员资格资源时,建议尽可能使用 Google 提供的客户端库或工具。
CreateMembership |
---|
创建新成员资格。 目前只有 Google Cloud 上的 GKE 集群支持此功能。如需注册其他集群,请按照 https://cloud.google.com/kubernetes-engine/enterprise/multicluster-management/connect/registering-a-cluster 中的说明执行操作。
|
DeleteMembership |
---|
移除成员资格。 目前只有 Google Cloud 上的 GKE 集群支持此功能。如需取消注册其他集群,请按照 https://cloud.google.com/kubernetes-engine/enterprise/multicluster-management/connect/unregistering-a-cluster 中的说明执行操作。
|
GenerateConnectManifest |
---|
生成用于部署 GKE Connect Agent 的清单。 此方法供 Google 提供的库内部使用。大多数客户端不需要直接调用此方法。
|
GenerateExclusivityManifest |
---|
GenerateExclusivityManifest 会生成清单,以根据需要更新集群中的排他性制品。 排他性制品包括成员资格自定义资源定义 (CRD) 和单例成员资格自定义资源 (CR)。与 ValidateExclusivity 结合使用时,排他性制品可保证 Kubernetes 集群仅注册到单个 GKE Hub。 成员资格 CRD 会进行版本控制,在 GKE Hub API 服务器开始提供较新版本的 CRD 和对应 CR 时可能需要转换。如果版本之间存在任何差异,则响应会是转换后的 CRD 和 CR。
|
GetMembership |
---|
获取成员资格的详细信息。
|
ListMemberships |
---|
列出给定项目和位置中的成员资格。
|
UpdateMembership |
---|
更新现有成员资格。
|
ValidateExclusivity |
---|
ValidateExclusivity 会验证集群中的排他性状态。这种验证不依赖于现有 Hub 成员资格资源。
|
ApplianceCluster
ApplianceCluster 包含特定于 GDC Edge 设备集群的信息。
字段 | |
---|---|
resource_link |
不可变。设备集群的 GCP 资源的页内链接。例如: //transferappliance.googleapis.com/projects/my-project/locations/us-west1-a/appliances/my-appliance |
目标主机
Authority 部分对 Google 用以识别此成员资格中身份的规则进行编码。如需了解详情,请参阅 Workload Identity 文档:https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
字段 | |
---|---|
issuer |
可选。JSON Web 令牌 (JWT) 的颁发者 URI。 如果设置了该字段,Google 将允许通过来自此颁发者的有效 OIDC 令牌在 workload_identity_pool 内进行身份验证。系统会对此 URI 执行 OIDC 发现,以验证来自该颁发者的令牌。 如果清除 |
workload_identity_pool |
仅限输出。可在其中识别 每个 Hub 都有一个工作负载身份池,这个身份池在属于该 Hub 的所有成员资格之间共享。对于托管在 {PROJECT_ID} 中的 Hub,工作负载池采用 |
identity_provider |
仅限输出。用以代表工作负载身份池中的 |
oidc_jwks |
可选。此成员资格的 OIDC 验证密钥,采用 JWKS 格式 (RFC 7517)。 如果设置了该字段,系统将不会对 |
ConnectAgent
最终用户使用 GKE Connect 所需的信息。
字段 | |
---|---|
name |
切勿设置。 |
proxy |
可选。代理的 URI(如果从 Agent 连接到 gkeconnect.googleapis.com 需要使用代理);必须采用 |
namespace |
可选。GKE Connect Agent 资源的命名空间。默认值为 Connect Agent 在默认命名空间中运行时会自动获得授权;否则,必须通过额外的 IAM 绑定进行明确授权。 |
ConnectAgentResource
ConnectAgentResource 表示 Connect Agent 部署的 Kubernetes 资源清单。
字段 | |
---|---|
type |
资源的 Kubernetes 类型。 |
manifest |
资源的 YAML 清单。 |
CreateMembershipRequest
对 GkeHubMembershipService.CreateMembership
方法的请求消息。
字段 | |
---|---|
parent |
必需。将在其中创建成员资格的父级对象(项目和位置),采用 必须对指定的资源
|
membership_id |
必需。客户端为成员资格分配的 ID。
可以用如下正则表达式来表示: |
resource |
必需。要创建的成员资格。 |
request_id |
可选。这是用来标识请求的请求 ID。您可以指定一个唯一的请求 ID,这样,在您必须重试请求时,服务器就会知道忽略该请求(如果该请求已完成)。服务器至少可以保证在第一次完成该请求后的 60 分钟内避免重复处理该请求。 例如,假设在您最初发出一个请求后,该请求超时,然后您使用相同的请求 ID 再次发出该请求,那么服务器便可检查是否收到了最初那个具有该请求 ID 的操作。如果收到了,服务器便会忽略这第二个请求。这样可以防止客户端意外创建重复的承诺。 请求 ID 必须是有效的 UUID,且不支持全部由零组成的 UUID(即 00000000-0000-0000-0000-000000000000)。 |
DeleteMembershipRequest
GkeHubMembershipService.DeleteMembership
方法的请求消息。
字段 | |
---|---|
name |
必需。成员资格资源的名称,格式为 必须对指定的资源
|
request_id |
可选。这是用来标识请求的请求 ID。您可以指定一个唯一的请求 ID,这样,在您必须重试请求时,服务器就会知道忽略该请求(如果该请求已完成)。服务器至少可以保证在第一次完成该请求后的 60 分钟内避免重复处理该请求。 例如,假设在您最初发出一个请求后,该请求超时,然后您使用相同的请求 ID 再次发出该请求,那么服务器便可检查是否收到了最初那个具有该请求 ID 的操作。如果收到了,服务器便会忽略这第二个请求。这样可以防止客户端意外创建重复的承诺。 请求 ID 必须是有效的 UUID,且不支持全部由零组成的 UUID(即 00000000-0000-0000-0000-000000000000)。 |
force |
可选。如果设置为 true,则此成员资格中的所有子资源也会被删除。否则,只有当成员资格没有子资源时,请求才有效。 |
EdgeCluster
EdgeCluster 包含特定于 Google 边缘集群的信息。
字段 | |
---|---|
resource_link |
不可变。边缘集群的 GCP 资源的页内链接。例如: //edgecontainer.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster |
GenerateConnectManifestRequest
GkeHubMembershipService.GenerateConnectManifest
方法的请求消息。
字段 | |
---|---|
name |
必需。Agent 要关联的成员资格资源的名称,格式为 必须对指定的资源
|
connect_agent |
可选。要为其生成清单的连接代理。 |
version |
可选。要使用的 Connect Agent 版本。默认为最新版本。 |
is_upgrade |
可选。如果设为 true,则只会生成用于升级的资源,某些专为安装而生成的资源(例如 Secret)将被排除在外。 |
registry |
可选。要从中提取 Connect Agent 映像的注册表。默认为 gcr.io/gkeconnect。 |
image_pull_secret_content |
可选。注册表的映像拉取 Secret 内容(如果非公开)。 |
GenerateConnectManifestResponse
GenerateConnectManifestResponse 包含用于安装/升级 Connect Agent 的清单信息。
字段 | |
---|---|
manifest[] |
需要应用于集群以安装/升级 GKE Connect Agent 的 Kubernetes 资源的有序列表。 |
GenerateExclusivityManifestRequest
为排他性制品生成清单的请求。
字段 | |
---|---|
name |
必需。成员资格资源的名称,格式为 必须对指定的资源
|
crd_manifest |
可选。 |
cr_manifest |
可选。 |
GenerateExclusivityManifestResponse
供客户端应用的排他性制品清单的响应。
字段 | |
---|---|
crd_manifest |
在有较新版本的 CRD 可用时要应用的成员资格 CRD 的 YAML 清单。如果不需要应用更新,则为空。 |
cr_manifest |
在有新版本的 CR 可用时要应用的成员资格 CR 的 YAML 清单。如果不需要应用更新,则为空。 |
GetMembershipRequest
GkeHubMembershipService.GetMembership
方法的请求消息。
字段 | |
---|---|
name |
必需。成员资格资源的名称,格式为 必须对指定的资源
|
GkeCluster
GkeCluster 包含特定于 GKE 集群的信息。
字段 | |
---|---|
resource_link |
不可变。GKE 集群的 GCP 资源的页内链接。例如:
可用区级集群也受支持。 |
cluster_missing |
仅限输出。如果设置了 cluster_missing,则表示该 GKE 集群不再存在于 GKE 控制平面中。 |
KubernetesMetadata
KubernetesMetadata 为成员资格提供代表 Kubernetes 集群的信息性元数据。
字段 | |
---|---|
kubernetes_api_server_version |
仅限输出。通过“/version”获得的 Kubernetes API 服务器版本字符串。 |
node_provider_id |
仅限输出。通过 Kubernetes 端点上节点列表中的第一个节点获得的节点提供方 ID。在支持零节点集群的 Kubernetes 平台(如 GKE-on-GCP)上,node_count 将为零,且 node_provider_id 将为空。 |
node_count |
仅限输出。通过相应 Kubernetes 节点资源数获得的节点数量。 |
vcpu_count |
仅供输出。通过相应 Kubernetes 节点资源数获得的 vCPU 数量。 |
memory_mb |
仅限输出。通过所有 Kubernetes 节点资源总数获得的总内存容量(以 MB 为单位)。 |
update_time |
仅限输出。这些详细信息的上次更新时间。此 update_time 与成员资格级 update_time 不同,因为 EndpointDetails 是在 API 使用方内部更新的。 |
KubernetesResource
KubernetesResource 包含集群中成员资格 Kubernetes 资源的 YAML 清单和配置。在完成 CreateMembership 或 UpdateMembership 操作之后,需要在集群中重新应用这些资源。
字段 | |
---|---|
membership_cr_manifest |
仅限输入。成员资格 CR 的 YAML 表示法。对于 Hub 可以直接读取 CR 的 GKE 集群,此字段会被忽略。 调用方应在执行 CreateMembership 或 UpdateMembership 操作期间提供集群中当前存在的 CR;如果不存在 CR,则将此字段留空。可通过 CR 清单验证该集群是否尚未被其他成员资格注册。 |
membership_resources[] |
仅限输出。在创建成员资格后以及在每次更新成员资格后需要向集群应用的其他 Kubernetes 资源。 只有在执行 CreateMembership 或 UpdateMembership 操作期间通过长时间运行的成功操作返回的成员资格中才会填充此字段。在常规的 GetMembership 或 ListMembership 请求期间不会填充该字段。要在初始注册后获取资源清单,调用方应使用空字段掩码进行 UpdateMembership 调用。 |
connect_resources[] |
仅限输出。用于安装 GKE Connect Agent 的 Kubernetes 资源 只有在执行 CreateMembership 或 UpdateMembership 操作期间通过长时间运行的成功操作返回的成员资格中才会填充此字段。在常规的 GetMembership 或 ListMembership 请求期间不会填充该字段。要在初始注册后获取资源清单,调用方应使用空字段掩码进行 UpdateMembership 调用。 |
resource_options |
可选。用于生成 Kubernetes 资源的选项。 |
ListMembershipsRequest
GkeHubMembershipService.ListMemberships
方法的请求消息。
字段 | |
---|---|
parent |
必需。要列出其中成员资格的父级对象(项目和位置),采用 必须对指定的资源
|
page_size |
可选。在请求返回一“页”资源时, |
page_token |
可选。上一次 |
filter |
可选。列出与过滤表达式(需遵循 https://google.aip.dev/160 中所述的语法)匹配的成员资格。 示例:
|
order_by |
可选。用于比较和用于对输出进行排序的一个或多个字段。请参阅 https://google.aip.dev/132#ordering。 |
ListMembershipsResponse
GkeHubMembershipService.ListMemberships
方法的响应消息。
字段 | |
---|---|
resources[] |
匹配成员资格的列表。 |
next_page_token |
用于从 |
unreachable[] |
提取此列表时无法访问的位置的列表。 |
会员
Membership 包含有关成员集群的信息。
字段 | |
---|---|
name |
仅限输出。此成员资格资源的完整唯一名称,格式为
可以用如下正则表达式来表示: |
labels |
可选。此成员资格的 GCP 标签。 |
description |
可选。此成员资格的说明,长度不超过 63 个字符。必须符合如下正则表达式: |
state |
仅限输出。成员资格资源的状态。 |
authority |
可选。指定如何识别此成员资格中的工作负载。如需了解详情,请参阅有关 Workload Identity 的文档:https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity |
create_time |
仅限输出。成员资格的创建时间。 |
update_time |
仅限输出。成员资格的上次更新时间。 |
delete_time |
仅限输出。成员资格被删除的时间。 |
external_id |
可选。为此成员资格在外部生成且在外部进行管理的 ID。此 ID 在创建后可以修改,但不建议这样做。对于 GKE 集群,external_id 由 Hub API 管理,并且更新将被忽略。 此 ID 必须符合如下正则表达式: 如果此成员资格代表的是一个 Kubernetes 集群,则此值应设置为 |
last_connection_time |
仅限输出。对于使用 Connect 的集群,则该字段是最近与 Google Cloud 建立连接时的时间戳。此时间每隔几分钟更新一次,不是实时更新的。对于未使用 GKE Connect 或从未成功连接的集群,此字段将处于未设置状态。 |
unique_id |
仅限输出。Google 为此资源生成的 UUID;该 UUID 在所有成员资格资源中是唯一的。如果删除了某个成员资格资源并创建了另一个同名的资源,则该资源会获得一个不同的 unique_id。 |
infrastructure_type |
可选。运行此成员资格的基础设施类型。 |
monitoring_config |
可选。此成员资格的监控配置信息。 |
联合字段 type 。由此成员资格 type 表示的资源类型只能是以下其中一项: |
|
endpoint |
可选。用于访问此成员的端点信息。 |
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 |
仅限输出。一些有用的 Kubernetes 特定元数据。 |
kubernetes_resource |
可选。应该在稳定状态下应用于正确注册的集群的集群内 Kubernetes 资源。这些资源应满足以下要求:
|
联合字段 type 。所注册集群的集群信息。type 只能是下列其中一项: |
|
gke_cluster |
可选。GKE-on-GCP 集群的特定信息。 |
on_prem_cluster |
可选。GKE On-Prem 集群的特定信息。没有 resourceLink 的本地用户集群不能使用此字段,因为这类集群的“type”为 nil。 |
multi_cloud_cluster |
可选。GKE Multi-Cloud 集群的特定信息。 |
edge_cluster |
可选。Google 边缘集群的特定信息。 |
appliance_cluster |
可选。GDC Edge 设备集群的特定信息。 |
MembershipState
成员资格资源的状态。
字段 | |
---|---|
code |
仅限输出。成员资格资源的当前状态。 |
description |
Hub Service 绝不会设置此字段。 |
update_time |
Hub Service 绝不会设置此字段。 |
代码
Code 定义成员资格资源的状态。
枚举 | |
---|---|
CODE_UNSPECIFIED |
未设置代码。 |
CREATING |
正在注册集群。 |
READY |
已注册集群。 |
DELETING |
正在取消注册集群。 |
UPDATING |
正在更新成员资格。 |
SERVICE_UPDATING |
Hub 服务正在更新成员资格。 |
MonitoringConfig
MonitoringConfig 向基于舰队的应用/服务/界面指示如何将底层集群的指标报告给 Cloud Monitoring 服务。如果该配置为空,可以对该配置进行设置;但如果不为空,则不能直接更改该配置,以防止意外破坏指标的连续性。
字段 | |
---|---|
project_id |
可选。要报告指标的项目 |
location |
可选。要报告指标的位置 |
cluster |
可选。要报告指标的集群的名称。对于 Anthos on VMWare/Baremetal/MultiCloud 集群,格式为 {cluster_type}/{cluster_name},例如:“awsClusters/cluster_1”。 |
kubernetes_metrics_prefix |
可选。Kubernetes 系统指标(如果有)将带有此前缀。对于 GKE,默认为 kubernetes.io;对于 Anthos,默认为 kubernetes.io/anthos。注意:Anthos 多云目前具有 kubernetes.io 前缀,但日后将迁移到 kubernetes.io/anthos 下。 |
cluster_hash |
可选。对于 GKE 和多云集群,这是集群资源的 UUID。对于 VMWare 和 Baremetal 集群,这是 kube-system UID。 |
MultiCloudCluster
MultiCloudCluster 包含特定于 GKE Multi-Cloud 集群的信息。
字段 | |
---|---|
resource_link |
不可变。GKE Multi-Cloud 集群的 GCP 资源的页内链接。例如: //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 |
cluster_missing |
仅限输出。如果设置了 cluster_missing,则表示此 GKE Multi-Cloud 集群的 API (gkemulticloud.googleapis.com) 资源已不存在。 |
OnPremCluster
OnPremCluster 包含特定于 GKE On-Prem 集群的信息。
字段 | |
---|---|
resource_link |
不可变。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 |
cluster_missing |
仅限输出。如果设置了 cluster_missing,则表示此 GKE On-Prem 集群的 API (gkeonprem.googleapis.com) 资源已不存在。 |
admin_cluster |
不可变。指定集群是否为管理员集群。 |
cluster_type |
不可变。本地集群的类型。 |
ClusterType
ClusterType 定义本地集群的类型。
枚举 | |
---|---|
CLUSTERTYPE_UNSPECIFIED |
未设置 ClusterType。 |
BOOTSTRAP |
ClusterType 是引导集群。 |
HYBRID |
ClusterType 是裸金属混合集群。 |
STANDALONE |
ClusterType 是裸金属独立集群。 |
USER |
ClusterType 是用户集群。 |
OperationMetadata
表示长时间运行的操作的元数据。
字段 | |
---|---|
create_time |
仅供输出。操作的创建时间。 |
end_time |
仅供输出。操作完成运行的时间。 |
target |
仅限输出。由服务器定义的操作目标的资源路径。 |
verb |
仅限输出。操作执行的谓词的名称。 |
status_detail |
仅限输出。人类可读的操作状态(如果有)。 |
cancel_requested |
仅限输出。标识用户是否已请求取消操作。已成功取消的操作具有 [Operation.error][] 值且 |
api_version |
仅限输出。用于启动操作的 API 版本。 |
ResourceManifest
ResourceManifest 定义要应用于集群的单个 Kubernetes 资源。
字段 | |
---|---|
manifest |
资源的 YAML 清单。 |
cluster_scoped |
指定清单中提供的资源是否为 在集群中应用资源时,此字段用于 REST 映射。 |
ResourceOptions
ResourceOptions 定义用于生成 Kubernetes 资源的选项。
字段 | |
---|---|
connect_version |
可选。用于 connect_resources 的 Connect Agent 版本。默认为最新的 GKE Connect 版本。必须使用当前受支持的版本,已过时的版本会被拒绝。 |
v1beta1_crd |
可选。对于 CustomResourceDefinition 资源,请使用 |
k8s_version |
可选。Kubernetes 集群的主要版本。此字段仅用于确定要用于 CustomResourceDefinition 资源的版本( |
TypeMeta
TypeMeta 是对清单中的 Kubernetes 资源进行内容解组所需的类型信息。
字段 | |
---|---|
kind |
资源的种类(例如部署)。 |
api_version |
资源的 APIVersion(例如 v1)。 |
UpdateMembershipRequest
GkeHubMembershipService.UpdateMembership
方法的请求消息。
字段 | |
---|---|
name |
必需。成员资格资源的名称,格式为: 必须对指定的资源
|
update_mask |
必需。要更新的字段掩码。此掩码中必须至少指定一个字段路径。 |
resource |
必需。只有 update_mask 中指定的字段会被更新。如果您在 update_mask 中指定了字段,但未在此处指定其值,则该字段将被删除。如果要更新映射字段,可将键值设置为 null 或空字符串,以从映射中删除相应键。无法将现有键值更改为空字符串。如果将 update_mask 指定为特殊路径“*”,请完全替换用户可修改的所有字段以与 |
request_id |
可选。这是用来标识请求的请求 ID。您可以指定一个唯一的请求 ID,这样,在您必须重试请求时,服务器就会知道忽略该请求(如果该请求已完成)。服务器至少可以保证在第一次完成该请求后的 60 分钟内避免重复处理该请求。 例如,假设在您最初发出一个请求后,该请求超时,然后您使用相同的请求 ID 再次发出该请求,那么服务器便可检查是否收到了最初那个具有该请求 ID 的操作。如果收到了,服务器便会忽略这第二个请求。这样可以防止客户端意外创建重复的承诺。 请求 ID 必须是有效的 UUID,且不支持全部由零组成的 UUID(即 00000000-0000-0000-0000-000000000000)。 |
ValidateExclusivityRequest
验证集群中成员资格 CR 现有状态的请求。
字段 | |
---|---|
parent |
必需。将在其中创建成员资格的父级对象(项目和位置),采用 必须对指定的资源
|
cr_manifest |
可选。集群中成员资格 CR 的 YAML。如果成员资格 CR 不存在,则为空。 |
intended_membership |
必需。 |
ValidateExclusivityResponse
排他性制品验证结果状态的响应。
字段 | |
---|---|
status |
验证结果。
|