Home Best Practices Add a Custom Host to Kubernetes

Add a Custom Host to Kubernetes

Author

Date

Category

it's dns it can't be dns

I’ve been working with different MicroK8s instances a lot in the last months. Microk8s, from my point of view, it’s the absolutely perfect abstraction for deploying Kubernetes applications on a “non-cluster” environment.

Although I’m a happy user, there’s a constant pain point that I keep hitting: custom hosts. MicroK8s resolves the domains using the Google DNS (8.8.8.8, 8.8.4.4) and this means that if you need to reach some custom host from inside a pod, you can’t! Well, actually you can! How? Let’s do it!

First, edit the ConfigMap of the coredns using the following command:

kubectl -n kube-system edit configmap/coredns

Add a section called “hosts custom.hosts” where you define the address you want to use (mycustom.host in the example) and point it to the IP address you need (1.2.3.4 in the example). Your ConfigMap should look like this:

data: 
  Corefile: |
      .:53 {
          errors
          health
          ready
          kubernetes cluster.local in-addr.arpa ip6.arpa {
            pods insecure
            fallthrough in-addr.arpa ip6.arpa
          }
          prometheus :9153
          forward . 8.8.8.8 8.8.4.4
          cache 30
          loop
          reload
          loadbalance
          hosts custom.hosts mycustom.host {
            1.2.3.4 mycustom.host
            fallthrough
          }
       }

At this moment, you’ll just need to delete the current core-dns pod and wait for the new one to spawn:

kubectl get pod -A

It’s done! You can now reach that custom host from inside any pod on the cluster and stop googling weird ways of injecting lines in each pod hosts file.

Image for post

Over two years ago, the Codacy team decided to switch their cloud infrastructure to Kubernetes.
If you’d like to learn more about our experience switching to k8s check out blog posts such as DNS Problems Scaling To Kubernetes by our DevOps team. 

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Subscribe to our newsletter

To be updated with all the latest news, offers and special announcements.

Recent posts

Static Code Analysis: client-side tools integration with Codacy

Testing and analyzing your code is one of the most important parts of your software development process. With Codacy, you can...

Open salary calculator: our commitment to transparency and fairness

Here at Codacy, we are committed to being a fully transparent company. So back in 2019, we launched our open salary...

How Vevo uses Codacy to replace legacy systems while guaranteeing code coverage

As the tech world keeps evolving, having legacy systems is a certainty, especially for organizations that have been around for decades....

December Product Update 🚀

Hi there 👋, With 2021 in the rearview mirror, we can now focus on making 2022 an incredible...

How Loft uses Pulse to measure Engineering health

Customer story about how Loft uses Pulse to measure Engineering health. Estimated reading time: 5 minutes. About Loft