Skip to main content

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 Cluster

Risk Level

Low

Address

Security

Compliance Standards

  • CIS GKE

Triage and Remediation

Remediation

Manual Steps

  1. Identify whether the cluster is VPC-native (Alias IP enabled)
    • Run on: any machine with gcloud and project access.
    • Command (replace with actual values; these are the only variables you must resolve yourself):
    • Confirm: "useIpAliases": true is present. If so, the cluster is already VPC-native and no further action is required.
  2. If useIpAliases is 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.
  3. 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.
  4. 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).
  5. 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.
  6. Verify the new or updated cluster and decommission the old one (if applicable)
    • Verification command (on any machine with gcloud):
    • Confirm "useIpAliases": true and that clusterIpv4CidrBlock / 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.
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.

Additional Reading: