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.0with any one of the following service mesh topologies:- 
        NetScaler CPX as a sidecar proxy for Istio 
- 
        NetScaler as an Ingress Gateway for Istio 
 
- 
        
- 
    Enabled admissionregistration.k8s.io/v1beta1API. You can verify the API by using:kubectl api-versions | grep admissionregistration.k8s.io/v1beta1The 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.