Package google.cloud.gkehub.v1beta1

Índice

GkeHubMembershipService

El MembershipService de GKE Hub controla el registro de muchos clústeres de Kubernetes en Google Cloud, representados con el recurso Membership.

En la actualidad, GKE Hub está disponible en la región global y en todas las regiones en https://cloud.google.com/compute/docs/regions-zones. La función solo está disponible en la región global mientras la membresía es región global y todas las regiones.

Puede que la administración de membresía no sea trivial: se recomienda usar una de las bibliotecas cliente o herramientas proporcionadas por Google siempre que sea posible cuando se trabaja con recursos de la membresía.

CreateMembership

rpc CreateMembership(CreateMembershipRequest) returns (Operation)

Crea un recurso Membership nuevo.

Por el momento, esto solo es compatible con los clústeres de GKE en Google Cloud. Para registrar otros clústeres, sigue las instrucciones en https://cloud.google.com/kubernetes-engine/enterprise/multicluster-management/connect/registering-a-cluster.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

DeleteMembership

rpc DeleteMembership(DeleteMembershipRequest) returns (Operation)

Quita un recurso Membership.

Por el momento, esto solo es compatible con los clústeres de GKE en Google Cloud. Para cancelar el registro de otros clústeres, sigue las instrucciones en https://cloud.google.com/kubernetes-engine/enterprise/multicluster-management/connect/unregistering-a-cluster.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

GenerateConnectManifest

rpc GenerateConnectManifest(GenerateConnectManifestRequest) returns (GenerateConnectManifestResponse)

Genera el manifiesto para la implementación del agente de conexión de GKE.

Las bibliotecas proporcionadas por Google usan este método de forma interna. La mayoría de los clientes no deberían necesitar llamar a este método directamente.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

GenerateExclusivityManifest

rpc GenerateExclusivityManifest(GenerateExclusivityManifestRequest) returns (GenerateExclusivityManifestResponse)

GenerateExclusivityManifest genera los manifiestos para actualizar los artefactos de exclusividad en el clúster, si es necesario.

Los artefactos de exclusión incluyen la definición de recurso personalizado (CRD) de la membresía y el recurso personalizado (CR) de la membresía singleton. Junto con ValidateExclusivity, los artefactos de exclusividad garantizan que un clúster de Kubernetes solo se registre en un solo GKE Hub.

La CRD de membresía tiene una versión y es posible que se requiera conversión cuando el servidor de la API de GKE Hub comienza a entregar una versión más reciente del CRD y el CR correspondiente. La respuesta será la CRD y la CR convertidas si hay diferencias entre las versiones.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

GetMembership

rpc GetMembership(GetMembershipRequest) returns (Membership)

Obtiene los detalles de un recurso Membership.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

ListMemberships

rpc ListMemberships(ListMembershipsRequest) returns (ListMembershipsResponse)

Enumera recursos Membership en una ubicación y un proyecto determinados.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

UpdateMembership

rpc UpdateMembership(UpdateMembershipRequest) returns (Operation)

Actualiza una membresía existente.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

ValidateExclusivity

rpc ValidateExclusivity(ValidateExclusivityRequest) returns (ValidateExclusivityResponse)

ValidExclusivity valida el estado de exclusividad en el clúster. La validación no depende de un recurso de membresía de Hub existente.

Alcances de autorización

Requiere el siguiente alcance de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

ApplianceCluster

ApplianceCluster contiene información específica de los clústeres de dispositivos perimetrales de GDC.

Campos

Autoridad

La autoridad codifica la forma en la que Google reconocerá las identidades de este recurso Membership. Consulta la documentación de Workload Identity para obtener más detalles: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity

Campos
issuer

string

Opcional. Un URI de la entidad emisora de un token web JSON (JWT). issuer debe comenzar con https:// y ser una URL válida con una longitud inferior a 2,000 caracteres.

