国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

配置自定義DNS服務 容器云 UK8S

ernest.wang / 3126人閱讀

摘要:在中,的默認配置信息如下的配置信息包含以下的插件錯誤日志會以標準輸出的方式打印到容器日志的健康狀況插件是中用來替代的模塊,將的域名轉為的工作由該插件完成,其中常用的參數作用如下用于設置的記錄處理模式,如。

配置自定義DNS服務

本文主要介紹如何在UK8S集群中,使用自定義的DNS服務。

從Kubernetes 1.11起,CoreDNS取代kube-dns成為默認的DNS方案,UK8S目前支持的Kubernetes版本>=1.11,因此本文主要介紹如何修改CoreDNS的配置以達到使用自定義DNS服務的目的。

簡介

CoreDNS是一個模塊化、插件式的DNS服務器,其配置文件信息保存在Corefile內。UK8S集群管理員可通過修改ConfigMap,來配置自定義DNS服務。

在UK8S中,CoreDNS的默認Corefile配置信息如下:

apiVersion: v1
kind: ConfigMap
data:
  Corefile: |
    .:53 {
        errors
        health
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          upstream 
          fallthrough in-addr.arpa ip6.arpai
          ttl 30
        }
        prometheus :9153
        forward . /etc/resolv.conf {
          policy sequential
        }
        cache 30
        loop
        reload
        loadbalance
    }
metadata:
  name: coredns
  namespace: kube-system

Corefile的配置信息包含以下CoreDNS的插件:

errors: 錯誤日志會以標準輸出的方式打印到容器日志;

health: CoreDNS的健康狀況;

kubernetes: kubernetes插件是CoreDNS中用來替代kube-dns的模塊,將service的域名轉為IP的工作由該插件完成,其中常用的參數作用如下:

pods POD-MODES: 用于設置Pod的A記錄處理模式,如1-2-3-4.ns.pod.cluster.local. in A 1.2.3.4pods disabled為默認值,表示不為pod提供dns記錄;pods insecure會一直返回對應的A記錄,而不校驗ns;pods verified會校驗ns是否正確,如果該ns下有對應的pod,則返回A記錄。

upstream [ADDRESS..]: 定義用于解析外部hosts的上游dns服務器。如果不指定,則CoreDNS會自行處理,例如使用后面會介紹到的proxy插件。

fallthrough [ZONE..]: 如果指定此選項,則DNS查詢將在插件鏈上傳遞,該插件鏈可以包含另一個插件來處理查詢,例如in-addr.arpa

prometheus: CoreDNS對外暴露的監控指標,默認為http://localhost:9153/metrics。

forward [from to]: 任何不屬于Kubernetes集群內部的域名,其DNS請求都將指向forword指定的 DNS 服務器地址。from一般為".",代表所有域名,to可以為多個,如111.114.114.114 8.8.8.8。需要注意的是,新版本的CoreDNS已forward插件替代proxy插件,不過使用方法是一致的,如果你的集群是proxy,建議改為forward插件,性能更好。

reload: 允許自動加載變化了的Corefile,建議配置,這樣CoreDNS可以實現熱更新。

其他選項的意義請查看Kubernetes官方文檔,下面我們舉例說明下如何修改ConfigMap。

示例為特殊域配置DNS服務器

假設我們有一個ucloudk8s的服務域,自建的私有DNS Server地址為10.9.10.8,則集群管理員可以執行kubectl edit configmap/coredns -n kube-system中添加如下所示的一段規則,這是個獨立的Server Block,我們可以在Corefile里面為不同的域配置不同的Server Block

ucloudk8s.com:53 {
        errors
        cache 30
        forward . 10.9.10.8
    }

并且,我們不希望使用/etc/resolv.conf里配置的DNS服務器作為上游服務器,而是指向自建的DNS Server,只需要直接修改之前提到的upstream和proxy選項即可

upstream 10.9.10.8
forward .  172.16.0.1

修改完畢后的configmap如下:

apiVersion: v1
kind: ConfigMap
data:
  Corefile: |
    .:53 {
        errors
        health
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          upstream 10.9.10.8
          fallthrough in-addr.arpa ip6.arpa
        }
        prometheus :9153
        forward . 10.9.10.8
        cache 30
        loop
        reload
        loadbalance
        }
    ucloudk8s.com:53 {
        errors
        cache 30
        forward . 10.9.10.8
       }
metadata:
  name: coredns
  namespace: kube-system
驗證

我們在同VPC下的某臺云主機中(請勿在UK8S Node節點中操作)安裝一個DNS服務器,來驗證自定義DNS是否正常工作。

通過Docker安裝DNS服務器
docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns-server andyshinn/dnsmasq:2.75
進入容器
docker exec -it dns-server /bin/sh
配置上游DNS服務器
vi /etc/resolv.dnsmasq
nameserver 114.114.114.114
nameserver 8.8.8.8
配置本地解析規則
vi /etc/dnsmasqhosts
110.110.110.110 baidu.com
修改dnsmasq配置文件,指定使用上述兩個我們自定義的配置文件,修改下述兩個選項,并重啟容器。
vi /etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq
addn-hosts=/etc/dnsmasqhosts
docker restart dns-server
修改CoreDNS的configmap,添加如下規則。
baidu.com:53{
  errors
  cache 30
  forward . 10.9.10.8(測試時需修改成你的DNS地址)      
 }
