k8s中的dns服務

2021-10-11 18:38:59 字數 1323 閱讀 2506

kubernetes中有乙個很重要的特性,服務自發現。一旦乙個service被建立,該service的service ip和service port等資訊都可以被注入到pod中供它們使用。kubernetes主要支援兩種service發現 機制:環境變數和dns。沒有dns服務的時候,kubernetes會採用環境變數的形式,一旦有很多個service,環境變數會變得很複雜,為了解決這個問題,我們使用dns服務。

[root@k8s-master k8s]# unzip skydns.zip

archive: skydns.zip

creating: skydns/

inflating: skydns/skydns-rc.yaml

inflating: skydns/skydns-svc.yaml

inflating: skydns/test_dns_pod.yaml

安裝:

vim skydns-rc.yaml

kubectl create -f skydns-rc.yaml

vim skydns-svc.yaml

kubectl create -f skydns-svc.yaml

檢查:[root@k8s-master skydns]# kubectl get pod --namespace=kube-system

name ready status restarts age

kube-dns-

453684471

-gxhwn 4

/4 running 0

1m

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

kubelet_args=

"--cluster_dns=10.254.230.254 --cluster_domain=cluster.local"

重啟各node節點kubelet:

systemctl restart kubelet

建立測試pod

kubectl create -f test_dns_pod.yaml

進入測試pod

kubectl exec -it busybox2 sh

網域名稱解析測試

nslookup kubernetes

K8S部署DNS服務

root hdss7 11 yum install y bind root hdss7 11 rpm qa bind bind 9.11.4 16.p2.el7 8.6.x86 64 13 listen on port 53 監聽本機ip 14 listen on v6 port 53 刪除,不監聽...

K8s部署prometheus監控K8s細節

prometheus 一些配置檔案可以再github上找到。部署 root kube prometheus manifests 目錄下所有檔案 部署 root kube prometheus manifests setup 目錄下所有檔案 要注意的是自己要建立乙個工作空間 如果報錯執行下面語句 部署...

K8S 服務編排YAML

yaml 是一種簡潔的非標記語言。語法格式 在k8s部署乙個應用的yaml內容大致分為兩部分 控制器定義 定義控制器屬性 被控制物件 pod模板,定義容器屬性 具體字段意義 apiversion api版本 kind 資源型別 metadata 資源元資料 spec 資源規格 replicas 副本...