2.k8s 基礎使用

接下來配置祕鑰

 

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
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發佈了224 篇原創文章 · 獲贊 128 · 訪問量 84萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章