diff --git a/docs/large-deployments.md b/docs/large-deployments.md index 18e3b7877..b19f69913 100644 --- a/docs/large-deployments.md +++ b/docs/large-deployments.md @@ -34,6 +34,9 @@ For a large scaled deployments, consider the following configuration changes: ``kube_controller_pod_eviction_timeout`` for better Kubernetes reliability. Check out [Kubernetes Reliability](kubernetes-reliability.md) +* Tune network prefix sizes. Those are ``kube_network_node_prefix``, + ``kube_service_addresses`` and ``kube_pods_subnet``. + * Add calico-rr nodes if you are deploying with Calico or Canal. Nodes recover from host/network interruption much quicker with calico-rr. Note that calico-rr role must be on a host without kube-master or kube-node role (but diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml index 825389c63..498b14365 100644 --- a/roles/kubespray-defaults/defaults/main.yaml +++ b/roles/kubespray-defaults/defaults/main.yaml @@ -99,7 +99,15 @@ kube_pods_subnet: 10.233.64.0/18 # internal network node size allocation (optional). This is the size allocated # to each node on your network. With these defaults you should have -# room for 4096 nodes with 254 pods per node. +# room for 64 nodes with 254 pods per node. +# Example: Up to 256 nodes, 100 pods per node (/16 network): +# - kube_service_addresses: 10.233.0.0/17 +# - kube_pods_subnet: 10.233.128.0/17 +# - kube_network_node_prefix: 25 +# Example: Up to 4096 nodes, 100 pods per node (/12 network): +# - kube_service_addresses: 10.192.0.0/13 +# - kube_pods_subnet: 10.200.0.0/13 +# - kube_network_node_prefix: 25 kube_network_node_prefix: 24 # The virtual cluster IP, real host IPs and ports the API Server will be