Establish network between Kubernetes nodes and Ingress Citrix ADC using Citrix node controller¶
In Kubernetes environments, when you expose the services for external access through the Ingress device you need to appropriately configure the network between the Kubernetes nodes and the Ingress device.
Configuring the network is challenging as the pods use private IP addresses based on the CNI framework. Without proper network configuration, the Ingress device cannot access these private IP addresses. Also, manually configuring the network to ensure such reachability is cumbersome in Kubernetes environments.
Also, if the Kubernetes cluster and the Ingress Citrix ADC are in different subnets, you cannot establish a route between them using Static routing. This scenario requires an overlay mechanism to establish a route between the Kubernetes cluster and the Ingress Citrix ADC.
Citrix provides a node controller that you can use to create a VXLAN based overlay network between the Kubernetes nodes and the Ingress Citrix ADC as shown in the following diagram:
To establish network connectivity using Citrix node controller:
-
Deploy the Citrix ingress controller. Perform the following:
-
Download the citrix-k8s-ingress-controller.yaml using the following command:
wget https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/deployment/baremetal/citrix-k8s-ingress-controller.yaml
-
Edit the
citrix-k8s-ingress-controller.yaml
file and enter the values for the environmental variables. For more information, see Deploy the Citrix ingress controller. -
Once you update the environment variables, save the YAML file and deploy it using the following command:
kubectl create -f citrix-k8s-ingress-controller.yaml
-
Verify if the Citrix ingress controller is deployed successfully using the following command:
kubectl get pods --all-namespaces
-
-
Deploy the Citrix node controller. For information on how to deploy the Citrix node controller, see Deploy the Citrix k8s node controller.