成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Kubernetes配置外部DNS的方式

開發 開發工具
在通過容器化的道路上,很多實踐都是運行在一個hybrid的環境里,也就是有部分程序在容器中,也有部分在VM或者物理機中,這個也是可以理解的,畢竟技術不能總放在一個籃子里,不然運維的人要崩潰的。

 問題起源

在通過容器化的道路上,很多實踐都是運行在一個hybrid的環境里,也就是有部分程序在容器中,也有部分在VM或者物理機中,這個也是可以理解的,畢竟技術不能總放在一個籃子里,不然運維的人要崩潰的。在這樣的環境下,很多企業原有的應用都是通過DNS訪問的,那么容器里的應用是如何訪問到這些應用的呢?在阿里云的Kubernetes里默認配置使用了KubeDNS(在后面的版本將被CoreDNS代替,敬請期待),這個KubeDNS的上行DNS服務器,直接使用了阿里云的DNS服務,從而在默認情況下無法通過DNS的方式訪問到企業的這些服務。本文基于阿里云的Kuberntes容器服務做實踐。

解決之道

阿里云的Kubernetes始終保持著對于Kuberbetes的一致性以及可移植性,所以可以直接參考Kubernetes的官方文檔:https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/ 主要思路是通過添加KubeDNS的上游DNS服務器來解決。這里具體演示如何在阿里云的Kubernetes設置上游DNS服務。

具體實踐

Kubedns的組件基本介紹:

KubeDNS是Kubernetes的add-on組件,主要提供容器的DNS服務,它包含了一下組件在一個Pod中:

  • kubedns: 監聽k8s api server,在內存中維護DNS的記錄同時響應DNS的請求
  • dnsmasq: 增加DNS緩存來提高性能,查錯主要通過這個組件來日志來判斷。
  • sidecar: 提供了一個統一的健康檢查接口來執行對其它上面兩個組件的健康檢查

Kubelet的相關配置

DNS和Kubelete相關的配置有兩個:

  • --cluster-dns=<dns-service-ip> 指定容器使用的dns,因為使用了kubeDNS,這里配置的是kuebDNS的clusterip
  • --cluster-domain=<default-local-domain> k8s內部使用的域名后綴。默認值是:cluster.local。目前不建議更改這個值。

配置上游DNS來支持企業內服務DNS服務器

通過kubectl describe kube-dns -n kube-system可以看到,kubedns的啟動參數需要使用--config-dir=/kube-dns-config來讀取配置文件,而這個配置是通過一個名為kube-dns的configmap獲取的,所以我們只需要配置這個configmap就好

  1. kubectl create configmap/kube-dns -n kube-system  
  2. kubectl edit configmap/kube-dns -n kube-system 

然后在data下添加對應的內容,例如:

  1. upstreamNameservers: '["8.8.8.8", "100.100.2.136"]' 

這里"8.8.8.8"和 "100.100.2.136"就是上游對應的DNS服務器了。

這里需要注意的是,變更了configmap,容器是無法感知的,這個也是我對configmap吐槽最多的地方。要使這個配置生效,只能去delete對應kube-dns的容器,讓其重啟來獲取對應新的配置:

kubectl delete pod/<kube-dns-xxx> -n kube-system

這樣我們就配置好了對應的上游服務器DNS了,容器內的應用就可以通過域名的方法來訪問集群外的其它企業應用了。

填坑小記:

  • 在阿里云中注意注意安全組的設置,因為kubeDNS是標準的DNS接口,所以主機間需要開放UDP 53端口,如果你發現可以 ping通ip,但是不能ping通域名,很可能就是這個問題了
  • 需要查看kubedns是否已經激活對應的上游dns,可以用如下命令查日志:kubectl logs <kubedns pod> -c dnsmasq -n kube-system 如圖:

從而判斷是否配置了上游的DNS服務器

 

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2023-02-27 07:56:55

IngressKubernetes

2018-04-12 13:35:14

KubernetesNodePortLoadBalance

2023-07-16 23:11:36

DNS查詢kubelet

2013-05-14 14:55:41

2019-12-12 10:46:15

Kubernetes容器系統

2023-11-08 07:50:41

KubernetesIngress

2017-07-17 16:27:10

Docker Comp鏈接容器

2024-10-18 08:00:00

SpringBoot框架開發

2019-09-03 10:19:58

Kubernetes本地負載命令

2020-06-17 08:12:05

Kubernetes容器

2019-05-14 14:27:36

KubernetesDocker存儲

2023-03-10 22:14:49

KustomizeKubernetes

2024-01-02 09:19:15

kubernetes集群HTTP

2021-02-22 09:44:03

KubernetesDNSLinux

2009-09-03 15:08:14

RHEL5DNS服務配置紅帽

2010-01-07 15:37:09

Linux配置DNS

2022-11-21 08:11:18

2024-08-13 08:25:16

C#外部程序方式

2024-05-27 00:20:00

2019-12-25 09:53:01

虛擬機技術固態硬盤
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 男女国产视频 | 特级黄一级播放 | 婷婷中文字幕 | 国产一区二区在线视频 | 五月天婷婷激情 | 一区二区三区视频在线观看 | 亚洲精品99| 久久久久久久久久久久一区二区 | 亚洲精品在线国产 | 久久国际精品 | 亚洲高清av在线 | 一区二区三区欧美 | 成人妇女免费播放久久久 | av在线一区二区三区 | 亚洲综合无码一区二区 | 日本aa毛片a级毛片免费观看 | 黄色一级毛片 | 国产欧美一区二区三区在线看 | 国产特级毛片 | 国产精品成人一区二区 | 色吊丝2288sds中文字幕 | 激情av免费看 | 操久久 | av中文字幕在线播放 | 欧美精品乱码99久久影院 | 一二三四在线视频观看社区 | 国产精品久久久久久久久久久久久久 | 黄色欧美 | 国产97在线 | 日韩 | 99热这里只有精品8 激情毛片 | 在线色网站| 岛国av在线免费观看 | 一区视频| 青春草在线 | a欧美 | 少妇精品亚洲一区二区成人 | 国产精品自拍视频 | 国产一区二区三区网站 | 成人福利电影 | 欧美精品一区二区免费 | 久久久久久中文字幕 |