Pod中訪問外部的域名配置


在實際應用中經常遇到Pod中訪問外部域名的狀況,在Kubenetes 1.6以上的版本通過配置DNS configmap已經解決,詳細的內容可以參考官方的

https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/

如果沒有太多時間的化,可以參考下面這個圖

 

簡單來說在dnsPolicy是ClusterFirst的情況下,如果是default是采用的宿主機的/etc/resolve.conf中內容

可以基於域名比如acme.local指定dns server,如果集群內部以及域名都找不到,可以配置upstream DNS進行解析。

語句為

apiVersion: v1
kind: ConfigMap
metadata:
  name: kube-dns
  namespace: kube-system
data:
  stubDomains: |
    {"acme.local": ["1.2.3.4"]}
  upstreamNameservers: |
    ["8.8.8.8", "8.8.4.4"]

acme.local可以支持DNS的主備配置。

需要指出的是集群配置dns后本身就有kube-dns的configmap,所以創建的時候采用

kubectl replace -f dns.yaml

Pod和Deployment等應用不需要任何改變。新建這些Pod和Deployment后生效

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM