More Info:
Create Alias Ips For The Node Network Cidr Range In Order To Subsequently Configure Ipbased Policies And Firewalling For Pods. A Cluster That Uses Alias Ips Is Called A Vpc-Native ClusterRisk Level
LowAddress
SecurityCompliance Standards
- CIS GKE
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
Identify whether the cluster is VPC-native (Alias IP enabled)
- Run on: any machine with
gcloudand project access. - Command (replace with actual values; these are the only variables you must resolve yourself):
- Confirm:
"useIpAliases": trueis present. If so, the cluster is already VPC-native and no further action is required.
- Run on: any machine with
-
If
useIpAliasesis false or missing, confirm business and network requirements- Review with platform/network/security owners:
- Need for pod-level IP-based firewalling (e.g., Cloud Armor, VPC firewall rules by pod IP).
- Need for IP-based policies in service meshes or network appliances.
- Current reliance on routes-based clusters or node IP-based controls that may change with VPC-native.
- Decide whether the cluster must be migrated to VPC-native, or whether a non–VPC-native configuration is an intentional, documented exception.
- Review with platform/network/security owners:
-
Assess feasibility and impact of migrating to a VPC-native cluster
- Check cluster version and provider docs to confirm supported migration paths (some clusters cannot be converted in-place and require recreation).
- Identify dependencies:
- Any tooling that assumes pod IPs come from node CIDRs or uses node routes.
- Network policies, firewall rules, or peering configurations that may need updates for pod CIDRs.
- Decide:
- Migrate/replace the existing cluster with a new VPC-native cluster, or
- Keep current cluster as-is and record a risk acceptance/exception.
-
If choosing to create a new VPC-native cluster, design IP ranges
- On any machine with
gcloud, list existing subnets and ranges to avoid overlap: - With your network team, select:
- Primary subnet range for nodes.
- Secondary ranges for pods and services (non-overlapping with each other and with other networks).
- On any machine with
-
Create or define the VPC-native cluster configuration
- For ad-hoc/console-aligned work, the minimal CLI example is:
- For IaC (Terraform, Deployment Manager, etc.), ensure the equivalent options are set to enable IP aliases and specify secondary ranges.
- For ad-hoc/console-aligned work, the minimal CLI example is:
-
Verify the new or updated cluster and decommission the old one (if applicable)
- Verification command (on any machine with
gcloud): - Confirm
"useIpAliases": trueand thatclusterIpv4CidrBlock/servicesIpv4CidrBlock(or their range names) match the intended secondary ranges. - After safely migrating workloads to the VPC-native cluster and validating connectivity and policies, plan and execute decommissioning of the legacy non–VPC-native cluster if it is no longer required.
- Verification command (on any machine with
Using kubectl
Using kubectl
kubectl cannot enable VPC-native (Alias IP) networking because this setting is defined at cluster creation time in the GKE control plane configuration. To address this finding, use the Google Cloud Console, gcloud CLI, or your IaC pipeline as described in the Manual Steps section.
Automation
Automation