Si se configura, Google permitirá que los tokens de OIDC válidos de esta entidad emisora se autentiquen dentro del grupo de identidades para cargas de trabajo. Se realizará la detección de OIDC en este URI para validar los tokens de la entidad emisora.

Si se borra issuer, se inhabilita Workload Identity. issuer no se puede modificar directamente; se debe borrar (y Workload Identity inhabilitado) antes de usar una entidad emisora nueva (y volver a habilitar Workload Identity).

workload_identity_pool

string

Solo salida. El nombre del grupo de identidades para cargas de trabajo en el que se reconocerá issuer.

Hay un solo grupo de identidades para cargas de trabajo por Hub que se comparte entre todos los recursos Membership que pertenecen a ese concentrador. Para un concentrador alojado en {PROJECT_ID}, el formato del grupo de cargas de trabajo es {PROJECT_ID}.hub.id.goog, aunque esto está sujeto a cambios en las versiones más recientes de esta API.

identity_provider

string

Solo salida. Un proveedor de identidad que refleja el issuer en el grupo de identidades para cargas de trabajo.

oidc_jwks

bytes

Opcional. Claves de verificación de OIDC para este recurso Membership en formato JWKS (RFC 7517).

Cuando se configura este campo, el descubrimiento de OIDC NO se realizará en issuer y, en su lugar, los tokens de OIDC se validarán mediante este campo.

ConnectAgent

La información requerida de los usuarios finales para usar GKE Connect.

Campos
name
(deprecated)

string

No establecer.

proxy

bytes

Opcional. Es el URI de un proxy si la conectividad del agente a gkeconnect.googleapis.com requiere el uso de un proxy. El formato debe tener el formato http(s)://{proxy_address}, según el protocolo HTTP/HTTPS que admita el proxy. Esto dirigirá el tráfico saliente del agente de conexión a través de un proxy HTTP(S).

namespace

string

Opcional. Espacio de nombres para los recursos del agente de GKE Connect. La configuración predeterminada es gke-connect.

El agente de Connect se autoriza automáticamente cuando se ejecuta en el espacio de nombres predeterminado. De lo contrario, se debe otorgar la autorización explícita con una vinculación de IAM adicional.

ConnectAgentResource

ConnectAgentResource representa un manifiesto de recursos de Kubernetes para la implementación del agente Connect.

Campos
type

TypeMeta

Tipo de Kubernetes del recurso.

manifest

string

Manifiesto YAML del recurso.

CreateMembershipRequest

Mensaje de la solicitud para el método GkeHubMembershipService.CreateMembership.

Campos
parent

string

