Application Delivery Management

Procedimientos detallados para configurar la topología de malla de servicio

Los requisitos previos para implementar la topología de malla de servicio están disponibles en Configuración del gráfico de servicios.

Configurar rutas estáticas en Citrix ADM

Dentro del clúster de Kubernetes, todos los pods en contenedores utilizan una red de superposición. No es posible establecer la comunicación mediante directamente esas direcciones IP privadas. Para habilitar la comunicación entre Citrix ADM y el clúster de Kubernetes, debe configurar el enrutamiento estático en Citrix ADM.

Nota

Si utiliza un agente local, asegúrese de configurar rutas estáticas en el agente. Con un cliente SSH, inicie sesión en el agente Citrix ADM y configure las rutas estáticas.

Tenga en cuenta que tiene las siguientes direcciones IP para su clúster de Kubernetes:

  • Kubernetes maestro — 101.xx.xx.112

  • Kubernetes trabajador 1 — 101.xx.xx.111

  • Kubernetes trabajador 2 — 101.xx.xx.110

En el maestro de Kubernetes, ejecute el siguiente comando para identificar la red de pod para realizar el enrutamiento estático:

kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.spec.podCIDR}{'\t'}{'gateway: '}{.status.addresses[0].address}{'\n'}{end}"

A continuación se muestra un ejemplo de salida después de ejecutar el comando:

Ejemplo de comando

  1. Con un cliente SSH, inicie sesión en Citrix ADM

  2. Configure la redirección estática mediante el comandoroute add -net <public IP address range> <Kubernetes IP address>

    Por ejemplo:

    route add -net 192.168.0.0/24 101.xx.xx.112

    route add -net 192.168.1.0/24 101.xx.xx.111

    route add -net 192.168.2.0/24 101.xx.xx.110

  3. Verifique la configuración mediante netstat -rn

    enrutamiento estático

  4. Agregue estos comandos de ruta en el/mpsconfig/svm.conf archivo.

    1. En Citrix ADM, acceda al archivo svm.conf mediante el siguiente comando:

      vim /mpsconfig/svm.conf

    2. Agregue las rutas estáticas en el archivo svm.conf.

      Por ejemplo: route add -net 192.168.0.0/24 101.xx.xx.112.

Configurar los parámetros requeridos

En el maestro Kubernetes:

  1. Cree un secreto con las credenciales del agente ADM en cada espacio de nombres donde se implementa CPX como puerta de enlace de entrada/sidecar.

    kubectl create secret generic admlogin --from-literal=username=<username> --from-literal=password=<password> -n <namespace>

  2. helm repo add citrix https://citrix.github.io/citrix-helm-charts/

  3. Implementar Citrix ADC CPX como una puerta de enlace de entrada

    helm install citrix-adc-istio-ingress-gateway citrix/citrix-adc-istio-ingress-gateway --version 1.2.1 --namespace <namespace> --set ingressGateway.EULA=YES,citrixCPX=true,ADMSettings.ADMFingerPrint=XX:00:X1:00:XX:0X:X0,ADMSettings.ADMIP=<xx.xx.xx.xx>, ingressGateway.image=quay.io/citrix/citrix-k8s-cpx-ingress,ingressGateway.tag=13.0-58.30

    En la siguiente tabla se enumeran los parámetros configurables en el gráfico de Helm y sus valores predeterminados:

    Parámetro Descripción Valor predeterminado Opcional/Obligatorio (Helm)
    citrixCPX Citrix ADC CPX FALSE Obligatorio para Citrix ADC CPX
    xDSAdaptor.image Imagen del contenedor del adaptador Citrix xDs quay.io/citrix/citrix-istio-adaptor:1.2.1 Obligatorio
    ADMSettings.ADMIP Dirección IP de Citrix ADM nulo Obligatorio para Citrix ADC CPX
    ADMSettings.ADMFingerPrint La huella digital de Citrix ADM. Vaya a Sistema > Administración y hagaclic en Ver huella digital en Configuraciones del sistema nulo Opcional
    ingressGateway.EULA Términos y condiciones del Acuerdo de licencia de usuario final (CLUF). En caso afirmativo, el usuario acepta los términos y condiciones del CLUF. NO Obligatorio para Citrix ADC CPX
    ingressGateway.image Imagen de Citrix ADC CPX designado para ejecutarse como Ingress Gateway quay.io/citrix/citrix-k8s-cpx-ingreso: 13.0—58.30 Obligatorio para Citrix ADC CPX
  4. Implementación el inyector Citrix SideCar.

    helm install cpx-sidecar-injector citrix/citrix-cpx-istio-sidecar-injector --version 1.2.1 --namespace <namespace> set cpxProxy.EULA=YES,ADMSettings.ADMFingerPrint=xx:xx:xx:xx,ADMSettings.ADMIP=<xx.xx.xx.xx>,cpxProxy.image=quay.io/citrix/citrix-k8s-cpx-ingress,cpxProxy.tag=13.0-58.30

    En la siguiente tabla se enumeran los parámetros configurables en el gráfico de Helm y sus valores predeterminados:

    Parámetro Descripción Valor predeterminado
    ADMSettings.ADMIP La dirección IP de Citrix ADM NIL
    cpxProxy.image Imagen de Citrix ADC CPX utilizada como proxy sidecar quay.io/citrix/citrix-k8s-cpx-ingreso: 13.0—58.30
    cpxProxy.imagePullPolicy Directiva de extracción de imágenes para Citrix ADC IfNotPresent
    cpxProxy.EULA Términos y condiciones del Acuerdo de licencia de usuario final (CLUF). En caso afirmativo, el usuario acepta los términos y condiciones del CLUF. NO
    cpxProxy.cpxSidecarMode Variable de entorno para Citrix ADC CPX. Indica que Citrix ADC CPX se ejecuta como modo sidecar o no.
  5. Establezca la etiqueta en cualquier espacio de nombres que necesite CPX Sidecar Injection.

    kubectl label namespace <app-namespace> cpx-injection=enabled

    Después de realizar los pasos 3 y 5, puede ver que Citrix ADC CPX está registrado en Citrix ADM.