進入K8S在容器內測試,使用dig命名測試,可以看到解析地址為110.110.110.110,符合預期。
bash-4.4# dig baidu.com
; <<>> DiG 9.12.3-P4 <<>> baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39140
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;baidu.com.                     IN      A
;; ANSWER SECTION:
baidu.com.              5       IN      A       110.110.110.110
;; Query time: 4 msec
;; SERVER: 172.17.0.2#53(172.17.0.2)
;; WHEN: Mon May 27 09:11:50 UTC 2019
;; MSG SIZE  rcvd: 63
常見問題修改了CoreFile,但解析不成功

首先確認CoreFile是否包含了reload插件,如果沒有包含,需要添加reload,并且重建CoreDNS,使其可以加載到最新的DNS規則。

其次,通過kubectl logs COREDNS-POD-NAME -n kube-system查看CoreDNS日志,確認CoreDNS是否正常工作,以及DNS配置是否加載成功。

如果依然不能正常工作,在容器或Pod內執行dig @YOUR-DNS-SERVER-ADDRESS YOUR-DOMAIN,確認您的DNS服務器是否正常工作。

如以上操作皆無效,請聯系UCloud技術支持協助處理。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/126934.html

相關文章

  • 拉勾網基于 UK8S平臺的容器化改造實踐

    摘要:宋體本文從拉勾網的業務架構日志采集監控服務暴露調用等方面介紹了其基于的容器化改造實踐。宋體此外,拉勾網還有一套自研的環境的業務發布系統,不過這套發布系統未適配容器環境。寫在前面 拉勾網于 2019 年 3 月份開始嘗試將生產環境的業務從 UHost 遷移到 UK8S,截至 2019 年 9 月份,QA 環境的大部分業務模塊已經完成容器化改造,生產環境中,后臺管理服務已全部遷移到 UK8...

    CoorChice 評論0 收藏0
  • 容器 UK8S服務發現:Kubernetes重要概念Service(即服務,本文中兩者等同)以

    摘要:介紹本章節主要為您簡要介紹中的一個重要概念即服務,本文中兩者等同,以及的相關知識。在每臺的固定端口上暴露服務,選擇的服務類型,集群會自動創建一個類型的服務,負責處理接收到的外部流量。集群外部的可以通過的方式訪問該服務。Service 介紹本章節主要為您簡要介紹 Kubernetes 中的一個重要概念 Service(即服務,本文中兩者等同),以及ULB的相關知識。Service 介紹Serv...

    Tecode 評論0 收藏0
  • Service 介紹 容器 UK8S

    摘要:介紹介紹介紹是集群中的一個資源對象,用于定義如何訪問一組帶有相同特征的。下面我們分別介紹下如何通過在內網外網訪問。 Service 介紹本篇目錄1. Service 介紹2. ULB 簡要介紹本章節主要為您簡要介紹 Kubernetes 中的一個重要概念 Service(即服務,本文中兩者等同),以及ULB的相關知識。1. Service 介紹Service 是 Kubernetes 集群中...

    ernest.wang 評論0 收藏2037
  • UK8S 集群常見問題 容器 UK8S

    摘要:為什么在節點直接起容器網絡不通為什么在節點直接起容器網絡不通為什么在節點直接起容器網絡不通使用自己的插件,而直接用起的容器并不能使用該插件,因此網絡不通。 UK8S 集群常見問題本篇目錄1. UK8S 完全兼容原生 Kubernetes API嗎?2. UK8S 人工支持3. UK8S對Node上發布的容器有限制嗎?如何修改?4. 為什么我的容器一起來就退出了?5. Docker 如何調整日...

    ernest.wang 評論0 收藏1762
  • 容器 UK8S】集群常見問題:UK8S創建Pod失敗,使用kubectl describe po

    摘要:集群常見問題單個集群最多能添加多少個節點當前單個集群對應節點數量可查看集群節點配置推薦。創建失敗,使用發現報錯為,是啥原因在創建等資源時,都需要扮演云賬戶的身份調用來完成相關操作。集群內可以解析,但無法聯通外網拉取數據失敗。集群常見問題單個集群最多能添加多少個節點?A:當前單個UK8S集群對應節點數量可查看集群節點配置推薦。UK8S完全兼容原生Kubernetes API嗎?A:完全兼容。U...

    Tecode 評論0 收藏0
  • 容器 UK8S】日志監控方案:什么是Prometheus?怎么部署Prometheus?

    摘要:客戶端庫,為需要監控的服務生成相應的并暴露給。根據配置文件,對接收到的警報進行處理,發出告警。再創建一個來告訴需要監控帶有為的背后的一組的。什么是Prometheus關于PrometheusPrometheus 是一套開源的系統監控報警框架。它的設計靈感源于 Google 的 borgmon 監控系統,由SoundCloud 在 2012 年創建,后作為社區開源項目進行開發,并于 2015 ...

    Tecode 評論0 收藏0

發表評論

0條評論

ernest.wang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<