Running Citrix ADC on Kubernetes

Running Citrix ADC on Kubernetes

Now more than ever, the cloud is providing excellent opportunities for mobile workplace deployment. Desktop virtualisation allows for manageability, productivity, and flexibility. Large scale managed environments need unparalleled network technologies. 

 

Kubernetes is a premium option for orchestrating containers and managing microservices. Citrix Application Delivery Controller (ADC) – formerly NetScaler – can be run on Kubernetes to solve the challenges associated with moving to Kubernetes-based applications.

 

 

Networking Challenges

 

Networking is one of the most demanding aspects of Kubernetes. Citrix ADC can be run on Kubernetes to help applications adapt to new networks with a variety of different protocols. 

 

Application developers require networking solutions for Kubernetes deployments because they typically manage services based on many different protocols, such as UDP, TCP, and HTTP. Developers need an Ingress solution that works for multiple clouds and on-prem data centres. These challenges increase if they are migrating to a service mesh architecture. Citrix ADC running on Kubernetes offers a standard Ingress solution and a seamless migration. 

 

Another major networking issue is handling grandfather ADC users during new Kubernetes deployments. This problem can be solved using the Citrix Ingress Controller. The Citrix Ingress Controller allows for Existing Citrix ADCs to be automated with Kubernetes. This solution requires traffic management which will need the Citrix ADC Custom Resource Definitions (CRDs). 

 

DevOps teams leverage CI/CD tools which cannot monitor new releases for network issues. A new release has the potential to disrupt CPU usage and memory storage. Citrix ADC allows DevOps teams to perform network monitoring, which allows for DevOps engineers to be in control of every step of the application process. 

 

Site Reliability Engineers (SREs) always need to monitor their systems. This includes monitoring all the Ingress traffic among microservices. The most important metrics in site reliability engineering are traffic, latency, errors, and saturation (called ‘The Four Golden Signals’). Citrix ADM is leveraged to find bottlenecks in service requests and helps SREs virtualise and debug the health of microservices.

 

 

Scaling DNS with CPX

 

DNS failures can cause big problems for your users. DNS infrastructures fail when the demand is too high, leading to application latency or application time out. Demand on DNS infrastructures is often a result of service lookups. More Kubernetes service to service traffic can lead to more DNS failures. 

 

Microservice architectures need DNS scaling. Users achieve this by creating a cache layer in front of the authoritative DNS server. The Kubernetes native DNS service is CoreDNS. CoreDNS has scalability limits which can cause timeouts for your application. By placing a DNS cache in each Kubernetes node, the DNS can scale easily, which prevents DNS failures. 

 

 

Autoscaling

 

For load balancing, Citrix ADC leverages the Horizontal Pod Autoscaler to scale deployments. It works with the metrics server to make decisions about the scaling of applications. The metrics server provides information about the pods concerning memory storage and CPU usage. The Horizontal Pod Autoscaler calculates a mean value for the metric provided from the metric server. If the user-specified target value differs from the mean value, the autoscaler is put into effect.

 

This process is what makes the user-specified target values incredibly important. The metrics server’s default of CPU and memory do not tell the full story when it comes to autoscaling decisions. More advanced metrics can accurately capture the throughputs of containers. Autoscaling improves the performance and fault tolerance of your application. 

 

Citrix ADC CPX provides a proxy with a wide range of metrics. These metrics allow for the creation of a custom metrics server. The custom metrics server can be used with the Horizontal Pod Autoscaler to scale applications automatically. This can take advantage of metrics, such as application latency and requests per second. The result is that this allows users to make decisions about what metrics should be consulted for scaling applications. User intuition about scaling is more accurate than general-purpose metrics. Users can choose custom metrics that work best, which leads to superior load balancing and reduces network issues. 

 

 

Citrix Ingress Controller

 

Citrix Ingress Controller is an essential component of developing Kubernetes-based apps in the cloud. The Ingress Controller allows for HTTP and HTTPS routes to interface with the Kubernetes cluster. As applications shift from monoliths to microservices, monitoring the status of these containers becomes a major challenge. End-user requests often get sent to many different microservices causing complex networking confusions. 

 

Citrix provides a dependable Ingress Controller for Kubernetes users. SREs turn to the Citrix Application Delivery Service Graph for the information they need. This Service Graph provides metrics on service-to-service communications and data on the performance of cloud-native apps. This works by creating a visualisation of ingress. The visualisation shows the transactions taking place in all of the Kubernetes microservices following an end-user request. The trace holds details of all the relevant transactions, such as start time, duration, the status code of each transaction, and the transaction metrics. 

 

The Distributed Tracing Insights function speeds up debugging and enhances the troubleshooting process. These insights can identify specific microservices that are implicated in a faulty process. Identifying these microservices can greatly improve the troubleshooting process. This eliminates the time it takes to collect a huge amount of different logs and map the details of each transaction. Distributed tracing allows for issues in production to be identified and fixed quickly. Applications can be monitored and fixed dynamically and reliably while remaining cloud-native. 

 

 

Experteq’s support services for Citrix ADC on Kubernetes

 

Citrix ADC is one of the leading Application Delivery Controllers on the market and provides significant benefits when used in conjunction with Kubernetes. 

 

Experteq’s support and managed services for Citrix ADC ensure users have maximum availability, rapid performance, and optimum security throughout the technology lifecycle. If you would like to learn more about our Citrix ADC support services, please visit our solutions page.

 

Frank Mulcahy

frank.mulcahy@experteq.com

Over the last 15 years Frank has been involved in several successful start-up technology companies that solve major business challenges using enterprise technology thinking. Frank is a strategic thinker and is often invited by media and vendors to comment on emerging Industry trends and technology market direction.