-
Address
-
IP Ranges
- Nodes, Pods and Services unique IP range
- Nodes allocated IP from primary VPC subnet IP range
- Pods and Services allocated IP from secondary ranges
- Pod and Services secondary ranges must be specified before cluster creation
-
Nodes
- Per Node allocation for Pods is /24 = 256 IPs
- Users can allocate a smaller range per Node
-
Pods
- Pods are limited by default to 110 per node
- More IPs are allocated than Pods for IP reuse and lifecycle management
- No per node Pod IP range must be > 2x max number of Pods per node
-
Services
- IP allocation for the entire cluster (no per node allocation)
-
Growth
- Node IP range = primary VPC subnet range
- Pod IP range = VPC secondary IP range for Pods
- Divide total range by per node allocation
- Google recommends going one CIDR higher if at the upper end of max IP range
-
Max pods per node | CIDR range per node
- 8 | /28
- 9 to 16 | /27
- 17-32 | /26
- 33-64 | /26
- 65-110 | /24
-
Node size | Max nodes | Max Pod IPs | Recommended Pod IP Range
- /29 | 4 | 1024 | /21
- /28 | 12 | 3072 | /20
- /27 | 28 | 7168 | /19
- /26 | 60 | 15360 | /18
- /25 | 124 | 31744 | /17
- /24 | 252 | 65512 | /16
- /23 | 508 | 130048 | /15
- /22 | 1020 | 261120 | /14
- /21 | 2044 | 523264 | /13
- /20 | 4092 | 1047552 | /12
- /19 | 8188 | 2096128 | /11 (Max Pod address range)
-
Private clusters
- Removes external IPs from nodes
- Restrict master plane communication with master authorized networks or public endpoints
- Master node is in a Google controlled project
- Managed master node has public access via kubectl
- Private clusters create network peering connection to Google controlled project
- Network peering enables private RFC 1918 communication with master
- Private clusters allow access from resources in same subnet as cluster and whitelisted networks
- Whitelist IP addresses/ranges to access master node
- Public Endpoint is a whitelisted external (non-RFC 1918) located resource
-
Master Authorized Network
- Whitelisted private (RFC 1918) located resource
- Authorized and whitelisted with --master-authorized-networks command
-
Monitoring
- Monitors GKE clusters
- Manages monitoring and logging
- View a cluster's key metrics (CPU, memory, open incidents)
- View a cluster's infrastructure, workloads, services
- Inspects a cluster's namespace, nodes, workloads, services, pods and containers