前提条件
在设置网关之前,您必须获取适当的 Identity and Access Management (IAM) 权限,确保您的项目具有适当的网络策略,并启用出站流量。
如需了解详情,请参阅 Cloud NAT 使用入门 。
Cloud NAT 网关使用外部 leaf 子网作为输入。如需详细了解如何为 Cloud NAT 配置外部子网,请参阅
为 Cloud NAT 创建外部子网。
创建和管理具有连接超时的 Cloud NAT 网关
本文档介绍如何创建和管理具有连接超时的 Cloud NAT 网关。此用例创建的设置与第一个场景类似,但为通过 Cloud NAT 网关建立的连接指定了超时。
下图显示了一个具有多个出站 IP 的示例网关设置:

默认情况下,通过 Cloud NAT 网关创建的出站连接具有以下超时。您可以根据需要手动配置它们。
| 超时 | 默认值(秒) |
| 非 TCP 连接 | 60 |
| 空闲 TCP 连接 | 8000 |
| TCP 连接拆除 | 10 |
| TCP 连接建立 | 60 |
创建具有超时的 Cloud NAT 网关
此示例定义了一个具有连接超时的 Cloud NAT 网关。
与之前的示例一样,此配置会将来自subnet-1
和subnet-2的出站 IP 分配给带有app:aa标签的出站流量。
此外,此配置还会使用自定义值替换默认超时。
apiVersion: networking.gdc.goog/v1
kind: CloudNATGateway
metadata:
namespace: project-1
name: gateway-1
spec:
workloadSelector: # Immutable
labelSelector:
workloads:
matchLabels:
app: aa
subnetRefs: # Mutable
- subnet-1
- subnet-2
connectionOptions: # Mutable
nonTCPTimeoutSeconds: 10 # All non-TCP connections. 60 by default
tcpTimeoutSeconds: 900 # Established TCP connections. 8000 by default
tcpTeardownTimeoutSeconds: 10 # TCP connection teardown. 10 by default
tcpEstablishmentTimeoutSeconds: 10 # TCP connection establishment. 60 by default
您可以使用以下 kubectl 命令检查网关的状态。
export MGMT_KUBECONFIG=<path_to_management_kubeconfig>
kubectl get cloudnatgateways gateway-1 -n project-1 --kubeconfig "${MGMT_KUBECONFIG:?}"
如果配置正确,Cloud NAT 网关的状态条件字段会显示类型为 Ready 的条件设置为 true,并且子网标记为 OK,如以下示例输出所示。
apiVersion: networking.gdc.goog/v1
kind: CloudNATGateway
metadata:
namespace: project-1
name: gateway-1
spec:
workloadSelector: # Immutable
labelSelector:
workloads:
matchLabels:
app: aa
subnetRefs: # Mutable
- subnet-1
- subnet-2
connectionOptions: # Mutable
nonTCPTimeoutSeconds: 10
tcpTimeoutSeconds: 900
tcpTeardownTimeoutSeconds: 10
tcpEstablishmentTimeoutSeconds: 10
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
如需验证新配置是否生效,您可以 检查网关的状态。