es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Aplicación Gateway recoge nueva IP del POD de AKS

Tengo un sitio simple en ejecución en AKS que está balanceado de carga con una puerta de aplicaciones. La dirección IP del pod para el sitio está configurada como un conjunto de respaldo en el AGW, pero si reinicio el pod, la dirección IP cambia y, por lo tanto, el conjunto de respaldo se romperá.

¿Existe alguna manera de que AGW pueda reconocer el nombre del POD en lugar de utilizar su dirección IP, para que si reiniciamos un pod, siga estando disponible en el conjunto de respaldo?

Gracias

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una solución para este problema. En lugar de usar la dirección IP del pod como un conjunto de backends en la puerta de enlace de la aplicación, puedes utilizar el servicio de Kubernetes para crear un punto final para el pod. El servicio tendrá una dirección IP estable y un nombre DNS que no cambiará incluso si se reinicia el pod.

    Para lograr esto, necesitas crear un servicio de Kubernetes con un selector que coincida con la etiqueta de tu pod. Luego, utiliza la dirección IP del servicio como un conjunto de backends en la puerta de enlace de la aplicación. Esto asegurará que el conjunto de backends siempre esté disponible incluso si se reinicia el pod.

    Aquí están los pasos para crear un servicio de Kubernetes y usarlo como un conjunto de backends en la puerta de enlace de la aplicación:

    1. Crea un servicio de Kubernetes:
    apiVersion: v1
    kind: Service
    metadata:
      name: mi-servicio
    spec:
      selector:
        app: mi-aplicacion
      ports:
      - port: 80
        targetPort: 8080
    

    Este servicio coincidirá con los pods que tengan la etiqueta app: mi-aplicacion y los expondrá en el puerto 80.

    1. Utiliza la dirección IP del servicio en el conjunto de backends de la puerta de enlace de la aplicación:

    En la configuración de la puerta de enlace de la aplicación, reemplaza la dirección IP del pod con la dirección IP del servicio.

    "backendAddressPools": [
      {
        "name": "mi-conjunto-de-backends",
        "backendAddresses": [
          {
            "fqdn": "mi-servicio.default.svc.cluster.local",
            "ipAddress": "10.0.0.1"
          }
        ]
      }
    ]
    

    En este ejemplo, 10.0.0.1 es la dirección IP del servicio. También puedes utilizar el nombre de dominio completamente calificado (FQDN) del servicio.

    Con esta configuración, incluso si se reinicia el pod y su dirección IP cambia, la dirección IP y el nombre DNS del servicio se mantienen iguales, asegurando que el conjunto de backends siempre esté disponible en la puerta de enlace de la aplicación.

Comments are closed.