接下來配置祕鑰
root@master:~# cp /root/.kube/config /opt/kube.kubeconfig
編輯文件增加tonken
root@master:~# vim /opt/kube.kubeconfig
前邊空格4個冒號後邊也要空格一個
最後一行
token: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLThuOHdkIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI2NjJmN2Q3OC0wZTdlLTExZWEtYmM0Zi0wMDBjMjljZmU3MTAiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.Oy8EOkqJTZrKFtIAOb8xXSVMsZ1P5h3aPv7alRTyawh-MRF12Wk6Lr5lGOqPBj23_L3CnSC4JHCWGiHYtotetWvbDulK2ljni0vbvlz9JViP02Z0ww2AAA16oNjHYHMnKOHCJdZHncuPWXGjAjjUXqKIvN9V3wBb2qUSba5SUpLtSNozFPf1pKm6xhogdaBaWxu2MvVJw75lTc3qchfqGct0bjTqMHeDRfL9uqVx1-K-u087JOhyrEi5tzcHXmrHqZL5IqgLhXHcPM82Vb00IClGs6g4jnyetJyEmn7QQ4jTTMfuJo1v2UDaCR45uZ_pMCZT-mGvt_61z44P_iyp2g
導入登錄進去
這個tonken最多可以15分支,後邊就會掉了的
添加超過1個小時就斷開
root@master:/etc/ansible/manifests/dashboard/1.10.1# vim kubernetes-dashboard.yaml
117 args:
118 - --auto-generate-certificates
119 - --token-ttl=3600
讓他重新生效
root@master:/etc/ansible/manifests/dashboard/1.10.1# kubectl apply -f .
查看已經修改成3600秒了
查看有哪些可以用的後端服務
root@master:/etc/ansible/manifests/dashboard/1.10.1# kubectl get ep --all-namespaces
NAMESPACE NAME ENDPOINTS AGE
default kubernetes 192.168.200.197:6443,192.168.200.198:6443 3d4h
kube-system heapster 172.31.167.89:8082 2d2h
kube-system kube-controller-manager <none> 3d4h
kube-system kube-dns 172.31.167.90:53,172.31.167.90:53 2d14h
kube-system kube-scheduler <none> 3d4h
kube-system kubernetes-dashboard 172.31.104.141:8443 2d3h
kube-system monitoring-grafana 172.31.167.85:3000 2d2h
kube-system monitoring-influxdb 172.31.167.84:8086 2d2h
查看域名解析時間
root@master:/etc/ansible/manifests/dns/kube-dns# time kubectl exec busybox nslookup kubernetes
Server: 10.20.254.254
Address 1: 10.20.254.254 kube-dns.kube-system.svc.linux37.local
Name: kubernetes
Address 1: 10.20.0.1 kubernetes.default.svc.linux37.local
real 0m0.280s
user 0m0.101s
sys 0m0.034s
200毫秒的時間是正常的
root@master:/etc/ansible/manifests/dns/kube-dns# kubectl delete -f kube-dns.yaml
刪除kube-dns
查看coredns網站
[https://github.com/coredns/](https://github.com/coredns/)
image.png
image.png
把這些文件拖過去
創建 coredns目錄
root@master:/etc/ansible/manifests/dns# mkdir coredns
克隆coredns
root@master:/etc/ansible/manifests/dns/coredns# git clone https://github.com/coredns/deployment.git
解壓文件
root@master:/usr/local/src# tar xf kubernetes-1.14.7-client-linux-amd64.tar.gz
root@master:/usr/local/src# tar xf kubernetes-1.14.7-node-linux-amd64.tar.gz
root@master:/usr/local/src# tar xf kubernetes-1.14.7-server-linux-amd64.tar.gz
root@master:/usr/local/src# tar xf kubernetes1.14.7.tar.gz
root@master:/usr/local/src/kubernetes/cluster/addons/dns/coredns# vim /etc/ansible/hosts
# 服務網段 (Service CIDR),注意不要與內網已有網段衝突
SRVICE_CIDR="10.20.0.0/16"
注意執行的是這個service的dns的
創建dns服務
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# kubectl apply -f ../../../kube-dns.yaml
service/kube-dns created
serviceaccount/kube-dns created
configmap/kube-dns created
deployment.extensions/kube-dns created
執行腳本添加dns
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# bash deploy.sh 10.20.0.0/16
k8s-app: kube-dns
clusterIP: 10.20.254.254
拿到這個地址就可以
ports:
- name: dns
port: 53
protocol: UDP
- name: dns-tcp
port: 53
protocol: TCP
- name: metrics
port: 9153
protocol: TCP
- name: coredns
image: coredns/coredns:1.6.5
生產了一個文件定義了鏡像地址
把信息重定向到一個文件裏
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# bash deploy.sh 10.20.0.0/16 > coreden-linux37.yaml
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# vim coreden-linux37.yaml
60 ready
61 kubernetes linux37.local in-addr.arpa ip6.arpa {
修改爲公司部署的dns服務的域名名稱
65 prometheus :9153
66 forward . 223.6.6.6
轉發給阿里雲的223.6.6.6來進行解析轉發(一般這個dns地址是公司內部的dns,這裏做實驗用的是阿里雲的dns)
114 - name: coredns
115 image: harbor.wyh.net/baseimages/coredns:1.6.5
修改地址爲本地的鏡像地址
116 imagePullPolicy: IfNotPresent
118 limits:
119 memory: 512Mi
資源設置成512mb的
提前下載鏡像
root@master:/usr/local/src/kubernetes/cluster/addons/dns/coredns# docker pull coredns/coredns:1.6.5
打標籤
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# docker tag coredns/coredns:1.6.5 harbor.wyh.net/baseimages/coredns:1.6.5
上傳鏡像
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# docker push harbor.wyh.net/baseimages/coredns:1.6.5
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# kubectl delete -f ../../../kube-dns.yaml
刪除kube-dns,然後部署coredns
接下來部署coredns
創建服務
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# kubectl apply -f coreden-linux37.yaml
查看剛創建的pod
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# kubectl get pod -n kube-system | grep coredns
coredns-7979bd56b8-6ldtl 1/1 Running 0 2m37s
查看域名解析的時間
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# time kubectl exec busybox nslookup kubernetes
Server: 10.20.254.254
Address 1: 10.20.254.254 kube-dns.kube-system.svc.linux37.local
Name: kubernetes
Address 1: 10.20.0.1 kubernetes.default.svc.linux37.local
real 0m0.247s
user 0m0.064s
sys 0m0.035s
先關閉轉發功能註釋掉
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# vim coreden-linux37.yaml
66 # forward . 223.6.6.6
在執行下,他會把變化的部分執行了
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# kubectl apply -f coreden-linux37.yaml
root@master:/etc/ansible/manifests/dns/coredns/deployment/kubernetes# kubectl exec -it busybox sh
/ # ping www.baidu.com
ping: bad address 'www.baidu.com'
發現容器ping不痛百度了
作者:哆啦A夢_ca52
鏈接:https://www.jianshu.com/p/058262a73f8f
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。