Kubernetes Troubleshooting
Information
Summary: |
This article covers some tips on how to troubleshooting connectivity issues to Kubernetes (K8s) cluster from the LoadMaster |
Environment: |
Product: LoadMaster Version: 7.2.57 and above Platform: Any Application: Kubernetes |
Question/Problem Description: |
Cannot Connect to Cluster. No Services showing under K8s. Virtual Service list not populating. |
Steps to Reproduce: | |
Error Message: | |
Defect Number: | |
Enhancement Number: | |
Cause: |
Python module is not installed. K8S modules are not installed. No communication to the cluster can be established. Kube-config file may not be formatted correctly. |
Resolution: |
Install the Python module and restart the LoadMaster: https://support.kemptechnologies.com/hc/en-us/articles/360048331532-Python-Add-On-GA-LTSF-LTS- Install via "System Configuration -> System Administration -> Update Software -> Install new Addon Package"
Install K8s Modules and restart the LoadMaster: Install via "System Configuration -> System Administration -> Update Software -> Install new Addon Package"
Kubernetes v1.21.9 or later required.
Ping the cluster IP Address from the LoadMaster to verify connectivity.
Make sure the LoadMaster interface IP address is on the white list Access Control List (ACL) for the cluster.
Ensure ports 443 and 6433 is not blocked from the LoadMaster to Kubernetes Cluster. If everything is communicating then the live virtual services should be visible under: “Virtual Services -> Kubernetes Settings”
The LoadMaster prefers to be on the same subnet as the cluster because there is a lot of traffic and routers/firewalls will tend to block it. Situate the cluster to be on the same subnet as one-arm (interface) of the LoadMaster.
There may be a requirement to add additional routes to the cluster IPs.
The top of the YAML file should have "apiVersion: networking.k8s.io/v1" as the api version.
The server input for the YAML file should be what is returned from the output of “kubectl cluster-info” "kubectl --kubeconfig ~/.kube/config.rancher.muc.local cluster-info
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'."
The server line in the YAML file should look like: server: "https://10.57.63.10/k8s/cclusters/local"
PLEASE NOTE: The IP addresses listed above are placeholders. Customer environments should be configured to reflect the IP range within the customers private network.
If all else fails check using the kube-config file with kubectl from another machine (VM,laptop,server…) and see if a connection can be established. |
Workaround: | |
Notes: |