Contrôleur d'entrée Citrix ADC

Configurer l’itinéraire statique sur Ingress Citrix ADC VPX ou MPX

Dans un cluster Kubernetes, les espaces s’exécutent sur un réseau superposé. Le réseau de superposition peut être Flannel, Calico, Weave, etc. Les espaces du cluster se voient attribuer une adresse IP provenant du réseau de superposition qui est différente du réseau hôte.

L’entrée Citrix ADC VPX ou MPX en dehors du cluster Kubernetes reçoit tout le trafic entrant vers les microservices déployés dans le cluster Kubernetes. Vous devez établir une connectivité réseau entre l’instance Citrix ADC d’entrée et les espaces pour que le trafic entrant atteigne les microservices.

L’un des moyens d’atteindre la connectivité réseau entre les espaces et l’instance Citrix ADC VPX ou MPX en dehors du cluster Kubernetes consiste à configurer des itinéraires sur l’instance Citrix ADC vers le réseau de superposition.

Vous pouvez le faire manuellement ou le Citrix ingress controller fournit une option pour configurer automatiquement le réseau.

Remarque :

Assurez-vous que SNIP est configuré sur l’instance Citrix ADC (MPX ou VPX) sur le réseau hôte. Le réseau hôte est le réseau sur lequel les nœuds Kubernetes communiquent entre eux.

Configurer manuellement l’itinéraire sur l’instance Citrix ADC

Procédez comme suit :

  1. Sur le nœud maître du cluster Kubernetes, obtenez le PodCIDR à l’aide de la commande suivante :

    # kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.spec.podCIDR}{'\t'}{'gateway: '}{.status.addresses[0].address}{'\n'}{end}"
    
      podNetwork: 10.244.0.0/24    gateway: 10.106.162.108
      podNetwork: 10.244.2.0/24    gateway: 10.106.162.109
      podNetwork: 10.244.1.0/24    gateway: 10.106.162.106
    

    Si vous utilisez Calico CNI, utilisez la commande suivante pour obtenir le PodCidr :

    # kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.metadata.annotations.projectcalico\.org/IPv4IPIPTunnelAddr}{'\tgateway: '}{.metadata.annotations.projectcalico\.org/IPv4Address}{'\n'}"
    
      podNetwork: 192.168.109.0       gateway: 10.106.162.108/24
      podNetwork: 192.168.174.0       gateway: 10.106.162.109/24
      podNetwork: 192.168.76.128      gateway: 10.106.162.106/24
    
  2. Ouvrez une session sur l’instance Citrix ADC.

  3. Ajoutez un itinéraire sur l’instance Citrix ADC à l’aide des informations PodCIDR. Utilisez la commande suivante :

    add route <pod_network> <podCIDR_netmask> <gateway>
    

    Par exemple,

    add route 192.244.0.0 255.255.255.0 192.106.162.108
    
    add route 192.244.2.0 255.255.255.0 192.106.162.109
    
    add route 192.244.1.0 255.255.255.0 192.106.162.106
    

Configurer automatiquement l’itinéraire sur l’instance Citrix ADC

Dans le fichier citrix-k8s-ingress-controller.yaml, vous pouvez utiliser un argumentfeature-node-watch pour configurer automatiquement l’itinéraire sur l’instance Citrix ADC associée.

Définissez l’argument feature-node-watch sur true pour activer la configuration automatique de l’itinéraire.

Vous pouvez spécifier cet argument dans le fichier citrix-k8s-ingress-controller.yaml comme suit :

spec: serviceAccountName: cic-k8s-role containers: - name: cic-k8s-ingress-controller image: “quay.io/citrix/citrix-k8s-ingress-controller:1.26.7” # feature-node-watch argument configures route(s) on the Ingress Citrix ADC # to provide connectivity to the pod network. Cette fonctionnalité est désactivée par défaut. args: - –feature-node-watch true

Par défaut, l’argument feature-node-watch est défini sur false. Définissez l’argument sur true pour activer la configuration automatique de l’itinéraire. Pour la configuration automatique de l’itinéraire, vous devez fournir des autorisations pour écouter les événements du type de ressource des nœuds. Vous pouvez fournir les autorisations requises dans le fichier citrix-k8s-ingress-controller.yaml comme suit :

  kind: ClusterRole
  apiVersion: rbac.authorization.k8s.io/v1
  metadata:
    name: cic-k8s-role
  rules:
  - apiGroups: [""]
    resources: ["services", "endpoints", "ingresses", "pods", "secrets", "nodes"]
    verbs: ["*"]
  <!--NeedCopy-->
Configurer l’itinéraire statique sur Ingress Citrix ADC VPX ou MPX