Kubernetes 1.5 配置dns

來源:互聯網
上載者:User

標籤:kuberntes

在kubernetes1.2的時候,採用了skydns + kube2dns +etcd的方式來部署dns。而從1.3開始,則部署方式有了一點兒變化,將skydns和kube2dns封裝到了一個容器鏡像中,放棄了etcd,而將dns解析直接放入到了記憶體之中,同時引入了dnsmasq,進一步利用其緩衝,具體的原理,請查閱相關文檔。本篇文檔,主要闡述新版的dns在kubernetes中的具體部署。

  在Kubernetes的源碼目錄中,有個cluster/addons/dns目錄,下面有幾個與dns相關的檔案,我們將其中的skydns-rc.yaml.sed以及skydns-svc.yaml.sed檔案下載到本地,並去掉尾碼。只是拷貝檔案的話,可以通過https://rawgit.com這個地址加速,如下:

wget https://rawgit.com/kubernetes/kubernetes/release-1.5/cluster/addons/dns/skydns-rc.yaml.sed -O skydns-rc.yamlwget https://rawgit.com/kubernetes/kubernetes/release-1.5/cluster/addons/dns/skydns-svc.yaml.sed -O skydns-svc.yaml

下載下來的原檔案是用於saltstack自動化安裝的,我們手動處理的時候,需要進行相關修改。

修改skydns-rc.yaml內容如下:

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" />

# Copyright  (the  except - At some point, we need to rename all skydns-*.yaml.* files to kubedns-*.yaml.* cluster/addons/dns-horizontal-autoscaler/dns-horizontal-  with this /---app: kube-/cluster-service: . In order to  Addon Manager . Default is . Will be tuned  real   DNS horizontal auto-%-app: kube--app: kube-/critical-pod: /tolerations: -/library/kubedns-amd64:          # clusters,  set request = limit to keep this container  category so the kubelet doesn/healthz-//readiness HTTP server once that          initialDelaySeconds: - --domain=- --dns-port=        - --config-map=kube-- --kube-master-url=http:        # This should be set to v= only after the new image ( from - --v=-- containerPort: -- containerPort: -tcp-- containerPort: -/library/kube-dnsmasq-amd64:/healthz-- --cache-size=        - --no-- --server=.#- --log-facility=-  - containerPort: - containerPort: -- name: dnsmasq-/library/dnsmasq-metrics-amd64:/- --v=        - --- containerPort: -/library/exechealthz-amd64:            # limits are set higher than expected pending investigation on #- --cmd=nslookup kubernetes.default.svc.cluster.local . >/dev/        - --url=/healthz-- --cmd=nslookup kubernetes.default.svc.cluster.local .: >/dev/        - --url=/healthz-- --port=        - --- containerPort:

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" />

修改skydns-svc.yaml內容如下:

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" />

# Copyright  (the  except - At some point, we need to rename all skydns-*.yaml.* files to kubedns-*.yaml.*---app: kube-/cluster-service: /name: -app: kube-.-- name: dns-

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" />

啟動dns:

kubectl create -f skydns-rc.yamlkubectl create -f skydns-svc.yaml

修改各node節點上的/etc/kubernetes/kubelet設定檔,增加如下行:

KUBELET_ARGS="--cluster_dns=10.254.0.100 --cluster_domain=cluster.local"

重啟各節點:

systemctl restart kubelet

添加一個busybox的pod用於測試,busybox.yaml內容如下:

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" />

apiVersion: v1kind: Podmetadata:  labels:    name: busybox    role: master  name: busyboxspec:  containers:  - name: busybox    image: myhub.fdccloud.com/library/busybox    command:    - sleep    - "3600"

650) this.width=650;" src="/img/fz.gif" alt="複製代碼" />

執行如下操作:

kubectl exec -it busybox shnslookup kubernetesnslookup kubernetes.default.cluster.localnslookup kubernetes.default.svc.cluster.local

如果能正常解析,則部署OK。


本文出自 “我的天空” 部落格,請務必保留此出處http://sky66.blog.51cto.com/2439074/1933996

Kubernetes 1.5 配置dns

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.