docker - when - Kubernetes: rellenando automáticamente los registros de CloudDNS desde los puntos finales del servicio
kubernetes google cloud tutorial (2)
Cuando se ejecuta un clúster de Kubernetes en Google Cloud Platform, ¿es posible que de alguna manera la dirección IP de los puntos finales del servicio se asigne automáticamente a un registro de Google CloudDNS? Si es así, ¿puede hacerse esto de manera declarativa dentro de la definición de YAML del servicio?
En pocas palabras, no confío en la dirección IP de mi type: LoadBalancer
servicio type: LoadBalancer
.
GKE usa el gestor de despliegue para crear nuevos clústeres, así como otros recursos como Load Balancers. Por el momento, el administrador de despliegue no permite la integración de la funcionalidad Cloud DNS. Sin embargo, hay una solicitud de función para respaldar eso . En el futuro Si se implementa esta característica, podría permitir una mayor integración entre Cloud DNS, Kubernetes y GKE.
Una opción es hacer frente a sus servicios con un recurso de entrada (equilibrador de carga) y adjuntarlo a una dirección IP estática que haya reservado previamente.
No pude encontrar esto documentado en la documentación de Kubernetes o GKE, pero lo encontré aquí:
https://github.com/kelseyhightower/ingress-with-static-ip
Tenga en cuenta que el valor que establece para la anotación kubernetes.io/ingress.global-static-ip-name
es el nombre del recurso de IP reservado, y no la IP en sí.
Antes de que estuviera disponible, tenía que crear una IP global, adjuntarla a un equilibrador de carga GCE que tenía una regla de reenvío global dirigida a los nodos de su clúster.
No creo que haya una manera de hacer que esto funcione automáticamente, hoy, si no desea anticipar sus servicios con un equilibrador de carga K8s Ingress o GCP. Dicho esto, el Ingress es bastante sencillo, por lo que te recomendaría ir por esa ruta, si puedes.
También hay un proyecto de Incubadora de Kubernetes llamado "dns externos" que parece ser un complemento que admite esto de manera más general, y totalmente desde el propio clúster:
https://github.com/kubernetes-incubator/external-dns
Todavía no he intentado ese enfoque, pero menciono que es algo que quizás quiera seguir.