Loading...
Loading...
Plans, configures, and manages GKE networking. Covers private clusters, VPC- native configurations, Gateway API, DNS, ingress/egress, Dataplane V2, and IP planning. Use when designing GKE networking layouts, configuring private clusters, setting up Gateway API, planning GKE IP ranges, or configuring GKE ingress/egress. Don't use for basic application routing that does not require dedicated network configuration.
npx skill4agent add google/skills gke-networkingMCP Tools:,get_cluster,update_cluster,apply_k8s_manifestget_k8s_resource
| Setting | Golden Path Value | Day-0/1 | Notes |
|---|---|---|---|
| | Day-0 | Nodes have no public IPs |
| | Day-0 | Control plane only reachable via private endpoint or DNS |
| | Day-0 | Allows DNS-based access from outside VPC |
| | Day-0 | eBPF-based, built-in Network Policy |
| | Day-0 | Managed DNS, more reliable than kube-dns |
| | Day-1 | VPC Flow Logs for intra-node traffic |
| | Day-1 | Gateway API support |
| | Day-0 | Automatic IP range management |
| | Day-0 | Auto-create dedicated subnet |
| | Day-0 | Conservative default; 110 for high density |
allowExternalTraffic: truemasterAuthorizedNetworksConfig# Access private cluster via DNS endpoint (golden path default)
gcloud container clusters get-credentials <CLUSTER_NAME> \
--region <REGION> --dns-endpoint \
--quiet
# Access via private endpoint (from within VPC)
gcloud container clusters get-credentials <CLUSTER_NAME> \
--region <REGION> --internal-ip \
--quietgcloud container clusters create-auto <CLUSTER_NAME> \
--region <REGION> \
--network <VPC_NAME> \
--subnetwork <SUBNET_NAME> \
--cluster-secondary-range-name <POD_RANGE> \
--services-secondary-range-name <SVC_RANGE> \
--enable-private-nodes \
--enable-master-authorized-networks \
--quietDay-0 Warning: VPC, subnet, and IP ranges cannot be changed after cluster creation.
| Resource | Golden Path | Notes |
|---|---|---|
| Pod CIDR | | ~32K pod IPs; size based on maxPodsPerNode |
| Service CIDR | | ~4K service IPs |
| Node subnet | auto-created | /20 recommended for growth |
| Max pods/node | 48 | Each node gets a /25 pod range; set to 110 |
| : : : for /24 per node : |
maxPodsPerNode=48/25maxPodsPerNode=110/24gatewayApiConfig.channel: CHANNEL_STANDARDapiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: external-http
spec:
gatewayClassName: gke-l7-global-external-managed
listeners:
- name: http
protocol: HTTP
port: 80gke-l7-regional-external-managedgke-l7-rilbSee theskill for default-deny policy and thegke-securityskill for per-team allow policies.gke-multitenancy
BackendConfig# 1. Create BackendConfig referencing your Cloud Armor policy
apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
name: my-backend-config
spec:
securityPolicy:
name: my-cloud-armor-policy
---
# 2. Annotate your Service
# cloud.google.com/backend-config: '{"default": "my-backend-config"}'ManagedCertificatecloud.google.com/neg: '{"ingress": true}'ServiceAttachment