Kemp Support, how can we help?

The latest application delivery knowledge and expertise at your fingertips.

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:

https://support.kemptechnologies.com/hc/en-us/articles/360058193772-Kemp-Ingress-Controller-Add-Ons-GA-

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.
https://support.kemptechnologies.com/hc/en-us/articles/202214098-Network-deployment-options-on-the-KEMP-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”
The rancher output looks like:

"kubectl --kubeconfig ~/.kube/config.rancher.muc.local cluster-info


Kubernetes master is running at https://10.1.164.200/k8s/clusters/local
CoreDNS is running at https://10.1.164.200/k8s/clusters/local/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Metrics-server is running at https://10.1.164.200/k8s/clusters/local/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy

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:  

Comments