Google Distributed Cloud (GDC) aislado admite clústeres estándar, un clúster de Kubernetes de autoservicio y un solo proyecto gestionado por el grupo de operadores de aplicaciones que ofrece más flexibilidad para las cargas de trabajo personalizadas. En esta página se explica cómo configurar Cloud NAT para clústeres estándar y se describen algunas restricciones y limitaciones en las configuraciones de NAT para este tipo de clúster.
Antes de empezar
Antes de configurar una pasarela, debes obtener los permisos de gestión de identidades y accesos (IAM) adecuados, asegurarte de que tu proyecto tiene una política de red adecuada y habilitar la salida.
Consulta más información en el artículo Antes de empezar a usar Cloud NAT.
La pasarela de Cloud NAT usa subredes leaf externas como entradas. Para obtener más
información sobre cómo configurar subredes externas para Cloud NAT, consulta el artículo
Crear subredes externas para Cloud NAT.
Información general

Las pasarelas de Cloud NAT se pueden configurar para gestionar el tráfico de salida de las cargas de trabajo que se ejecutan en clústeres estándar de dos formas:
- Pasarela con ámbito de proyecto: pasarela que se aplica a todo el tráfico de cargas de trabajo en clústeres de un proyecto, incluidos todos los clústeres compartidos y estándar. Esta es la configuración que se describe en el artículo Crear una pasarela de Cloud NAT.
- Pasarela con ámbito de clúster: pasarela que se aplica solo a las cargas de trabajo de un clúster estándar especificado. Este es el tipo de pasarela que se muestra en esta página.
Estos dos métodos son exclusivamente para cargas de trabajo y no se
aplican a los nodos que componen un clúster estándar. Para habilitar
Cloud NAT en los
nodos que forman un clúster estándar, añade la etiqueta
cluster.gdc.goog/enable-node-egress-to-outside-the-org: "true" al objeto de
clúster estándar.
Crear la pasarela de Cloud NAT
El proceso de creación de una pasarela para un clúster estándar sigue siendo el mismo que el de cualquier pasarela de Cloud NAT con ámbito de proyecto.
En este caso, nos centraremos en la función de filtrado de clústeres de Cloud NAT para clústeres estándar y crearemos una configuración similar al primer escenario, pero especificando el nombre del clúster estándar user-vc-1 donde se encuentran los endpoints que enrutarán el tráfico a través de la pasarela. Como resultado, esta pasarela tendrá un ámbito específico para este clúster.
apiVersion: networking.gdc.goog/v1
kind: CloudNATGateway
metadata:
namespace: project-1
name: gateway-1
spec:
workloadSelector: # Immutable
labelSelector:
workloads:
matchLabels:
app: aa
clusters:
matchLabels:
kubernetes.io/metadata.name: user-vc-1
subnetRefs: # Mutable
- subnet-1
- subnet-2
Esta configuración seleccionará todas las cargas de trabajo con las etiquetas app: aa en todos los espacios de nombres del clúster estándar user-vc-1.
Comprobar el estado de la pasarela
Para comprobar el estado de las pasarelas, ejecuta el siguiente comando kubectl.
export MGMT_KUBECONFIG=<path_to_management_kubeconfig>
kubectl get cloudnatgateways gateway-1 -n project-1 --kubeconfig "${MGMT_KUBECONFIG:?}"
Si se ha configurado correctamente, el campo de condición de estado de la pasarela de Cloud NAT debe mostrar la condición del tipo Ready establecida en true y las subredes marcadas como OK, tal como se muestra en el siguiente ejemplo de salida:
apiVersion: networking.gdc.goog/v1
kind: CloudNATGateway
metadata:
namespace: project-1
name: gateway-1
spec:
workloadSelector: # Immutable
labelSelector:
workloads:
matchLabels:
app: aa
clusters:
matchLabels:
kubernetes.io/metadata.name: user-vc-1
subnetRefs: # Mutable
- subnet-1
- subnet-2
status:
conditions:
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: Ready
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: SubnetsReady
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: PerimeterConfigurationReady
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: EgressRoutesReady
subnets:
- name: subnet-1
status: OK
- name: subnet-2
status: OK
Probar el tráfico
Para probar el tráfico, ejecuta un comando curl desde uno de los pods o las VMs asignados a la pasarela del clúster estándar hacia un endpoint externo. El endpoint receptor debería ver un paquete de una de las IPs de salida asociadas a la pasarela. Los endpoints de los clústeres compartidos con las mismas etiquetas NO PUEDEN enviar tráfico de salida mediante esta pasarela.
Restricciones en las configuraciones de pasarela específicas de clústeres
Los selectores de etiquetas de cargas de trabajo (workloadSelector.labelSelector.workloads.matchLabels) de las pasarelas con ámbito de clúster NO DEBEN SOLAPARSE con los selectores de etiquetas de cargas de trabajo de otras pasarelas con ámbito de proyecto. Como se indica en el artículo Restricciones en la configuración de Cloud NAT, los
workloadSelector.labelSelector.workloads.matchLabels no deben solaparse entre las
pasarelas del mismo proyecto y zona.
Las demás restricciones que se indican en el artículo Restricciones en la configuración de Cloud NAT también se aplican a las configuraciones de pasarela con ámbito de clúster.