Obligatorio. El elemento superior (proyecto y ubicación) en el que se crearán los recursos Membership. Especificado en el formato projects/*/locations/*.

La autorización requiere el siguiente permiso IAM en el recurso especificado parent:

  • gkehub.memberships.create
membership_id

string

Obligatorio. El ID de cliente que eligió para la membresía. membership_id debe ser una etiqueta de DNS válida que cumpla con RFC 1123:

  1. Longitud máxima de 63 caracteres
  2. Debe contener caracteres alfanuméricos en minúscula o -
  3. Debe empezar y terminar con un carácter alfanumérico

que se puede expresar como la regex: [a-z0-9]([-a-z0-9]*[a-z0-9])?, con una longitud máxima de 63 caracteres.

resource

Membership

Obligatorio. La membresía que se creará.

request_id

string

Opcional. Un ID de solicitud para identificar solicitudes. Especifica un ID de solicitud único para que, si debes reintentar la solicitud, el servidor sepa que debe ignorarla si ya se completó. El servidor lo garantizará durante al menos 60 minutos después de la primera solicitud.

Por ejemplo, imagina una situación en la que haces una solicitud inicial y se agota el tiempo de espera de la solicitud. Si vuelves a hacer la solicitud con el mismo ID de solicitud, el servidor puede verificar si se recibió la operación original con el mismo ID de solicitud y, de ser así, ignorar la segunda solicitud. Esto evita que los clientes creen compromisos duplicados por accidente.

El ID de solicitud debe ser un UUID válido, con la excepción de que no se admite ningún UUID cero (00000000-0000-0000-0000-000000000000).

DeleteMembershipRequest

Mensaje de solicitud para el método GkeHubMembershipService.DeleteMembership.

Campos
name

string

Obligatorio. El nombre del recurso de la membresía en el formato projects/*/locations/*/memberships/*.

La autorización requiere el siguiente permiso IAM en el recurso especificado name:

  • gkehub.memberships.delete
request_id

string

Opcional. Un ID de solicitud para identificar solicitudes. Especifica un ID de solicitud único para que, si debes reintentar la solicitud, el servidor sepa que debe ignorarla si ya se completó. El servidor lo garantizará durante al menos 60 minutos después de la primera solicitud.

Por ejemplo, imagina una situación en la que haces una solicitud inicial y se agota el tiempo de espera de la solicitud. Si vuelves a hacer la solicitud con el mismo ID de solicitud, el servidor puede verificar si se recibió la operación original con el mismo ID de solicitud y, de ser así, ignorar la segunda solicitud. Esto evita que los clientes creen compromisos duplicados por accidente.

El ID de solicitud debe ser un UUID válido, con la excepción de que no se admite ningún UUID cero (00000000-0000-0000-0000-000000000000).

force

bool

Opcional. Si se establece como verdadero, también se borrará cualquier subrecurso de esta membresía. De lo contrario, la solicitud solo funcionará si la membresía no tiene un subrecurso.

EdgeCluster

EdgeCluster contiene información específica de los clústeres de Google Edge.

Campos

GenerateConnectManifestRequest

Mensaje de solicitud para el método GkeHubMembershipService.GenerateConnectManifest.

Campos
name

string

Obligatorio. El nombre del recurso de la membresía con el que se asociará el agente, en el formato projects/*/locations/*/memberships/*.

La autorización requiere el siguiente permiso IAM en el recurso especificado name:

  • gkehub.memberships.generateConnectManifest
connect_agent

ConnectAgent

Opcional. El agente de conexión para el que se generará el manifiesto.

version

string

Opcional. La versión del agente de Connect que se usará. El valor predeterminado es la versión más reciente.

is_upgrade

bool

Opcional. Si es verdadero, genera los recursos solo para la actualización. Se excluirán algunos recursos generados solo para la instalación (p. ej., los secretos).

registry

string

Opcional. El registro desde el que se recupera la imagen del agente de conexión. La configuración predeterminada es gcr.io/gkeconnect.

image_pull_secret_content

bytes

Opcional. La imagen extrae contenido del Secret para el registro, si no es público.

GenerateConnectManifestResponse

GenerateConnectManifestResponse contiene información del manifiesto para instalar o actualizar un agente de Connect.

Campos
manifest[]

ConnectAgentResource

La lista ordenada de recursos de Kubernetes que se deben aplicar al clúster para la instalación o actualización del agente de GKE Connect.

GenerateExclusivityManifestRequest

La solicitud para generar los manifiestos de artefactos de exclusividad.

Campos
name

string

Obligatorio. El nombre del recurso de la membresía en el formato projects/*/locations/*/memberships/*.

La autorización requiere el siguiente permiso IAM en el recurso especificado name:

  • gkehub.memberships.generateConnectManifest
crd_manifest

string

Opcional. El manifiesto YAML de la CRD de membresía que recuperó kubectl get customresourcedefinitions membership. Déjalo vacío si el recurso no existe.

cr_manifest

string

Opcional. El manifiesto YAML de la CR de membresía que recuperó kubectl get memberships membership. Déjalo vacío si el recurso no existe.

GenerateExclusivityManifestResponse

La respuesta del manifiesto de artefactos de exclusividad para que el cliente los aplique.

Campos
crd_manifest

string

El manifiesto YAML de la CRD de membresía que se debe aplicar si hay una versión más reciente de la CRD disponible. Está vacío si no es necesario aplicar actualizaciones.

cr_manifest

string

El manifiesto YAML de la CR de membresía que se debe aplicar si hay una nueva versión del CR disponible. Está vacío si no es necesario aplicar actualizaciones.

GetMembershipRequest

Mensaje de solicitud para el método GkeHubMembershipService.GetMembership.

Campos
name

string

Obligatorio. El nombre del recurso de la membresía en el formato projects/*/locations/*/memberships/*.

La autorización requiere el siguiente permiso IAM en el recurso especificado name:

  • gkehub.memberships.get

GkeCluster

GkeCluster contiene información específica de los clústeres de GKE.

Campos
cluster_missing

bool

Solo salida. Si se configura cluster_Missing, significa que el clúster de GKE ya no existe en el plano de control de GKE.

KubernetesMetadata

KubernetesMetadata proporciona metadatos informativos para los recursos de Membership que representan los clústeres de Kubernetes.

Campos
kubernetes_api_server_version

string

Solo salida. Cadena de la versión del servidor de la API de Kubernetes que informa '/version'.

node_provider_id

string

Solo salida. ProviderID del nodo informado por el primer nodo de la lista de nodos en el extremo de Kubernetes. En las plataformas de Kubernetes que admiten clústeres de cero nodos (como GKE en GCP), el node_count será cero y el node_provider_id estará vacío.

node_count

int32

Solo salida. Recuento de nodos que informan los recursos de nodos de Kubernetes.

vcpu_count

int32

Solo salida. Recuento de CPU virtuales que informan los recursos de nodos de Kubernetes.

memory_mb

int32

Solo salida. La capacidad de memoria total informada por la suma de todos los recursos de nodos de Kubernetes, definida en MB.

update_time

Timestamp

Solo salida. La hora a la que se actualizaron estos detalles por última vez. Este update_time es diferente del valor de update_time a nivel de la membresía, ya que EndpointDetails se actualiza internamente para los consumidores de API.

KubernetesResource

KubernetesResource contiene los manifiestos YAML y la configuración de los recursos de Kubernetes de membresía en el clúster. Después de CreateMembership o UpdateMembership, estos recursos se deben volver a aplicar en el clúster.

Campos
membership_cr_manifest

string

Solo entrada. La representación YAML de la CR de membresía. Este campo se ignora para los clústeres de GKE en los que el concentrador puede leer la CR directamente.

Los emisores deben proporcionar la CR que se encuentra actualmente en el clúster durante CreateMembership o UpdateMembership, o dejar este campo vacío si no existe ninguno. El manifiesto de CR se usa para validar que el clúster no se haya registrado con otra membresía.

membership_resources[]

ResourceManifest

Solo salida. Recursos adicionales de Kubernetes que se deben aplicar al clúster después de la creación de la membresía y después de cada actualización.

Este campo solo se propaga en la membresía que se muestra luego de una operación de larga duración exitosa de CreateMembership o UpdateMembership. No se propaga durante las solicitudes normales de GetMembership o ListMemberships. Para obtener el manifiesto de recursos después del registro inicial, el emisor debe realizar una llamada UpdateMembership con una máscara de campo vacía.

connect_resources[]

ResourceManifest

Solo salida. Los recursos de Kubernetes para instalar el agente de GKE Connect

Este campo solo se propaga en la membresía que se muestra luego de una operación de larga duración exitosa de CreateMembership o UpdateMembership. No se propaga durante las solicitudes normales de GetMembership o ListMemberships. Para obtener el manifiesto de recursos después del registro inicial, el emisor debe realizar una llamada UpdateMembership con una máscara de campo vacía.

resource_options

ResourceOptions

Opcional. Opciones para la generación de recursos de Kubernetes.

ListMembershipsRequest

Mensaje de solicitud para el método GkeHubMembershipService.ListMemberships.

Campos
parent

string

Obligatorio. El elemento superior (proyecto y ubicación) en el que se mostrarán las membresías. Especificado en el formato projects/*/locations/*. projects/*/locations/- enumera las membresías en todas las regiones.

