I'm currently using k3s in my Lab to host different services. The situation is that I want to expose my services via LB. I've replaced the included LB with metallb. Being able to share my services via L2 is great but what's even better is that I can utilize the k8s_external extension in CoreDNS. This allows me to create a dedicated subdomain that hosts all of my Kubernetes services. All services automatically get resolved to the subdomain (service name = "A" record) via CoreDNS. With an externally accessible CoreDNS and LAN DHCP setting search domains, it's now easier than ever to interact with my services. All it requires is some DNS config on my non-K3s DNS servers and to add a single line to the CoreDNS config map... long and short resolvable names for all the services!
The problem is that whenever I restart my system or the k3s services, the configmap gets reverted back to its original state. I imagine that I could "--disable coredns" and install it myself, but staying as close to the k3s distribution is a much better long term plan.
@VictorRobellini did you make any progress on this?
For personal use I do just copy the coredns manifest to another file with a unique name, and start k3s with --disable coredns. We don't currently have a good way to customize configuration of resources other than the Traefik helm chart.
I used --disable coredns and just installed it manually.
Most helpful comment
For personal use I do just copy the coredns manifest to another file with a unique name, and start k3s with
--disable coredns. We don't currently have a good way to customize configuration of resources other than the Traefik helm chart.