開源社區地址:
說明:
- 若需要升級CoreDNS插件,請確保集群中的節點數大于等于CoreDNS的實例數,且CoreDNS的所有實例都處于運行狀態,否則將導致升級失敗。
- DNS詳細使用方法請參見Kubernetes集群內置DNS配置說明。
。這些策略在pod-specific的dnsPolicy字段中指定。
- “Default”:如果dnsPolicy被設置為“Default”,則名稱解析配置將從pod運行的節點繼承。 自定義上游域名服務器和存根域不能夠與這個策略一起使用。
- “ClusterFirst”:如果dnsPolicy被設置為“ClusterFirst”,任何與配置的集群域后綴不匹配的DNS查詢(例如,www.kubernetes.io)將轉發到從該節點繼承的上游名稱服務器。集群管理員可能配置了額外的存根域和上游DNS服務器。
- “ClusterFirstWithHostNet”:對于使用hostNetwork運行的Pod,您應該明確設置其DNS策略“ClusterFirstWithHostNet”。
- “None”:它允許Pod忽略Kubernetes環境中的DNS設置。應使用dnsConfigPod規范中的字段提供所有DNS設置 。
- 說明:
- Kubernetes 1.10及以上版本,支持Default、ClusterFirst、ClusterFirstWithHostNet和None四種策略;低于Kubernetes 1.10版本,僅支持default、ClusterFirst和ClusterFirstWithHostNet三種。
- “Default”不是默認的DNS策略。如果dnsPolicy的Flag沒有特別指明,則默認使用“ClusterFirst”。
路由請求流程:
未配置存根域:沒有匹配上配置的集群域名后綴的任何請求,例如 “www.kubernetes.io”,將會被轉發到繼承自節點的上游域名服務器。
已配置存根域:如果配置了存根域和上游DNS服務器,DNS查詢將基于下面的流程對請求進行路由:
1. 查詢首先被發送到coredns中的DNS緩存層。
2. 從緩存層,檢查請求的后綴,并根據下面的情況轉發到對應的DNS上:
? 具有集群后綴的名字(例如“.cluster.local”):請求被發送到coredns。
? 具有存根域后綴的名字(例如“.acme.local”):請求被發送到配置的自定義DNS解析器(例如:監聽在 1.2.3.4)。
? 未能匹配上后綴的名字(例如“widget.com”):請求被轉發到上游DNS。
圖-路由請求流程

步驟 1 登錄CCE控制臺,在左側導航欄中選擇“插件管理”,在“插件實例”頁簽下,選擇對應的集群,單擊coredns下的“升級”。
說明:
- 如果升級按鈕處于凍結狀態,則說明當前插件版本是最新的版本,不需要進行升級操作。
- 升級CoreDNS插件時,會替換原先節點上的舊版本的CoreDNS插件,安裝最新版本的CoreDNS插件以實現功能的快速升級。如果升級出現異常,請卸載插件后重新安裝和配置。
步驟 2 在基本信息頁面選擇插件版本,單擊“下一步”。
步驟 3 參照下表配置插件安裝參數。配置完成后,單擊“升級”即可升級coredns插件。
表-安裝插件說明
參數 | 參數說明 |
插件規格 | 并發域名解析能力。請根據業務需求選擇插件規格。 |
存根域 | 用戶可對自定義的域名配置域名服務器,格式為一個鍵值對,鍵為DNS后綴域名,值為一個或一組DNS IP地址,如"acme.local -- 1.2.3.4,6.7.8.9"。 |
卸載插件
步驟 1 登錄CCE控制臺,在左側導航欄中選擇“插件管理”,在“插件實例”頁簽下,選擇對應的集群,單擊coredns下的“卸載”。
步驟 2 在彈出的窗口中,單擊“是”,可卸載該插件。