This article provides answers to a few common questions on the following parameters used within Tanzu Kubernetes Grid Integrated Edition with some examples:
pod_ip_block_ids,
node_ip_block_ids,
pod_subnet_prefix,
node_subnet_prefix
Tanzu Kubernetes Grid Integrated Edition
NSX Data Center
Q: Is our Node IP Block appropriately sized for existing and future clusters?
Answer: Broadcom Support cannot provide infrastructure sizing and planning guidance. However, let's walk through two example Node IP Blocks to show what it will give you
NOTE:
Example1:
Node IP Block: 10.218.128.0/16 which carves out Node Subnets with /24 per kubernetes Cluster
Total Clusters and Nodes possible using the default /24 subnet:
Subnets (number of TOTAL Clusters) = 256
Total Hosts (total number of cluster nodes) = 65024
Maximum kubernetes nodes per cluster: (65024 / 256) = 254
Example2:
Node IP Block: 10.218.128.0/18 which carves out Node Subnets with /24 per kubernetes Cluster
Total Clusters and Nodes possible using the default /24 subnet:
Subnets (number of TOTAL Clusters) = 64
Total Hosts (total number of cluster nodes) = 16256
Maximum kubernetes nodes per cluster: (16256 / 64) = 254
Refer to the following guides for more details:
Network Planning for Installing Tanzu Kubernetes Grid Integrated Edition with VMware NSX
Which discusses:
Q: Is my Pod IP Block appropriately sized for existing and future cluster workloads?
Answer: Broadcom Support cannot provide infrastructure sizing and planning guidance. However, let's walk through two example Pod IP Blocks to show what it will give you
NOTE:
Example1:
Pod IP Block: 10.218.128.0/16 which carves out Subnets with /24 for each kubernetes Namespace (across all clusters)
Total Namespaces and Pods across all Clusters using recommended /16 subnet
Maximum Subnets (Total number of Namespaces across ALL clusters) = 256
Total Hosts (number of Pods across all clusters) = 65024
Maximum Pods per Namespace: (65024 /256) = 254
IMPORTANT: If the number of pods in a Namespace goes beyond 254, then an additional Subnet will be carved out of the POD IP BLOCK range and used by the same Namespace. Thus, only 255 subnets would remain. The number of potential Namespaces would be lowered to 255 (from 256 max subnets)
Example2:
Pod IP Block: 10.218.128.0/18 which carves out Subnets with /24 for each kubernetes Namespace (across all clusters)
Total Namespaces and Pods across all Clusters using recommended /16 subnet
Maximum Subnets (Total number of Namespaces across ALL clusters) = 64
Total Hosts (number of Pods across all clusters) = 16256
Maximum Pods per Namespace: (65024 /256) = 254
IMPORTANT: If the number of pods in a Namespace goes beyond 254, then an additional Subnet will be carved out of the POD IP BLOCK range and used by the same Namespace. Thus, only 255 subnets would remain. The number of potential Namespaces would be lowered to 63 (from 64 max subnets)
Refer to the following guides for more details:
Network Planning for Installing Tanzu Kubernetes Grid Integrated Edition with VMware NSX
Which discusses:
Q: How do the node_subnet_prefix, pod_subnet_prefix parameters affect the default values of the Nodes IP Block and Pods IP Block?
NOTE:
Nodes IP Block (node_ip_block_ids) is Updatable starting with TKGI 1.16.0
Pods IP Block (pod_ip_block_ids) is also Updatable
Info about node_subnet_prefix:
Refer to the Reference on Node Subnet Prefix
Info about pod_subnet_prefix:
Example:
Refer to the Reference on Pod Subnet Prefix
Q: Is my Floating IP Pool sufficient for the Kubernetes Services and cluster Load Balancers in my environment?
Answer: Floating IPs (FIPs) in TKGI when NSX Data Center is used:
Answer: You can always add more Floating IP Pools if your default IP Block is exhausted or you are reaching its limit through a Network Profile
Q: Can I expand the number of Floating IPs in my environment?
Answer: Yes
Q: How do I expand available Floating IPs?
Answer:
During TKGI deployment, a single Floating IP Pool ID is populated by the TKGI Operator into the Opsmanager -> TKGI tile -> Networking tab
That Floating IP Pool ID becomes the default Floating Pool ID used by all Kubernetes clusters
When deployed NSX Data Center, an operator can create more Floating IP Pool IDs and expand through a Network Profile as needed
Steps:
Add new Floating IPs (FIPs) to TKGi
Update-Cluster Network Profile Validation Rules
NOTE:
fip_pool_ids is an array used within a Network Profile. It is Updatable. You can create additional FIP IDs to expand your Floating IP pool through a Network Profile
Not all Network Profile parameters are Updatable. Refer to Network Profile Parameters
Q: Are there any adjustments or recommendations to improve this setup based on TKGI and NSX-T best practices?
Answer:
Broadcom Support is not able to give architectural planning guidance specific to customer business plans. If you need architectural and related planning, customer account teams will help you with a PSO engagement to assist.
Broadcom support recommends the following planning guides and topics:
Network Planning for Installing Tanzu Kubernetes Grid Integrated Edition with VMware NSX
NSX Deployment Topologies for Tanzu Kubernetes Grid Integrated Edition
Considerations for Using the VMware NSX Policy API with TKGI
-> cni_configurations Parameters
Using Network Profiles (NSX Only)
Creating and Managing Network Profiles (NSX Only)