La autorización requiere el siguiente permiso IAM en el recurso especificado parent:

  • gkehub.memberships.list
page_size

int32

Opcional. Cuando se solicita una “página” de recursos, page_size especifica la cantidad de recursos que se mostrarán. Si no se especifica o se establece en 0, se mostrarán todos los recursos.

page_token

string

Opcional. Token que se muestra en la llamada anterior a ListMemberships, que especifica la posición en la lista desde la que se debe continuar enumerando los recursos.

filter

string

Opcional. Listas que coinciden con la expresión de filtro, según la sintaxis descrita en https://google.aip.dev/160.

Ejemplos:

  • El nombre es bar en el proyecto foo-proj y la ubicación global:
  name = "projects/foo-proj/locations/global/membership/bar"
  • Membresías que tienen una etiqueta llamada foo:
  labels.foo:*
  • Membresías que tienen una etiqueta llamada foo cuyo valor es bar:
  labels.foo = bar
  • Membresías en el estado CREATING:
  state = CREATING
order_by

string

Opcional. Se comparan y usan uno o más campos para ordenar el resultado. Consulta https://google.aip.dev/132#ordering.

ListMembershipsResponse

Mensaje de respuesta para el método GkeHubMembershipService.ListMemberships.

Campos
resources[]

Membership

