finding-google-skills
Locates and loads the right Google product skill on demand from a remote catalog index, instead of preloading every skill. Use at the START of any request…
Configures GKE edge networking, traffic routing, load balancing, and private service endpoints. Use when configuring Gateway API manifests, standard Ingress, Cloud Armor WAF security policies, Container-Native Load Balancing (NEGs), Private Service Connect (PSC), or
$ npx -y skills add google/skills --skill gke-service-networking --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/gke-service-networkingContext preview
The summary Claude sees to decide when to auto-load this skill.
Configures GKE edge networking, traffic routing, load balancing, and private service endpoints. Use when configuring Gateway API manifests, standard Ingress, Cloud Armor WAF security policies, Container-Native Load Balancing (NEGs), Private Service Connect (PSC), or
name: gke-service-networking description: >- Configures GKE edge networking, traffic routing, load balancing, and private service endpoints. Use when configuring Gateway API manifests, standard Ingress, Cloud Armor WAF security policies, Container-Native Load Balancing (NEGs), Private Service Connect (PSC), or Google-managed SSL certificates on GKE. Don't use for core cluster IP planning, Dataplane V2 network policies, or node NAT egress (use gke-networking instead). metadata: category: Networking
This skill provides workflows for exposing applications running on GKE securely to the internet or internal networks.
Deployable manifest templates live in `assets/` — edit the `# Replace ...` placeholders before applying.
The Gateway API is the modern way to manage routing in Kubernetes.
**Prerequisites**: Gateway API must be enabled on the cluster (enabled by default on new clusters running GKE 1.26+; on older supported versions enable it with `--gateway-api=standard`).
**Templates:**
`gke-l7-global-external-managed` GatewayClass with an HTTP listener.
`parentRefs` and routing a path prefix to a Service `backendRef`.
traffic splitting (e.g. 90/10) for canary deployments across backend services.
kubectl apply -f assets/gateway.yaml kubectl apply -f assets/httproute.yaml
**Traffic Splitting (Canary Deployments):**
HTTPRoute supports weighted traffic splitting across multiple backend Services for canary rollouts:
spec:
rules:
- backendRefs:
- name: app-v1
port: 80
weight: 90
- name: app-v2
port: 80
weight: 10Use standard Ingress for simpler use cases or legacy setups.
**Template:** `assets/ingress.yaml` — GCE Ingress (`kubernetes.io/ingress.class: "gce"` annotation) routing to a Service.
Cloud Armor provides WAF and DDoS protection.
1. Create a Security Policy in Cloud Armor:
gcloud compute security-policies create {security_policy_name} \
--description "WAF policy for {app_name}"
# Example rule: block an abusive IP range
gcloud compute security-policies rules create 1000 \
--security-policy {security_policy_name} \
--action deny-403 \
--src-ip-ranges "203.0.113.0/24" \
--description "Block abusive range"2. Reference it in a `BackendConfig`: `assets/backendconfig.yaml` (sets `spec.securityPolicy.name`).
3. Associate the `BackendConfig` with your `Service` via annotations:
# In your Kubernetes Service manifest metadata.annotations:
cloud.google.com/backend-config: '{"default": "{backend_config_name}"}'
# Or for specific port mappings:
cloud.google.com/backend-config: '{"ports": {"80": "{backend_config_name}"}}'Automatically provision and renew SSL certificates.
**Legacy Ingress approach:** apply `assets/managed-certificate.yaml` (a `ManagedCertificate` listing your domains), then reference it in the Ingress annotations:
networking.gke.io/managed-certificates: {certificate_name}**Gateway API approach:** for standard Certificate Manager integration, create a `CertificateMap` and reference it in the Gateway metadata annotations using the exact annotation `networking.gke.io/certmap` (spelled without any hyphens in `certmap`):
metadata:
annotations:
networking.gke.io/certmap: {certificate_map_name}> [!IMPORTANT] The annotation key is strictly `networking.gke.io/certmap` (do > not use `cert-map` or `certificate-map`).
Alternatively, reference a Kubernetes Secret in the HTTPS listener's `tls.certificateRefs`. Both variants are in `assets/gateway-https.yaml`.
Container-native load balancing allows load balancers to target Kubernetes Pods directly, rather than targeting nodes. This improves latency and distribution.
**Prerequisites**: Cluster must be VPC-native.
**How it works**: the `cloud.google.com/neg` annotation on a Service triggers creation of a NEG that mirrors the Pod IPs. GKE often adds it for you — but not always, and knowing which case you are in is the whole point.
# In your Kubernetes Service manifest metadata.annotations:
cloud.google.com/neg: '{"ingress": true}'**When the annotation is automatic** (do not add it by hand):
optional. Internal Ingress always uses `GCE_VM_IP_PORT` NEGs and requires a VPC-native cluster.
VPC-native, is not on Shared VPC, does not use GKE Network Policy, and has the `HttpLoadBalancing` add-on enabled (on by default — do not disable it). GKE then annotates Services automatically.
**When you must add it explicitly**:
letting Ingress own it. Required if the LB must be configured outside GKE, since Ingress overwrites managed load balancer settings on sync or upgrade. You become responsible for every part of the load balancer.
Shared VPC, GKE Network Policy, or non-VPC-native. Enable per Service.
VPC-native clusters still use instance group backends.
**Not supported / no NEG fallback**:
This repository contains Agent Skills for Google products and technologies, including Google Cloud.
Repo: google/skills
Locates and loads the right Google product skill on demand from a remote catalog index, instead of preloading every skill. Use at the START of any request…
Provides safety-critical validation, guardrails, and data reduction for gcloud CLI operations across Google Cloud Platform (GCP) services and infrastructure.…
Provides expert guidance on authenticating and authorizing to Google Cloud services and APIs, covering human users, service identities, Application Default…
Guides a developer's first steps on Google Cloud, covering account creation, billing setup, project management, and deploying a first resource. Use when a new…
Searches, retrieves, and synthesizes official Google developer documentation across Google Cloud, AI/Gemini, Android, Chrome, Web, Flutter, Go, Firebase, and…
Guides developers through managing (adding, removing, and clearing) audience members for Google products using the Data Manager API and its associated client…