摘要:自定義從開始,集群管理員可以通過為提供的來指定自定義存根域和上游。例如,下面的配置插入一個多帶帶的存根域和兩個上游。使用存根域后綴例如的名稱將被發送到配置的自定義解析器。
許多用戶想將現有的域名 zones 集成到其 Kubernetes DNS 命名空間中。例如,混合云用戶可能希望解決集群內部的“.corp”域地址問題。其他用戶可能是有由非 Kubernetes 服務發現系統的 zone(如 Consul)問題。在 Kubernetes 1.6中,kube-dns 增加了對可配置的專用 DNS zones(通常稱為“stub domains”)和外部上游 DNS 名稱服務器的支持。在這篇博文中,我們將介紹如何配置和使用此功能。
1.默認查找流程
Kubernetes 目前支持兩種 DNS 策略:
”Default”和”ClusteFirst”。
如果 dnsPolicy 的 Flag 沒有特別指明,則默認使用”ClusterFirst”。
如果dnsPolicy設置為“Default”,則名稱解析配置將從pod運行的節點繼承。
如果 dnsPolicy 設置為“ClusterFirst”,則 DNS 查詢將被發送到 kube-dns 服務。 基于 cluster domaim 后綴(上述示例中以.cluster.local結尾的地址)的域查詢將由 kube-dns 服務應答。 所有其他查詢(例如www.kubernetes.io)將被轉發到從節點繼承的上游 NS。
在此之前,通常使用自定義解析器替換上游 DNS 來引入存根域。 然而,這會導致自定義解析器本身成為 DNS 解析的關鍵路徑,其中可擴展性和可用性的問題可能導致集群丟失 DNS 功能。 現在,允許用戶引入自定義解析而不占用整個解析路徑。
2.自定義 DNS Flow
從 Kubernetes 1.6開始,集群管理員可以通過為kube-dns提供的 ConfigMap 來指定自定義存根域和上游 NS。 例如,下面的配置插入一個多帶帶的存根域和兩個上游 NS。 如下所示,以“.acme.local”為后綴的DNS請求將被轉發到監聽在 1.2.3.4 上的 DNS 服務來處理。此外, Google 公共 DNS 將提供上游查詢。 有關數據格式的一些說明,請參閱本節末尾的 ConfigMap 配置說明。
下圖顯示了上述配置中指定的 DNS 查詢流程。
將 dnsPolicy 設置為“ClusterFirst”后,首先將 DNS 查詢發送到 kube-dn s中的 DNS 緩存層。 從這里,請求的后綴被檢查,然后轉發到相應的 DNS 。 在這種情況下,具有集群后綴(例如“.cluster.local”)的名稱將發送到 kube-dns 。 使用存根域后綴(例如“.acme.local”)的名稱將被發送到配置的自定義解析器。 最后,與這些后綴不匹配的請求將轉發到上游 DNS 。
以下是一些域名示例以及查詢這些域名的目標服務器:
3.ConfigMap配置注意事項
stubDomains(可選)
格式:以 DNS 后綴(如“acme.local”)為鍵,DNS IP 數組為值的 JSON 映射。
注意:目標名稱服務器本身可能是 Kubernetes 服務。 例如,您可以運行自己的 dnsmasq 副本將自定義 DNS 名稱導出到 ClusterDNS 命名空間中。
upstreamNameservers(可選)
格式: DNS I P的 JSON 數組。
注意:如果指定,那么指定的值將替代默認從節點的/etc/resolv.conf中獲取的名稱服務器
限制:最多可以指定三個上游名稱服務器
示例1:添加一個Consul DNS 存根域
在此示例中,用戶具有希望與 kube-dns 集成的 Consul DNS 服務發現系統。
Consul Domain 服務器位于10.150.0.1,所有 consul 均以后綴“.consul.local”命名。
要配置 Kubernetes ,集群管理員只需創建一個 ConfigMap 對象,如下所示。 注意:在此示例中,集群管理員不希望覆蓋節點的上游 NS ,因此他們不需要指定可選的 upstreamNameservers 字段。
示例2:替換上游 NS
在此示例中,集群管理員希望明確強制所有非集群的 DNS 查詢通過運行 在 172.16.0.1 上的他們自己的 NS 來完成。這很容易完成,他們只需要使用指定所需名稱 服務器的 upstreamNameservers 字段創建一個 ConfigMap。
時速云翻譯,轉載請注明出處!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/32549.html
摘要:我們很高興地宣布,在中,增加了對可配置的私有區域通常稱為存根域和外部上游名稱服務器的支持。例如,下面的配置插入單個存根域和兩個上游名稱服務器。具有存根域后綴的名稱例如將被發送到配置的自定義解析程序。 許多用戶他們想要集成domain name zones(現有域名區域)到Kubernetes DNS 命名空間。例如,混合云用戶可能希望在群集內解析其內部.corp域地址。其他用戶可能具有...
摘要:我們很高興地宣布,在中,增加了對可配置的私有區域通常稱為存根域和外部上游名稱服務器的支持。例如,下面的配置插入單個存根域和兩個上游名稱服務器。具有存根域后綴的名稱例如將被發送到配置的自定義解析程序。 許多用戶他們想要集成domain name zones(現有域名區域)到Kubernetes DNS 命名空間。例如,混合云用戶可能希望在群集內解析其內部.corp域地址。其他用戶可能具有...
摘要:云廠商托管服務的域名解析注意事項使用云廠家提供托管式,的域名解析參數,通過界面創建的話,可能廠商界面沒有開放配置,采用了一些默認值,在使用時候,需要了解清楚廠商提供的默認配置,否則會存在問題。原文鏈接使用云廠商托管時容器域名解析注意事項 云廠商托管 Kubernetes 服務的 Pod 域名解析注意事項 使用云廠家提供托管式Kubernetes,Pod的域名解析參數,通過界面創建Pod...
摘要:年正在柏林盛大舉行,來自等多個開源云原生社區的領先技術專家正匯聚一堂,以進一步推動云原生計算的教育和發展。例如,你還需要諸如負載均衡器和的服務來運行應用程序。負載均衡器可以進行高級定制,以滿足用戶的各類需求。 想要在生產環境中成功部署容器,你需要的不僅僅是容器編排。 2017年CloudNativeCon+KubeCon Europe正在柏林盛大舉行,來自Fluented、Kubern...
摘要:年正在柏林盛大舉行,來自等多個開源云原生社區的領先技術專家正匯聚一堂,以進一步推動云原生計算的教育和發展。例如,你還需要諸如負載均衡器和的服務來運行應用程序。負載均衡器可以進行高級定制,以滿足用戶的各類需求。 想要在生產環境中成功部署容器,你需要的不僅僅是容器編排。 2017年CloudNativeCon+KubeCon Europe正在柏林盛大舉行,來自Fluented、Kubern...
閱讀 3011·2021-10-27 14:15
閱讀 2999·2021-09-07 10:18
閱讀 1320·2019-08-30 15:53
閱讀 1570·2019-08-26 18:18
閱讀 3373·2019-08-26 12:15
閱讀 3460·2019-08-26 10:43
閱讀 654·2019-08-23 16:43
閱讀 2207·2019-08-23 15:27