La lista de membresías que coinciden.

next_page_token

string

Un token para solicitar la página siguiente de recursos del método ListMemberships. El valor de una cadena vacía significa que no hay más recursos para mostrar.

unreachable[]

string

Lista de ubicaciones a las que no se pudo acceder cuando se recuperaba esta lista.

Membresía

La membresía contiene información sobre un clúster miembro.

Campos
name

string

Solo salida. El nombre completo y único de este recurso de membresía en el formato projects/*/locations/*/memberships/{membership_id}, establecido durante la creación.

membership_id debe ser una etiqueta de DNS válida que cumpla con RFC 1123:

  1. Longitud máxima de 63 caracteres
  2. Debe contener caracteres alfanuméricos en minúscula o -
  3. Debe empezar y terminar con un carácter alfanumérico

que se puede expresar como la regex: [a-z0-9]([-a-z0-9]*[a-z0-9])?, con una longitud máxima de 63 caracteres.

labels

map<string, string>

Opcional. Etiquetas de GCP para esta membresía.

description

string

Opcional. Descripción de esta membresía, con un límite de 63 caracteres. Debe coincidir con la regex: [a-zA-Z0-9][a-zA-Z0-9_\-\.\ ]*

state

MembershipState

Solo salida. Estado del recurso de la membresía.

authority

Authority

Opcional. Cómo identificar las cargas de trabajo de esta membresía. Consulta la documentación sobre Workload Identity para obtener más detalles: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity

create_time

Timestamp

Solo salida. Cuando se creó Membership.

update_time

Timestamp

Solo salida. Cuando se actualizó Membership por última vez.

delete_time

Timestamp

Solo salida. Cuándo se borró la membresía.

external_id

string

Opcional. Un ID generado y administrado de forma externa para esta membresía. Este ID se puede modificar después de su creación, pero no se recomienda. En el caso de los clústeres de GKE, la API de Hub administra external_id y se ignorarán las actualizaciones.

El ID debe coincidir con la regex: [a-zA-Z0-9][a-zA-Z0-9_\-\.]*

Si esta membresía representa un clúster de Kubernetes, este valor se debe establecer en el UID del objeto de espacio de nombres kube-system.

last_connection_time

Timestamp

