Kubernetes/使用文档/Kubernetes内配置域名解析.md
offends 7a2f41e7d6
All checks were successful
continuous-integration/drone Build is passing
synchronization
2024-08-07 18:54:39 +08:00

1.5 KiB

本文作者:丁辉

Kubernetes内配置域名解析

更改 Coredns 配置

不同部署方式的集群可能 Coredns 配置文件的名称也不同, 需要按照自身集群情况修改

kubectl get cm -n kube-system | grep coredns
  1. 备份原配置

    kubectl get cm coredns -n kube-system -o yaml > /root/coredns.yaml
    
  2. 编辑 Yaml 文件

    kubectl edit cm -n kube-system coredns
    

    添加如下内容

    apiVersion: v1
    data:
      Corefile: |
        .:53 {
            errors
            health {
              lameduck 5s
            }
            ready
            kubernetes cluster.local in-addr.arpa ip6.arpa {
              pods insecure
              fallthrough in-addr.arpa ip6.arpa
            }
    
            #加这一段
            #---------------------------
            hosts {
              192.168.1.10 www.demo.com
              fallthrough
            }
            #---------------------------
    
            prometheus :9153
            #forward . 192.168.1.10 #或者在这里添加DNS
            forward . "/etc/resolv.conf"
            cache 30
            loop
            reload
            loadbalance
        } # STUBDOMAINS - Rancher specific change    
    kind: ConfigMap
    ···
    
  3. 重启集群内所有 Coredns 立即生效

    当然这在生产并不可取, 尽量让他自行生效, 但过程较慢

    • Rke集群

      kubectl delete pod -l k8s-app=kube-dns -n kube-system
      
    • 其他集群待写