全部產品
Search
文件中心

Enterprise Distributed Application Service:配置DNS

更新時間:Jun 30, 2024

在Kubernetes中,為應用配置Pod的DNS策略可以控制Pod如何訪問DNS服務,以及如何處理DNS解析,確保Pod能夠找到其他服務並與服務通訊。本文介紹在建立應用時,如何為應用設定Pod的DNS策略、DNS配置和網域名稱別名。

操作步驟

  1. 登入EDAS控制台,在左側導覽列,單擊應用管理 > 應用列表,在頂部功能表列選擇地區並在頁面上方選擇所屬微服務空間,然後在應用列表頁面左上方,單擊建立應用

  2. 應用基本資料頁簽,完成相關配置後,單擊下一步

  3. 應用配置頁簽,設定應用的環境資訊、基本資料、部署方式和資源參數,設定完成後單擊下一步

  4. 應用進階設定頁簽展開DNS配置,並根據您的業務需求配置DNS,然後在頁面最下方單擊下一步

    配置項

    描述

    DNS策略(dnsPolicy)

    目前支援通過DNS策略(dnsPolicy)欄位為每個Pod配置不同的DNS策略。

    • ClusterFirst:通過CoreDNS做網域名稱解析,Pod內/etc/resolv.conf配置的DNS服務地址是叢集DNS服務的kube-dns地址。該策略是叢集工作負載的預設策略。

    • ClusterFirstWithHostNet:結合hostNetwork網路模式使用,使Pod既能解析Kubernetes內部服務的網域名稱,也能解析外部網域名稱。

    • Default:Pod直接繼承叢集節點的網域名稱解析配置。即在叢集中直接使用ECS的/etc/resolv.conf檔案(檔案內配置的是阿里雲DNS服務)。

    • None:忽略叢集DNS策略,需要您提供DNS配置(dnsConfig)欄位來指定DNS配置資訊。

    DNS配置(dnsConfig)

    DNS配置(dnsConfig)中的參數說明如下:

    • nameserver:將用作Pod的DNS伺服器的IP地址清單。最多可以指定3個IP地址。

      說明

      當Pod的DNS策略(dnsPolicy)設定為None時,列表必須至少包含一個IP地址,否則此屬性是可選的。列出的DNS的IP列表將合并到基於DNS策略(dnsPolicy)產生的網域名稱解析檔案的nameserver欄位中,並重複資料刪除的地址。

    • searches:Pod中主機名稱尋找的DNS搜尋域列表。此屬性是可選的,指定後,提供的列表將合并到從所選DNS策略(dnsPolicy)產生的基本搜尋網域名稱中,並重複資料刪除的網域名稱。Kubernetes最多允許6個搜尋域。

    • options:可選的對象列表,其中每個對象可以具有名稱屬性(必需)和變數值屬性(可選)。此屬性中的內容將合并到從指定的DNS策略(dnsPolicy)產生的選項中,並重複資料刪除的條目。

    網域名稱別名(hostAliases)

    通過hostAliases允許為Pod中的hosts檔案增加本地區名解析條目。

    • IP地址:主機列表被解析到的目標IP地址。

    • 主機名稱:將指定的主機解析到IP地址,多個主機名稱通過英文半形逗號(,)分隔。

  5. 完成設定後單擊建立應用

    1. 完成設定後單擊建立應用,然後在應用建立完成頁簽,單擊確定建立應用

    2. 應用變更預檢確認對話方塊,單擊開始預檢

      1. 應用變更預檢確認的下一頁,確認預檢項和預檢結果,單擊繼續

      2. 可選:如您有更改以上預檢項,請單擊重新檢測

      應用建立可能需要幾分鐘,建立過程中,可以通過查看變更記錄跟蹤應用的建立流程。建立完成後,返回應用總覽頁面,查看執行個體Pod的運行狀態。若運行狀態運行中,說明應用發布成功。單擊Pod的運行狀態可以查看應用執行個體的工作負載(Deployment)容器組(Pod)和進階配置資訊。

驗證結果

  1. 應用總覽頁面,在基本資料地區,單擊運行狀態右側的點擊查看

  2. 容器組(Pod)地區,選擇需要驗證的Pod,單擊操作列的終端

  3. 在終端頁面,執行以下命令,查看DNS設定是否已被寫入到/etc/resolv.conf檔案中。

    cat /etc/resolv.conf

相關文檔