Solo salida. Para los clústeres que usan Connect, la marca de tiempo de la conexión más reciente establecida con Google Cloud. Esta hora se actualiza cada varios minutos, no de forma continua. Para los clústeres que no usen GKE Connect o que nunca se hayan conectado de forma correcta, no se configurará este campo.

unique_id

string

Solo salida. UUID generado por Google para este recurso. Es único en todos los recursos de la membresía. Si se borra un recurso de la membresía y se crea otro recurso con el mismo nombre, obtiene un unique_id diferente.

infrastructure_type

Membership.InfrastructureType

Opcional. El tipo de infraestructura en el que se ejecuta esta membresía.

monitoring_config

MonitoringConfig

Opcional. La información de la configuración de supervisión para esta membresía.

Campo de unión type. El tipo de recurso representado por esta membresía type puede ser solo uno de los siguientes:
endpoint

MembershipEndpoint

Opcional. Información del extremo para llegar a este miembro.

InfrastructureType

Especifica el tipo de infraestructura de una membresía. Hub usa el tipo de infraestructura para controlar el comportamiento específico de la infraestructura, incluidos los precios.

Cada distribución de GKE (GCP, local, en X, etc.) configurará este campo automáticamente, pero los clientes de clústeres adjuntos deben especificar un tipo durante el registro.

Enums
INFRASTRUCTURE_TYPE_UNSPECIFIED No se especificó ningún tipo. Es posible que algunas funciones de Hub requieran que se especifique un tipo y no admitirán membresías con este valor.
ON_PREM Infraestructura privada administrada por el cliente o propiedad de él. Esto incluye las distribuciones de GKE, como GKE OnPrem y GKE-OnBareMetal.
MULTI_CLOUD Infraestructura de nube pública.

MembershipEndpoint

MembershipEndpoint contiene información necesaria para comunicarse con una API de Kubernetes, un extremo y cualquier metadato adicional de Kubernetes.

Campos
kubernetes_metadata

KubernetesMetadata

Solo salida. Metadatos útiles específicos de Kubernetes.

kubernetes_resource

KubernetesResource

Opcional. Los recursos de Kubernetes en el clúster que se deben aplicar a un clúster registrado de forma correcta, en estado estable Sobre estos recursos:

  • Asegúrate de que el clúster esté registrado de forma exclusiva en una sola membresía del concentrador.
  • Propaga la información del grupo de cargas de trabajo disponible en el campo de la autoridad de membresía.
  • Garantizan que la configuración inicial de las funciones predeterminadas de Hub sea adecuada.
Campo de unión type. Información del clúster del clúster registrado. type puede ser solo uno de los siguientes:
gke_cluster

GkeCluster

Opcional. Información específica para un clúster de GKE en GCP.

on_prem_cluster

OnPremCluster

Opcional. Información específica para un clúster de GKE On-Prem. Un clúster de usuario local que no tiene resourceLink no puede usar este campo; en su lugar, debe tener un “tipo” nulo.

multi_cloud_cluster

MultiCloudCluster

Opcional. Información específica para un clúster de GKE Multi-cloud.

edge_cluster

EdgeCluster

Opcional. Información específica sobre un clúster de Google Edge.

appliance_cluster

ApplianceCluster

Opcional. Información específica para un clúster de dispositivos perimetrales de GDC.

MembershipState

Estado del recurso de la membresía.

Campos
code

MembershipState.Code

Solo salida. El estado actual del recurso de la membresía.

description
(deprecated)

string

Hub Service nunca configura este campo.

update_time
(deprecated)

Timestamp

Hub Service nunca configura este campo.

Código

El código describe el estado de un recurso de la membresía.

Enums
CODE_UNSPECIFIED No se estableció el código.
CREATING El clúster se está registrando.
READY El clúster está registrado.
DELETING Se anuló el registro del clúster.
UPDATING La membresía se está actualizando.
SERVICE_UPDATING El servicio Hub está actualizando la membresía.

