yml - github dockersamples




Kubernetes: popolamento automatico dei record CloudDNS dagli endpoint del servizio (2)

Quando si esegue un cluster Kubernetes su Google Cloud Platform è possibile in qualche modo avere l'indirizzo IP dagli endpoint di servizio assegnati automaticamente a un record di Google CloudDNS? In tal caso, ciò può essere fatto in modo dichiarativo all'interno della definizione YAML del servizio?

In parole povere, non mi fido dell'indirizzo IP del mio type: LoadBalancer servizio type: LoadBalancer .


GKE utilizza il gestore distribuzione per generare nuovi cluster e altre risorse come Load Balancer. Al momento il gestore distribuzione non consente di integrare la funzionalità di Cloud DNS. Tuttavia c'è una richiesta di funzionalità per supportarlo . In futuro Se questa funzionalità è implementata, potrebbe consentire un'ulteriore integrazione tra Cloud DNS, Kubernetes e GKE.


Un'opzione consiste nel far fronte ai servizi con una risorsa di ingresso (bilanciamento del carico) e collegarla a un IP statico precedentemente prenotato.

Non sono riuscito a trovare questo documentato nella documentazione di Kubernetes o GKE, ma l'ho trovato qui:

https://github.com/kelseyhightower/ingress-with-static-ip

Tieni presente che il valore impostato per l'annotazione kubernetes.io/ingress.global-static-ip-name è il nome della risorsa IP riservata e non l'IP stesso.

Prima di essere disponibile, era necessario creare un IP globale, collegarlo a un sistema di bilanciamento del carico GCE che aveva una regola di inoltro globale indirizzata ai nodi del cluster stesso.

Non credo che ci sia un modo per far funzionare questo lavoro automaticamente, oggi, se non si desidera far fronte ai propri servizi con un sistema di bilanciamento del carico di Ingress o GCP di k8s. Detto questo, l'Ingress è piuttosto semplice, quindi ti consiglierei di seguire quella strada, se puoi.

C'è anche un progetto Kubernetes Incubator chiamato "external-dns" che sembra essere un componente aggiuntivo che supporta questo in modo più generale, e interamente all'interno del cluster stesso:

https://github.com/kubernetes-incubator/external-dns

Non ho ancora provato questo approccio, ma cito che senti come qualcosa che potresti voler seguire.