This is a guest post by Pushkar Patel, Principal Product Manager, Citrix.
The Operator Framework is an open source toolkit designed to package, deploy, and manage Kubernetes-native applications in a more effective, automated, and scalable way.
An API Gateway acts as the single entry point for your APIs and ensures secure and reliable access to multiple APIs and microservices in your system. Citrix provides an enterprise-grade API Gateway for North-South API traffic into the OpenShift cluster. The API Gateway integrates with the OpenShift cluster through the Citrix Ingress Controller and the Citrix ADC (MPX, VPX, or CPX) deployed as the ingress gateway for on-premises or cloud deployments.
In this blog post, I will look at how you can deploy the API Gateway to OpenShift using Operators.
The Citrix API Gateway operator installs the custom resource definitions (CRDs) required for the API Gateway functionality. Because this operator leverages the Citrix Ingress Controller, you need to create an instance of the API Gateway CRD, which is the Citrix Ingress Controller. If you already have a Citrix Ingress Controller instance in the cluster, you need to install it again.
The API Gateway supports the following CRDs:
- Auth CRD (authpolicies.citrix.com) – Authentication policies are used to enforce access restrictions to resources hosted by an application or an API server.
- Content routing CRDs (httproutes.citrix.com and listeners.citrix.com) – Kubernetes-native Ingress supports only basic host and path-based routing. Using content routing CRDs, you can expose the advanced content routing abilities provided by Citrix ADC like routing based on header values or query strings.
- Rate limit CRD (ratelimits.citrix.com) – In a Kubernetes deployment, you can rate limit the requests to the resources on the back-end server or services using the rate limiting feature provided by the ingress Citrix ADC.
- Rewrite and responder CRD (rewritepolicies.citrix.com) – In a Kubernetes environment, to deploy specific Layer 7 policies (such as redirecting HTTP traffic to a specific URL) requires you to add appropriate libraries within the microservices and manually configure the policies. Instead, you can use the Rewrite and Responder features provided by the Ingress Citrix ADC device to deploy these policies.
- VIP CRD (vips.citrix.com) – Citrix provides a VIP CRD for asynchronous communication between the IPAM controller and the Citrix Ingress Controller. The IPAM controller is provided by Citrix for IP address management.
Deploy Citrix API Gateway Using OpenShift Operator
Perform the following steps to deploy API Gateway using the Operator.1: In the OperatorHub, search for Citrix API Gateway Operator:
3: Choose the namespace where you want the Operator to be installed and click Subscribe:
4: Once the Citrix API Gateway Operator is installed, you will see it listed under the Installed Operators section on the left panel. At this point, all CRDs are installed in the cluster:
5: To create instances of each CRD, select the appropriate CRD and click Create Instance:
6: Once you create the instance, you can see all your instances by selecting the All Instances tab:
Update the CRD Instance
To update any values of the created CRD instance, click on the instance, go to the YAML tab, edit the YAML file, and click Save:
Delete the Instance and Operator
To delete an instance of the CRD, you have to delete the Citrix Ingress Controller instance from the user interface. Select the three vertical dots on the right side of the instance as shown in the following image and then click Delete CitrixIngressController:
To delete the operator, click on the Actions drop-down list and then click Uninstall operator (Please note, you should delete all instances manually before uninstalling the operator. The instances are not automatically deleted if you uninstall the operator.):
The Red Hat OpenShift Operator will ease the installation process of Citrix API Gateway and enable all the required features to be configured on the go. Learn more about Citrix ADC and Citrix API Gateway.