MonitoringConfig

MonitoringConfig informa a las IU, los servicios y las aplicaciones basados en la flota cómo se informan las métricas del clúster subyacente a los servicios de supervisión en la nube. Se puede configurar de vacía a no vacía, pero no se puede mutar directamente para evitar romper la contención de las métricas por accidente.

Campos
project_id

string

Opcional. Proyecto usado para informar las métricas

location

string

Opcional. Ubicación que se usa para informar las métricas

cluster

string

Opcional. Nombre del clúster usado para informar las métricas. Para los clústeres de Anthos en VMWare/Baremetal/MultiCloud, tendría el formato {cluster_type}/{cluster_name}, p. ej., "awsClusters/cluster_1".

kubernetes_metrics_prefix

string

Opcional. Las métricas del sistema de Kubernetes, si están disponibles, se escriben en este prefijo. La configuración predeterminada es kubernetes.io para GKE y, finalmente, kubernetes.io/anthos para Anthos. Nota: Anthos MultiCloud tendrá el prefijo kubernetes.io hoy, pero la migración estará en kubernetes.io/anthos.

cluster_hash

string

Opcional. En el caso de los clústeres de GKE y de múltiples nubes, este es el UUID del recurso del clúster. Para los clústeres de VMWare y Baremetal, este es el UID del sistema de Kubernetes.

MultiCloudCluster

MultiCloudCluster contiene información específica de los clústeres de múltiples nubes de GKE.

Campos
cluster_missing

bool

Solo salida. Si cluster_missing está configurado, indica que el recurso de API(gkemulticloud.googleapis.com) para este clúster de GKE Multi-Cloud ya no existe.

OnPremCluster

On-PremCluster contiene información específica de los clústeres de GKE On-Prem.

Campos
cluster_missing

bool

Solo salida. Si cluster_Missing está configurado, indica que el recurso de API(gkeonprem.googleapis.com) para este clúster de GKE On-Prem ya no existe.

admin_cluster

bool

Inmutable. Si el clúster es de administrador.

cluster_type

OnPremCluster.ClusterType

Inmutable. El tipo de clúster local.

ClusterType

ClusterType describe el tipo de clúster local.

Enums
CLUSTERTYPE_UNSPECIFIED El ClusterType no está configurado.
BOOTSTRAP El ClusterType es un clúster de arranque.
HYBRID El ClusterType es un clúster híbrido de equipos físicos.
STANDALONE ClusterType es un clúster independiente de equipos físicos.
USER El ClusterType es clúster de usuario.

OperationMetadata

Representa los metadatos de la operación de larga duración.

Campos
create_time

Timestamp

Solo salida. La hora en que se creó la operación.

end_time

Timestamp

Solo salida. La hora a la que finalizó la operación.

target

string

Solo salida. Ruta de recurso definida por el servidor para el destino de la operación.

verb

string

Solo salida. Nombre del verbo que ejecuta la operación.

status_detail

string

Solo salida. Estado legible de la operación, si lo hay.

cancel_requested

bool

Solo salida. Identifica si el usuario solicitó la cancelación de la operación. Las operaciones que se cancelaron de forma correcta tienen el valor [Operation.error][] con un google.rpc.Status.code de 1, que corresponde a Code.CANCELLED.

api_version

string

Solo salida. La versión de la API solo se usa para iniciar la operación.

ResourceManifest

ResourceManifest representa un solo recurso de Kubernetes que se aplicará al clúster.

Campos
manifest

string

Manifiesto YAML del recurso.

cluster_scoped

bool

Indica si el recurso proporcionado en el manifiesto es cluster_scoped. Si no se configura, se supone que el manifiesto tiene permiso de espacio de nombres.

Este campo se usa para la asignación de REST cuando se aplica el recurso en un clúster.

ResourceOptions

ResourceOptions representan opciones para la generación de recursos de Kubernetes.

Campos
connect_version

string

