Procedimientos detallados para configurar topología de malla de servicio o de doble capa
Requisitos de software
Distribución de Kubernetes | Versión de Kubernetes | Interfaces de red de contenedores (CNI) | Versión CPX | Versión CIC | Versión de NetScaler ADM | Versión del agente NetScaler ADM |
---|---|---|---|---|---|---|
Código abierto | v1.16.3 | Franela | 13.0–41.28 | 1.5.25 | 13.0–47.22 | 13.0–47.22 |
Antes de comenzar
Puede ver el gráfico de servicios en los siguientes casos:
-
NetScaler ADM y clúster de Kubernetes en la misma red (por ejemplo, NetScaler ADM y clúster Kubernetes alojados en Citrix Hypervisor).
-
NetScaler ADM y Kubernetes se agrupan en una red diferente. En este caso, debe configurar un agente local y registrar el agente en la red, donde se aloja el clúster de Kubernetes.
Para utilizar el gráfico de servicio en NetScaler ADM, asegúrese de que dispone de:
-
Clúster de Kubernetes con NetScaler CPX como proxy. Para obtener más información, consulte NetScaler Ingress Controller.
-
Se configuraron rutas estáticas en NetScaler ADM para permitir la comunicación entre NetScaler ADM y NetScaler CPX
-
Descargué los archivos de implementación de muestra del repositorio de GitHub.
-
Se agregaron los parámetros necesarios en el archivo CPX YAML para garantizar el registro correcto de CPX en NetScaler ADM.
-
Se agregó un clúster de Kubernetes en NetScaler ADM.
-
Se implementó una aplicación de microservicios de muestra.
-
Se implementó NetScaler CPX y se registró CPX en ADM.
-
Se habilitó la selección automática de servidores virtuales para licenciar los servidores virtuales.
-
Cambió la configuración de transacciones web a Todo para que el agente NetScaler ADM obtenga transacciones HTTP.
-
Se actualizó el archivo IStream.conf y se cambió la configuración TCP a Todos para que el agente NetScaler ADM obtenga métricas TCP.
Requisitos de software
Distribución de Kubernetes | Versión de Kubernetes | Interfaces de red de contenedores (CNI) | Versión CPX | Versión CIC | Versión de NetScaler ADM | Versión del agente NetScaler ADM |
---|---|---|---|---|---|---|
Código abierto | v1.16.3 | Franela | 13.0–41.28 | 1.5.25 | 13.0–47.22 | 13.0–47.22 |
Antes de comenzar
Puede ver el gráfico de servicios en los siguientes casos:
-
NetScaler ADM y clúster de Kubernetes en la misma red (por ejemplo, NetScaler ADM y clúster Kubernetes alojados en Citrix Hypervisor).
-
NetScaler ADM y Kubernetes se agrupan en una red diferente. En este caso, debe configurar un agente local y registrar el agente en la red, donde se aloja el clúster de Kubernetes.
Para utilizar el gráfico de servicio en NetScaler ADM, asegúrese de que dispone de:
-
Clúster de Kubernetes con NetScaler CPX como proxy. Para obtener más información, consulte NetScaler Ingress Controller.
-
Se configuraron rutas estáticas en NetScaler ADM para permitir la comunicación entre NetScaler ADM y NetScaler CPX
-
Descargué los archivos de implementación de muestra del repositorio de GitHub.
-
Se agregaron los parámetros necesarios en el archivo CPX YAML para garantizar el registro correcto de CPX en NetScaler ADM.
-
Se agregó un clúster de Kubernetes en NetScaler ADM.
-
Se implementó una aplicación de microservicios de muestra.
-
Se implementó NetScaler CPX y se registró CPX en ADM.
-
Se habilitó la selección automática de servidores virtuales para licenciar los servidores virtuales.
-
Cambió la configuración de transacciones web a Todo para que el agente NetScaler ADM obtenga transacciones HTTP.
-
Se actualizó el archivo IStream.conf y se cambió la configuración TCP a Todos para que el agente NetScaler ADM obtenga métricas TCP.
Configurar rutas estáticas en NetScaler 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 desde NetScaler ADM al clúster de Kubernetes, debe configurar el enrutamiento estático en NetScaler 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 ADM de NetScaler 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:
-
Con un cliente SSH, inicie sesión en NetScaler ADM
-
Configure la redirección estática mediante el comando
route 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
-
Verifique la configuración mediante
netstat -rn
-
Agregue estos comandos de ruta en el
/mpsconfig/svm.conf
archivo.-
En NetScaler ADM, acceda al archivo svm.conf mediante el siguiente comando:
vim /mpsconfig/svm.conf
-
Agregue las rutas estáticas en el archivo svm.conf.
Por ejemplo:
route add -net 192.168.0.0/24 101.xx.xx.112
.
-
Descarga los archivos de implementación de ejemplo de GitHub
-
Usa el comando git clone
https://github.com/citrix/citrix-k8s-ingress-controller.git
para clonar el repositorio de git hub en el nodo maestro. -
Para acceder a los YAML:
cd citrix-k8s-ingress-controller/example/servicegraph-demo/
Agregar parámetros en el archivo CPX YAML
Nota
Si está utilizando CPX 58.x o posterior, debe usar la contraseña que no es nsroot mientras se registra en el agente ADM. Para garantizar la seguridad, NetScaler ADM agent 61.x o versiones posteriores necesitan un cambio de contraseña obligatorio. Si su agente de NetScaler ADM se actualiza a 61.x o a la versión más reciente, debe asegurarse de utilizar CPX 58.x o posterior compilación.
Debe incluir los siguientes parámetros en el archivo cpx.yaml
para garantizar el registro de CPX con NetScaler ADM:
- name: "NS_MGMT_SERVER"
value: "xx.xx.xx.xx"
- name: "NS_MGMT_FINGER_PRINT"
value: "xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
- name: "NS_HTTP_PORT"
value: "9080"
- name: "NS_HTTPS_PORT"
value: 9443"
- name: "NS_MGMT_USER"
value: "nsroot"
- name: "NS_MGMT_PASS"
value: <your password>
- name: "LOGSTREAM_COLLECTOR_IP"
value: "xx.xx.xx.xx"
<!--NeedCopy-->
-
NS_MGMT_SERVER — Indica la dirección IP ADM de NetScaler
Nota
Si se utiliza el agente ADM, esto indica la dirección IP del agente local.
-
NS_MGMT_FINGER_PRINT: Indica la autenticación de CPX en NetScaler ADM. Para obtener la huella digital:
-
En NetScaler ADM, vaya a Configuración > Administración
-
En Configuraciones del sistema, haga clic en Ver huella digital ADM
Nota:
Si ha configurado un agente local, vaya a Infraestructura > Instancias > Agentes, seleccione el agente y, a continuación, haga clic en Ver huella digital.
-
-
NS_HTTP_PORT — Indica el puerto HTTP para la comunicación
-
NS_HTTPS_PORT — Indica el puerto HTTPS para la comunicación
-
NS_MGMT_USER: indica el nombre de usuario
-
NS_MGMT_PASS: indica la contraseña. Especifique una contraseña de su elección
-
LOGSTREAM_COLLECTOR_IP — Indica la dirección IP del agente de NetScaler ADM, donde el protocolo Logstream debe estar habilitado para transferir datos de registro de CPX a ADM
Agregar una instancia VPX o SDX o MPX o BLX en NetScaler ADM
Para obtener el análisis de instancias ADC de nivel 1 en el gráfico de servicio, debe agregar la instancia VPX/SDX/MPX/BLX en NetScaler ADM y habilitar Web Insight.
-
Vaya a Infraestructura > Instancias > NetScaler
-
Haga clic en la opción Agregar para agregar la instancia. Para obtener más información, consulte Agregar instancias en NetScaler ADM
-
Después de agregar la instancia, seleccione el servidor virtual y habilite Web Insight. Para obtener más información, consulte Administrar licencias y habilitar el análisis en servidores virtuales
Agregar clúster de Kubernetes en NetScaler ADM
Para agregar el clúster de Kubernetes:
-
Inicie sesión en NetScaler ADM con credenciales de administrador.
-
Vaya a Orchestration > Kubernetes > Clúster. Se muestra la página Clústeres.
-
Haga clic en Agregar.
-
En la página Agregar clúster, especifique los siguientes parámetros:
-
Nombre: especifique un nombre de su elección.
-
URL del servidor de API: puede obtener los detalles de la URL del servidor de API en el nodo maestro de Kubernetes.
-
En el nodo principal de Kubernetes, ejecuta el comando
kubectl cluster-info
. -
Introduce la URL que aparece para “Se está ejecutando el archivo maestro de Kubernetes”.
-
-
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 NetScaler ADM. Para generar un token de autenticación:
En el nodo maestro de Kubernetes:
-
Utilice el siguiente YAML para crear una cuenta de servicio:
apiVersion: v1 kind: ServiceAccount metadata: name: <name> namespace: <namespace> <!--NeedCopy-->
-
Ejecute
kubectl create -f <yaml file>
.Se crea la cuenta de servicio.
-
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.
-
Ejecute
kubectl describe sa <name>
para ver el token. -
Para obtener la cadena secreta, ejecute
kubectl describe secret <token-name>
.
-
-
Seleccione el agente de la lista.
Nota
Si está utilizando un agente local, asegúrese de seleccionar el mismo agente que ha agregado en CPX YAML.
-
Haga clic en Crear.
-
Implementar una aplicación de microservicio de ejemplo
En el nodo maestro:
-
Ejecute
kubectl create -f namespace.yaml
para crear un espacio de nombres. -
Implemente microservicios, entrada y secretos de
hotdrink
mediante los siguientes comandos:kubectl create -f team_hotdrink.yaml -n sg-demo
kubectl create -f hotdrink-secret.yaml -n sg-demo
Implementar CPX y registrar CPX en ADM
-
Ejecute
kubectl create -f rbac.yaml
para implementar el rol del clúster y el enlace del clúster. -
Ejecute
kubectl create -f cpx.yaml -n sg-demo
para implementar CPX.
Después de la implementación, el registro CPX se realiza automáticamente.
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 NetScaler 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:
-
Vaya a Configuración > Configuración de licencias y análisis.
-
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.
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.
-
Vaya a Configuración > Configuración de análisis .
Se muestra la página Configuración de análisis.
-
Haga clic en Habilitar funciones para Analytics.
-
En Configuración de transacciones web, selecciona Todo.
-
En Configuración de transacciones TCP, seleccione Todo.
-
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 NetScaler ADM.
-
Ejecute
kubectl get svc -n sg-demo
para exponer CPX a través de NodePort. -
Modifique el archivo etc/host y cree una entrada IP de dominio para
hotdrink.beverages.com
Ahora puede acceder al microservicio utilizando
https://hotdrink.beverages.com
En este artículo
- Requisitos de software
- Antes de comenzar
- Requisitos de software
- Antes de comenzar
- Configurar rutas estáticas en NetScaler ADM
- Descarga los archivos de implementación de ejemplo de GitHub
- Agregar parámetros en el archivo CPX YAML
- Agregar una instancia VPX o SDX o MPX o BLX en NetScaler ADM
- Agregar clúster de Kubernetes en NetScaler ADM
- Implementar una aplicación de microservicio de ejemplo
- Implementar CPX y registrar CPX en ADM
- Habilitar la selección automática de servidores virtuales para licencias
- Habilitar la configuración de transacciones web y transacciones TCP
- Enviar tráfico a microservicios