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.
#dns #kubernetes #google-cloud #continuous-delivery #gitops