Implementar una aplicación de ejemplo

Tenga en cuenta que quiere implementar las siguientes aplicaciones:

Implementar aplicaciones de ejemplo

Realice el procedimiento siguiente para implementar una aplicación de ejemplo:

  1. kubectl create namespace citrix-system

  2. kubectl create namespace bookinfo

  3. kubectl label namespace bookinfo cpx-injection=enabled

  4. kubectl create secret generic admlogin --from-literal=username=<uername> --from-literal=password=<password> -n citrix-system

    Nota

    Puede proporcionar un nombre de usuario y una contraseña de su elección.

  5. kubectl create secret generic admlogin --from-literal=username=<username> --from-literal=password=<password> -n bookinfo

    Nota

    Puede proporcionar un nombre de usuario y una contraseña de su elección.

  6. helm install citrix-adc-istio-ingress-gateway citrix/citrix-adc-istio-ingress-gateway --version 1.2.1 --namespace citrix-system --set ingressGateway.EULA=YES,citrixCPX=true,ADMSettings.ADMFingerPrint=xx:xx:xx:xx,ADMSettings.ADMIP=<ADM agent IP address>,ingressGateway.image=quay.io/citrix/citrix-k8s-cpx-ingress,ingressGateway.tag=13.0-58.30

    Nota

    Debe proporcionar su huella digital ADM y agente ADM o dirección IP ADM

  7. helm install cpx-sidecar-injector citrix/citrix-cpx-istio-sidecar-injector --namespace citrix-system --set cpxProxy.EULA=YES,ADMSettings.ADMFingerPrint=xx:xx:xx:xx,ADMSettings.ADMIP=<ADM agent IP address>,cpxProxy.image=quay.io/citrix/citrix-k8s-cpx-ingress,cpxProxy.tag=13.0-58.30

    Nota

    Debe proporcionar su huella digital ADM y agente ADM o dirección IP ADM

  8. helm install bookinfo bookinfo/ --namespace bookinfo --set citrixIngressGateway.namespace=citrix-system

Agregar clúster de Kubernetes en Citrix ADM

