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

February’s Product Update: 1-Click Autofixes for GitHub, New People Experience and more 🚀

Welcome to our monthly product update! We’ve been working hard over the past month and have some exciting updates for you below. 🥳 We want...

Interview with Daniel Pfeiffer, CTO at Firstbird

We had a very nice talk with Daniel Pfeiffer, CTO at Firstbird; it was an informal conversation in which we looked to understand the reasons why...

Add a Custom Host to Kubernetes

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...

Deciphering Javascript Checkers: Know Why and When You Might Use Them

We’re all familiar with rules of grammar, which aid in communication by letting us know when to use a comma, how to spell a...

Interview with Felipe Adorno, CTO at Monkey Exchange

We have talked with Felipe Adorno, CTO at Monkey Exchange, to better understand what made the company opt for an automated code review tool...