K3s - Pridanie vlastných DNS záznamov do CoreDNS

Vytvorené: 27. 8. 2025 12:27 Aktualizované: 27. 8. 2025 13:14
Vyriešené
Obsah článku

title: "K3s - Pridanie vlastných DNS záznamov do CoreDNS"
slug: "k3s-coredns-custom-dns-records"
technologies: ["Kubernetes", "K3s", "CoreDNS", "YAML"]
tags: ["k3s", "coredns", "dns", "networking", "konfiguracia"]
date_solved: "2025-08-25"

Projekt/Téma: K3s - Pridanie vlastných DNS záznamov do CoreDNS

  1. Cieľ / Problém na vyriešenie: Cieľom bolo pridať vlastné DNS záznamy pre interné adresy (napr. pre názvy uzlov v sieti) do konfigurácie CoreDNS, aby sa zabezpečilo správne rozlíšenie domén v rámci celého K3s klastra.
  2. Použité technológie a nástroje:
  • Kubernetes (K3s)
  • CoreDNS
  • kubectl
  • YAML
  1. Kľúčové postupy a konfiguračné kroky:
  • Vytvorenie a uloženie konfiguračného súboru pre CoreDNS do správneho adresára na K3s master uzle. Tento súbor bude automaticky načítaný k3s-serverom.
  • Aplikovanie zmien pomocou kubectl apply.
  • Reštartovanie nasadenia (deployment) CoreDNS, aby sa nová konfigurácia prejavila v bežiacich podoch.
  1. Výsledné kódy a skripty:
# /var/lib/rancher/k3s/server/manifests/coredns-config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: coredns
  namespace: kube-system
data:
  Corefile: |
    .:53 {
        errors
        health
        ready
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          fallthrough in-addr.arpa ip6.arpa
        }
        hosts /etc/coredns/NodeHosts {
          ttl 60
          reload 15s
          fallthrough
        }
        prometheus :9153
        forward . 192.168.22.17 192.168.22.19
        cache 30
        loop
        reload
        loadbalance
    }
  NodeHosts: |
    192.168.22.4 golem
    192.168.22.5 rpi5
    192.168.22.6 phoenix
    192.168.22.7 vivo
    192.168.22.12 water
sudo mkdir -p /var/lib/rancher/k3s/server/manifests
sudo cp coredns-config.yaml /var/lib/rancher/k3s/server/manifests/
kubectl apply -f /var/lib/rancher/k3s/server/manifests/coredns-config.yaml
kubectl rollout restart deployment/coredns -n kube-system
  1. Zistené problémy a riešenia (Gotchas): Problém: Po úprave konfigurácie sa zmeny neprejavili v bežiacich podoch. Riešenie: Je potrebné reštartovať nasadenie CoreDNS pomocou kubectl rollout restart deployment/coredns -n kube-system, aby sa podmi s novou konfiguráciou znovu vytvorili.
  2. Finálny výsledok / Záver: CoreDNS v klastri teraz správne rozlišuje interné hosty ako golem alebo rpi5 na základe staticky definovaných záznamov v konfiguračnom súbore, čo rieši problémy s komunikáciou a správou uzlov.
Vyriešené: 25. 8. 2025