Setting up service graph
Software requirements
Kubernetes Distribution | Kubernetes Version | Container Network Interfaces (CNI) | CPX version | CIC version | NetScaler ADM version | NetScaler agent Version |
---|---|---|---|---|---|---|
Open source | v1.16.3 | Flannel, Calico, or Canal | 13.0–41.28 or later | 1.5.25 or later | 13.0–47.22 or later | 13.0–47.22 or later |
You can configure the Kubernetes cluster with various deployment topologies and the following table provides the topologies that are supported in service graph:
Topology | Supported in service graph |
---|---|
Single-Tier or Unified ingress | Yes |
Dual-Tier | Yes |
Cloud | Yes, but cloud load balancer is not shown in the graph |
Service mesh lite | Yes |
Service mesh | Yes |
Services of type LoadBalancer | No |
Services of type NodePort | No |
To complete setting up service graph in NetScaler ADM, click the topology type that you have configured for your Kubernetes cluster and complete the mentioned procedures:
Note
The procedure to set up service graph for dual-tier and service mesh lite topologies remains the same.
Before you begin
You can view service graph using the following scenarios:
-
NetScaler ADM and Kubernetes cluster on the same network (for example, NetScaler ADM and Kubernetes cluster hosted on the same Citrix Hypervisor).
-
NetScaler ADM and Kubernetes cluster on a different network. In this scenario, you must configure an on-prem agent and register the agent on the network, where Kubernetes cluster is hosted.
Single tier or Unified ingress topology
Ensure that you have:
-
Configured Kubernetes cluster with single tier or unified ingress topology.
-
Added VPX, MPX, SDX, BLX instance in NetScaler ADM and enabled Web Insight.
-
Added Kubernetes cluster in NetScaler ADM.
Dual tier or Service Mesh Lite topology
Ensure that you have:
-
Configured Kubernetes cluster with any one of the supported topologies.
-
Configured static routes on NetScaler ADM to enable communication between NetScaler ADM and NetScaler CPX.
Note
You can ignore this procedure if you have deployed NetScaler ADM as a microservice in the same cluster.
-
Downloaded the sample deployment files from GitHub repository.
-
Added required parameters in CPX YAML file to ensure successful CPX registration with NetScaler ADM.
-
Added a VPX, MPX, SDX, or BLX instance in NetScaler ADM.
-
Added the Kubernetes cluster in NetScaler ADM.
-
Deployed a sample microservice application.
-
Deployed NetScaler CPX and registered CPX to ADM (applicable only for two-tier architecture)
-
Enabled Auto-select Virtual Servers to license the virtual servers.
-
Enabled Web transaction and TCP transaction settings to All for NetScaler agent to get HTTP and TCP transactions.
-
Sent traffic to microservices.
Service mesh topology
Ensure that you have:
-
Configured Kubernetes cluster version
1.14.0
with any one of the following service mesh topologies:-
NetScaler CPX as a sidecar proxy for Istio
-
NetScaler as an Ingress Gateway for Istio
For more information, see NetScaler Istio Adapter deployment architecture
-
-
Enabled
admissionregistration.k8s.io/v1beta1
API. You can verify the API by using:kubectl api-versions | grep admissionregistration.k8s.io/v1beta1
The following output indicates that the API is enabled:
admissionregistration.k8s.io/v1beta1
-
Installed Istio
istio v.1.3.0
. -
Installed Helm version 3.x.
-
Configured static routes on NetScaler ADM to enable communication between NetScaler ADM and NetScaler CPX.
Note
You can ignore this procedure if you have deployed NetScaler agent as a microservice in the same cluster.
-
Configured the required parameters to populate the service mesh topology data.
-
Deployed a sample application.
-
Added the Kubernetes cluster in NetScaler ADM.
-
Enabled Auto-select Virtual Servers to license the virtual servers.
Note
When CPX is deployed as a sidecar proxy in service mesh deployment, the virtual servers are licensed only if the IP address is matching with the CPX NS IP.
-
Enabled Web transaction and TCP transaction settings to All for NetScaler agent to get HTTP and TCP transactions.
-
Sent traffic to microservices.