Deploy NetScaler Kubernetes Gateway Controller with AI capabilities
You can enable NetScaler® AI Gateway capabilities using either of the following deployment options, depending on where your traffic originates:
- NetScaler Kubernetes Gateway Controller with NetScaler VPX/MPX/BLX — NetScaler Kubernetes Gateway Controller runs in the cluster and configures an external NetScaler VPX/MPX/BLX.
- NetScaler CPX with Gateway Controller — NetScaler CPX and NetScaler Kubernetes Gateway Controller run together inside the cluster.
Prerequisites
- A Kubernetes cluster with
kubectlconfigured. - Helm 3.x or later.
- Gateway API CRDs installed from the official standard channel.
Deploy NetScaler Kubernetes Gateway Controller with NetScaler VPX/MPX/BLX
Use this option when NetScaler Kubernetes Gateway Controller manages an external NetScaler VPX/MPX/BLX.
Download the Helm chart
Download the NetScaler Kubernetes Gateway Controller Helm chart package (.tgz) from the following location:
wget https://github.com/netscaler/netscaler-helm-charts/blob/gh-pages/netscaler-kubernetes-gateway-controller-2.4.0.tgz
<!--NeedCopy-->
Install NetScaler Kubernetes Gateway Controller
To install the chart with the release name, my-release, use the following command with the chart version downloaded in the previous step:
helm install my-release netscaler-kubernetes-gateway-controller-2.4.0.tgz --set license.accept=yes,gatewayController.gatewayControllerName=<controllerName>,netscaler.nsIP=<NSIP>,netscaler.adcCredentialSecret=<Secret-for-NetScaler-credentials>
<!--NeedCopy-->
Note:
By default, the chart installs the recommended RBAC roles and role bindings.
The command deploys NetScaler Kubernetes Gateway Controller on Kubernetes cluster with the default configuration. The configuration section lists the mandatory and optional parameters that you can configure during installation.
Create the GatewayClass
After the NetScaler Kubernetes Gateway Controller is installed, create a GatewayClass that binds to the controller. The controllerName must match the gatewayController.gatewayControllerName value used during installation.
kubectl apply -f - <<EOF
apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
name: aigwclass
spec:
controllerName: citrix.com/nsgw-controller
EOF
<!--NeedCopy-->
Note:
The
gatewayClassNamefield in every AI Gateway resource (Gateway,aigatewayprofile,aigatewayroute,ratelimit, andrewritepolicy) must match themetadata.nameof theGatewayClasscreated here (aigwclass).
Deploy NetScaler CPX with Gateway Controller
Use this option to run NetScaler CPX and the Gateway Controller together inside the cluster.
Download the Helm chart for NetScaler CPX with Gateway Controller
Download the NetScaler CPX with Gateway Controller Helm chart package (.tgz) from the following location:
wget https://github.com/netscaler/netscaler-helm-charts/blob/gh-pages/netscaler-cpx-with-gateway-controller-2.4.0.tgz
<!--NeedCopy-->
Install NetScaler CPX with Gateway Controller
To install the chart with the release name ```my-release
```bash
helm install my-release netscaler-cpx-with-gateway-controller-2.4.0.tgz --set license.accept=yes,gatewayController.gatewayControllerName=<controllerName>
<!--NeedCopy-->
Note:
By default the chart installs the recommended RBAC roles and role bindings.
The command deploys NetScaler CPX with NetScaler Kubernetes Gateway Controller as a sidecar on the Kubernetes cluster with the default configuration. The configuration section lists the mandatory and optional parameters that you can configure during installation.
Create the GatewayClass
After NetScaler CPX with Gateway Controller is installed, create a GatewayClass that binds to the controller. The controllerName must match the gatewayController.gatewayControllerName value used during installation.
kubectl apply -f - <<EOF
apiVersion: gateway.networking.k8s.io/v1
kind: GatewayClass
metadata:
name: aigwclass
spec:
controllerName: citrix.com/nscpxgw-controller
EOF
<!--NeedCopy-->
Note:
The
gatewayClassNamefield in every AI Gateway resource (Gateway,aigatewayprofile,aigatewayroute,ratelimit, andrewritepolicy) must match themetadata.nameof theGatewayClasscreated here (aigwclass).
Verify the deployment
Confirm that the controller is running and the GatewayClass is accepted before you apply AI Gateway resources.
kubectl get pods
kubectl get gatewayclass aigwclass
<!--NeedCopy-->
The controller pod must show STATUS Running (for CPX, the pod shows READY 2/2), and the GatewayClass must show ACCEPTED True.