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 副本...