Para agregar el clúster de Kubernetes:

  1. Inicie sesión en Citrix ADM con credenciales de administrador.

  2. Vaya a Orchestration > Kubernetes > Clúster. Se muestra la página Clústeres.

  3. Haga clic en Agregar.

  4. En la página Agregar clúster, especifique los siguientes parámetros:

    1. Nombre: especifique un nombre de su elección.

    2. URL del servidor de API: puede obtener los detalles de la URL del servidor de API en el nodo maestro de Kubernetes.

      1. En el nodo principal de Kubernetes, ejecuta el comando kubectl cluster-info.

        URL del servidor API

      2. Introduce la URL que aparece para “Se está ejecutando el archivo maestro de Kubernetes”.

    3. Token de autenticación: especifique el token de autenticación. El token de autenticación es necesario para validar el acceso a la comunicación entre el clúster de Kubernetes y Citrix ADM. Para generar un token de autenticación:

      En el nodo maestro de Kubernetes:

      1. Utilice el siguiente YAML para crear una cuenta de servicio:

        apiVersion: v1
        kind: ServiceAccount
        metadata:
          name: <name>
          namespace: <namespace>
        <!--NeedCopy-->
        
      2. Ejecute kubectl create -f <yaml file>.

        Se crea la cuenta de servicio.

      3. Ejecute kubectl create clusterrolebinding <name> --clusterrole=cluster-admin --serviceaccount=<namespace>:<name> para vincular el rol de clúster a la cuenta de servicio.

        La cuenta de servicio ahora tiene acceso a todo el clúster.

        Se genera automáticamente un token al crear la cuenta de servicio.

      4. Ejecute kubectl describe sa <name> para ver el token.

      5. Para obtener la cadena secreta, ejecute kubectl describe secret <token-name>.

        Generar token

    4. Seleccione el agente de la lista.

      Nota

      Si utiliza un agente ADM, asegúrese de seleccionar el mismo agente que ha agregado en CPX YAML.

    5. Haga clic en Crear.

      agregar clúster

Habilitar la selección automática de servidores virtuales para licencias

Nota

Asegúrese de tener suficientes licencias de servidor virtual. Para obtener más información, consulte Licencias

Después de agregar el clúster de Kubernetes en Citrix ADM, debe asegurarse de seleccionar automáticamente servidores virtuales para la concesión de licencias. Los servidores virtuales deben tener licencia para mostrar datos en Service Graph. Para seleccionar automáticamente servidores virtuales:

  1. Vaya a Sistema > Licencias y análisis.

  2. En Resumen de licencia de servidor virtual, habilite la selección automática de servidores virtuales y la selección automática de servidores virtuales no direccionables.

    Seleccionar automáticamente el servidor virtual

Habilitar la configuración de transacciones web y transacciones TCP

Después de agregar el clúster de Kubernetes y habilitar los servidores virtuales de selección automática, cambie la configuración de transacciones web y la configuración de transacciones TCP a Todos.

  1. Vaya a Analytics > Configuración.

    Aparece la página de configuración.

  2. Haga clic en Habilitar funciones para Analytics.

  3. En Configuración de transacciones web, selecciona Todo.

    web-transaction-settings

  4. En Configuración de transacciones TCP, seleccione Todo.

    TCP

  5. Haga clic en Aceptar.

Enviar tráfico a microservicios

A continuación, debe enviar tráfico a microservicios para que el gráfico de servicio se complete en Citrix ADM.

  1. Determine la IP de entrada y el puerto

    export INGRESS_HOST=$(kubectl get pods -l app=citrix-ingressgateway -n citrix-system -o 'jsonpath={.items[0].status.hostIP}')

    export INGRESS_PORT=$(kubectl -n citrix-system get service citrix-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')

    export SECURE_INGRESS_PORT=$(kubectl -n citrix-system get service citrix-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].nodePort}')

  2. Acceda a la aplicación front-end Bookinfo mediante cURL. El servicio productpage debe devolver 200 respuestas OK.

    curl -kv https://$INGRESS_HOST:$SECURE_INGRESS_PORT/productpage

    curl -v http://$INGRESS_HOST:$INGRESS_PORT/productpage

  3. Visite https://$INGRESS_HOST:$SECURE_INGRESS_PORT/productpage desde un explorador.

    Aparecerá la página Bookinfo.

  4. Asegúrese de que $INGRESS_HOST y $SECURE_INGRESS_PORT se reemplaza por una dirección IP y un valor de puerto.

Después de enviar tráfico a microservicios, el gráfico de servicio se rellena aproximadamente en 10 minutos de duración.

Sample

Mediante el gráfico de servicio, puede analizar varios detalles del servicio, como métricas, errores, etc. Para obtener más información, consulte Gráfico de servicios.

Procedimientos detallados para configurar la topología de malla de servicio