Opcional. La versión del agente de Connect que se usará para connect_resources. La configuración predeterminada es la última versión de GKE Connect. La versión debe ser una versión compatible actualmente; se rechazarán las versiones obsoletas.

v1beta1_crd

bool

Opcional. Usa apiextensions/v1beta1 en lugar de apiextensions/v1 para los recursos CustomResourceDefinition. Esta opción se debe configurar para clústeres con versiones de apiserver de Kubernetes <1.16.

k8s_version

string

Opcional. Versión principal del clúster de Kubernetes. Esto solo se usa con el objetivo de determinar qué versión usar para los recursos CustomResourceDefinition, apiextensions/v1beta1 o apiextensions/v1.

TypeMeta

TypeMeta es la información de tipo necesaria para la deserialización del contenido de recursos de Kubernetes en el manifiesto.

Campos
kind

string

Tipo del recurso (p. ej., Deployment)

api_version

string

APIVersion del recurso (p. ej., v1).

UpdateMembershipRequest

Mensaje de solicitud para el método GkeHubMembershipService.UpdateMembership.

Campos
name

string

Obligatorio. El nombre del recurso de la membresía en el formato: projects/[project_id]/locations/global/memberships/[membership_id].

La autorización requiere el siguiente permiso IAM en el recurso especificado name:

  • gkehub.memberships.update
update_mask

FieldMask

Obligatorio. Máscara de campos que se actualizarán. Se debe especificar al menos una ruta de campo en esta máscara.

resource

Membership

Obligatorio. Solo se actualizan los campos especificados en update_mask. Si especificas un campo en update_mask, pero no especificas su valor aquí, ese campo se borrará. Si actualizas un campo de mapa, configura el valor de una clave como una cadena nula o vacía para borrar la clave del mapa. No es posible actualizar el valor de una clave a la cadena vacía. Si especificas update_mask para que sea una ruta especial “*”, se reemplazan por completo todos los campos modificables por el usuario para que coincidan con resource.

request_id

string

Opcional. Un ID de solicitud para identificar solicitudes. Especifica un ID de solicitud único para que, si debes reintentar la solicitud, el servidor sepa que debe ignorarla si ya se completó. El servidor lo garantizará durante al menos 60 minutos después de la primera solicitud.

Por ejemplo, imagina una situación en la que haces una solicitud inicial y se agota el tiempo de espera de la solicitud. Si vuelves a hacer la solicitud con el mismo ID de solicitud, el servidor puede verificar si se recibió la operación original con el mismo ID de solicitud y, de ser así, ignorar la segunda solicitud. Esto evita que los clientes creen compromisos duplicados por accidente.

El ID de solicitud debe ser un UUID válido, con la excepción de que no se admite ningún UUID cero (00000000-0000-0000-0000-000000000000).

ValidateExclusivityRequest

La solicitud para validar el estado existente de la CR de membresía en el clúster.

Campos
parent

string

Obligatorio. El elemento superior (proyecto y ubicación) en el que se crearán los recursos Membership. Especificado en el formato projects/*/locations/*.

La autorización requiere el siguiente permiso IAM en el recurso especificado parent:

  • gkehub.memberships.generateConnectManifest
cr_manifest

string

Opcional. El YAML de la CR de membresía en el clúster. Está vacío si la CR de membresía no existe.

intended_membership

string

Obligatorio. El nombre de la membresía deseado en parent. Este método solo realiza la validación antes de una llamada a CreateMembership con el mismo nombre.

ValidateExclusivityResponse

La respuesta del estado del resultado de la validación de artefactos de exclusividad.

Campos
status

Status

El resultado de la validación.

  • OK significa que la exclusividad se valida, si suponemos que se aplica correctamente el manifiesto producido por GenerateExclusivityManifest.
  • ALREADY_EXISTS significa que la CRD de membresía ya es propiedad de otro Hub. Consulta status.message para obtener más información.