ACK Edge叢集預設採用CoreDNS作為DNS伺服器,並且採用DaemonSet方式將CoreDNS部署在每個邊緣節點上。本文主要介紹ACK Edge叢集中CoreDNS的預設配置以及CoreDNS擴充配置中如何自訂配置Hosts。
CoreDNS配置入口
在kube-system命名空間下的coredns配置項主要用於管理和配置CoreDNS服務,配置項操作入口如下:
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
在配置項頁面頂部設定命名空間為kube-system,搜尋coredns配置項,單擊coredns右側操作列下的YAML 編輯,查看或自訂CoreDNS配置資訊。
CoreDNS預設配置
不同CoreDNS版本的配置項略有差異,以下是ACK Edge叢集中,1.11版本CoreDNS的預設配置。
.:53 {
errors
health {
lameduck 15s
}
hosts /etc/edge/tunnel-nodes {
reload 300ms
fallthrough
}
ready
kubeapi
k8s_event {
level info error warning
}
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods disabled
ttl 30
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
forward . /etc/resolv.conf {
prefer_udp
}
cache 30
log
loop
reload
loadbalance
}關鍵參數說明如下:
參數 | 描述 |
| 錯誤資訊到標準輸出。 |
| CoreDNS自身健康狀態報表,預設監聽連接埠8080,一般用來做健全狀態檢查。您可以通過 |
| CoreDNS Hosts外掛程式,指定網域名稱與地址的映射關係。 重要 ACK Edge叢集佔用了此處預設域的Hosts配置,請勿在此處添加額外配置。如有Hosts配置需求,請參見下文Hosts自訂配置。 |
| CoreDNS外掛程式狀態報表,預設監聽連接埠8181,一般用於可讀性檢查。可以通過 |
| CoreDNS Kubernetes外掛程式,提供叢集內服務解析能力。 |
| CoreDNS自身metrics資料介面可以通過 |
| 將網域名稱查詢請求轉寄到預定義的DNS伺服器。預設配置中,當網域名稱不在Kubernetes域時,將請求轉寄到預定義的解析器(/etc/resolv.conf)中。預設使用宿主機的/etc/resolv.conf配置。 |
| DNS緩衝。當從後端(上遊、資料庫等)擷取資料的成本較高時,緩衝可以有效提高效能。 |
| 環路檢測,如果檢測到環路,則停止CoreDNS。 |
| 允許自動重新載入已更改的Corefile。編輯ConfigMap配置後,請等待兩分鐘以使更改生效。 |
| 迴圈DNS負載平衡器,可以在答案中隨機A、AAAA、MX記錄的順序。 |
Hosts自訂配置
如果您需要為特定網域名稱指定Hosts,例如為www.hello.example.com指定IP為127.0.0.1,您可以使用Hosts外掛程式進行配置,修改配置前請仔細閱讀CoreDNS官方文檔。
由於ACK Edge叢集佔用了預設域的Hosts配置,您需要建立一個域,例如 example.com:53表示匹配尾碼為example.com的網域名稱,然後在建立的網域名稱中配置Hosts www.hello.example.com和地址127.0.0.1。
配置樣本
.:53 {
errors
health {
lameduck 15s
}
hosts /etc/edge/tunnel-nodes {
reload 300ms
fallthrough
}
ready
kubeapi
k8s_event {
level info error warning
}
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods disabled
ttl 30
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
forward . /etc/resolv.conf {
prefer_udp
}
cache 30
log
loop
reload
loadbalance
}
example.com:53 { # 新增網域名稱。
errors
hosts {
127.0.0.1 www.hello.example.com # 網域名稱解析。
fallthrough
}
cache 30
forward . /etc/resolv.conf {
prefer_udp
}
}更多CoreDNS配置,請參見CoreDNS配置說明。
相關文檔
關於CoreDNS升級,請參見CoreDNS自動升級、CoreDNS手動升級。
如需分析和監控CoreDNS日誌,請參見分析和監控CoreDNS日誌。