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

How does code quality fit into your CI/CD pipeline?

Continuous Integration and Continuous Deployment (CI/CD) are key for organizations wanting to deliver software at scale. CI/CD allows developers to automate...

How Stim uses Codacy to achieve high-quality code

We spoke with Tobias Sjösten, Head of Software Engineering at Stim, about how Codacy helps them guarantee code quality and standardization...

6 things developers should do to ship more secure code

Writing better, more secure source code is fundamental to prevent potential exploits and attacks that could undermine your software applications. However,...

Best practices for security code reviews

In today's interconnected world, where data breaches and cyber threats are increasingly common, one of your top priorities should be to...

April Product Update 🚀

Hi there 👋 It's been a whirlwind month, and we have big news to share: