GitHub user hodie-aurora closed a discussion: Issue with Creating High Availability Kubernetes Cluster in CloudStack VPC - External Load Balancer IP Configuration
Subject: Issue with Creating High Availability Kubernetes Cluster in CloudStack VPC - External Load Balancer IP Configuration Hello CloudStack community, I'm trying to set up a high availability Kubernetes cluster in a VPC on Apache CloudStack, and I'm running into an issue with the external load balancer IP address. I'd really appreciate any insights or advice from those who have experience with this setup. Here's a detailed description of what I've done and the problem I'm facing: Setup Overview: I created a VPC named "k8s-vpc" in the "test-cloud" zone. Within the VPC, I added a network tier called "k8s-net" with CIDR 10.1.0.0/24, network type VLAN/888, and it's implemented with default ACL allowing all. I acquired a public IP address: 192.168.122.43 (allocated and associated with the VPC). On this public IP, I configured load balancing: Name: k8s-lb Public Port: 6443 Private Port: 6443 Algorithm: Round-robin Protocol: TCP AutoScale: No No instances added yet (since the cluster isn't initialized). For port forwarding on the public IP, I haven't set any rules yet, but the LB is configured to forward traffic on 6443. Cluster Creation Attempt: In the Kubernetes cluster creation wizard: Name: k8s-cluster Description: k8s-cluster Zone: test-cloud Kubernetes Version: setup-v1.33.1-calico-x86_64 Compute Offering: k8s instance Node root disk size: 8 GB Network: k8s-net HA enabled: Yes (toggle on) Control nodes: 3 External Load Balancer IP Address: 192.168.122.43 (the public IP I acquired and configured for LB) Cluster size (Worker nodes): 3 SSH Key pair: k8s-key When I try to create the cluster with this configuration, I get the following error: "Request failed. (530) externalloadbalanceripaddress parameter must be specified when network type is not Shared or is ROUTED network" This is confusing because I did specify the external load balancer IP address. From the error, it seems like the system thinks the network type requires it, but perhaps my network configuration isn't recognized as Shared or ROUTED? My network tier is set to "Kubernetes Network Tier" in the selection dropdown, but in the VPC details, it's shown as VLAN. Screenshots for Reference: First screenshot: The "Add Instances" dialog for the load balancer showing "No Data" since no instances are bound yet. <img width="1431" height="688" alt="01" src="https://github.com/user-attachments/assets/beac3613-8862-48a3-8e2d-b17bd7848f14" /> Second screenshot: The cluster creation form with the error popup highlighting the external load balancer IP field. <img width="1446" height="697" alt="02" src="https://github.com/user-attachments/assets/628b3d8d-3c18-4211-8950-271f16a9ed4e" /> Third screenshot: VPC details page showing the "k8s-net" network tier. <img width="1451" height="696" alt="03" src="https://github.com/user-attachments/assets/6b0864b7-b6e1-4e22-9138-15bce55384a9" /> Fourth screenshot: Public IP addresses page showing the acquired IP 192.168.122.43. <img width="903" height="431" alt="04" src="https://github.com/user-attachments/assets/ef240a87-7159-4bae-bcaf-b128f625143f" /> Fifth screenshot: Load balancing configuration on the public IP with the k8s-lb rule for port 6443. <img width="1428" height="691" alt="05" src="https://github.com/user-attachments/assets/a4f95d7e-e815-4745-b892-3427ad65dc15" /> Sixth screenshot: Another view of the public IP addresses in the VPC, with the "Acquire new IP" button. <img width="1005" height="689" alt="06" src="https://github.com/user-attachments/assets/77c155f1-a3d9-424c-b09e-52ae438a4811" /> Questions: Is my operation correct? Did I miss something in configuring the load balancer or the network? How should the External Load Balancer IP Address typically be obtained when creating a HA K8s cluster in CloudStack? Does it need to be a specific type of IP or configured in a particular way? Does this require creating a separate Nginx virtual machine for load balancing, or can I use CloudStack's built-in LB features? If I leave the External Load Balancer IP Address blank, the cluster creates successfully, but will this lead to all worker nodes pointing to a single control node, causing a single point of failure if that node goes down? If anyone has successfully set up a HA K8s cluster in a VPC like this, could you share your steps or any gotchas? I've been following the general documentation, but it seems like there might be something specific to VPCs or network types that I'm overlooking. Thank you so much for your help! I really appreciate the community's support. Best wishes to everyone. Best regards GitHub link: https://github.com/apache/cloudstack/discussions/11599 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected]
