When it comes to GitOps efforts, amongst the many caveats and the varied snags to watch out for when configuring these, — is the DNS toil. I have been long procrastinating to get a running demo of this External-DNS https://github.com/kubernetes-incubator/external-dns for a little while, alas it is here now. And it’s so dang straight forward.

External-DNS undertakes all that management, — mapping FQDN to a service and an ingress. Albeit the Kubernetes Service DNS management will require a public IP address, provisioned with a loadBalancer type. This simplifies the DNS management — A records added and removed automatically, as your K8 services are deployed and removed. You will probably not want to use the K8 Service with ExternalIP DNS mapping as it is to incur IP provisioning costs PER such service. So I would advise reusing the ingress, host path routing as you find to be more appropriate.

For most of the infra Environment designs, this would largely be the development and perhaps Staging environments could benefit from a version-controlled, and automated infrastructure-as-code provisioning process.

Image for post

#dns #kubernetes #google-cloud #continuous-delivery #gitops

How-to setup external DNS manager in Kubernetes, — to use with FluxCD for #GitOps
1.40 GEEK