Ingress Controller de Citrix ADC

Configurar la ruta estática en Citrix ADC VPX o MPX de entrada

En un clúster de Kubernetes, los pods se ejecutan en una red superpuesta. La red superpuesta puede ser franela, calicó, tejido, etc. A los pods del clúster se les asigna una dirección IP de la red superpuesta, que es diferente de la red host.

El Citrix ADC VPX o MPX de entrada fuera del clúster de Kubernetes recibe todo el tráfico de entrada a los microservicios implementados en el clúster de Kubernetes. Debe establecer la conectividad de red entre la instancia de Citrix ADC de entrada y los pods para que el tráfico de entrada llegue a los microservicios.

Una de las formas de lograr la conectividad de red entre los pods y la instancia de Citrix ADC VPX o MPX fuera del clúster de Kubernetes es configurar rutas en la instancia de Citrix ADC a la red superpuesta.

Puede hacerlo manualmente o el Citrix Ingress Controller ofrece una opción para configurar la red automáticamente.

Nota:

Asegúrese de que la instancia de Citrix ADC (MPX o VPX) tenga SNIP configurado en la red host. La red host es la red en la que los nodos de Kubernetes se comunican entre sí.

Configurar manualmente la ruta en la instancia de Citrix ADC

Lleve a cabo lo siguiente:

  1. En el nodo principal del clúster de Kubernetes, obtén el podCIDR con el siguiente comando:

    # 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 está utilizando Calico CNI, utilice el siguiente comando para obtener el 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. Inicie sesión en la instancia de Citrix ADC.

  3. Agregue una ruta en la instancia de Citrix ADC mediante la información de podCIDR. Utilice el siguiente comando:

    add route <pod_network> <podCIDR_netmask> <gateway>
    

    Por ejemplo:

    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
    

Configurar automáticamente la ruta en la instancia de Citrix ADC

En el archivo citrix-k8s-ingress-controller.yaml, puede usar un argumentofeature-node-watch para configurar automáticamente la ruta en la instancia de Citrix ADC asociada.

Defina el argumento feature-node-watch en true para habilitar la configuración automática de rutas.

Puede especificar este argumento en el archivo citrix-k8s-ingress-controller.yaml de la siguiente manera:

spec: serviceAccountName: cic-k8s-role containers: - name: cic-k8s-ingress-controller image: “quay.io/citrix/citrix-k8s-ingress-controller:1.26.7” # El argumento feature-node-watch configura rutas en Ingress Citrix ADC # para ofrecer conectividad a la red de pods. De forma predeterminada, esta función está inhabilitada. args: - –feature-node-watch true

De forma predeterminada, el argumento feature-node-watch se establece en false. Defina el argumento en true para habilitar la configuración automática de rutas. Para la configuración automática de rutas, debe proporcionar permisos para escuchar los eventos del tipo de recurso de nodos. Puede proporcionar los permisos necesarios en el archivo citrix-k8s-ingress-controller.yaml de la siguiente manera:

  kind: ClusterRole
  apiVersion: rbac.authorization.k8s.io/v1
  metadata:
    name: cic-k8s-role
  rules:
  - apiGroups: [""]
    resources: ["services", "endpoints", "ingresses", "pods", "secrets", "nodes"]
    verbs: ["*"]
  <!--NeedCopy-->
Configurar la ruta estática en Citrix ADC VPX o MPX de entrada