溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

K8S多master部署三:部署DashBoard-UI界面

發(fā)布時(shí)間:2020-08-10 15:04:56 來源:網(wǎng)絡(luò) 閱讀:207 作者:qq5d47f509174fe 欄目:云計(jì)算

前情提要

以下所有操作均在單master群集已完成部署的情況下進(jìn)行。

所有服務(wù)器均保證防火墻常閉,核心功能selinux關(guān)閉。

服務(wù)器角色分配

角色 地址 安裝組件
master 192.168.142.220 kube-apiserver kube-controller-manager kube-scheduler etcd
master02 192.168.142.120 kube-apiserver kube-controller-manager kube-scheduler
node1 192.168.142.136 kubelet kube-proxy docker flannel etcd
node2 192.168.142.132 kubelet kube-proxy docker flannel etcd
nginx1 192.168.142.130 nginx keepalived
nginx2 192.168.142.140 nginx keepalived
VIP 192.168.142.20 虛擬地址

Master端建立DashBoard

建立dashboard工作目錄

#在master上進(jìn)行操作
[root@master ~]# cd /k8s/

#將需要上傳的頁面文件到此文件夾下
[root@master k8s]# mkdir dashboard

K8S多master部署三:部署DashBoard-UI界面

“dashboard-rbac” 授權(quán)許可連接APIserver

“dashboard-secret” 進(jìn)行加密配置

“dashboard-configmap” dashboard配置文件

“dashboard-controller” 應(yīng)用配置

“dashboard-service” 用于發(fā)布應(yīng)用

上面四個(gè)YAML文件從GITHUB上進(jìn)行下載,地址:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dashboard

生成相關(guān)的POD

#順序不能變?。?!切記??!切記??!
[root@master dashboard]# kubectl create -f dashboard-rbac.yaml

[root@master dashboard]# kubectl create -f dashboard-secret.yaml

[root@master dashboard]# kubectl create -f dashboard-configmap.yaml

[root@master dashboard]# kubectl create -f dashboard-controller.yaml

[root@master dashboard]# kubectl create -f dashboard-service.yaml

將POD劃入指定命名空間

[root@master dashboard]# kubectl get pods -n kube-system
NAME                                    READY   STATUS    RESTARTS   AGE
kubernetes-dashboard-65f974f565-d2wgw   1/1     Running   2          90s

#查看詳細(xì)信息
[root@master dashboard]# kubectl get pods,svc -n kube-system
NAME                                        READY   STATUS             RESTARTS   AGE
pod/kubernetes-dashboard-65f974f565-d2wgw   1/1     Running            2          116s

NAME                           TYPE       CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
service/kubernetes-dashboard   NodePort   10.0.0.109   <none>        443:30001/TCP   112s

此時(shí),在瀏覽器訪問某個(gè)node節(jié)點(diǎn)的30001端口即可

K8S多master部署三:部署DashBoard-UI界面


導(dǎo)致這個(gè)問題的根部原因就是缺少證書,某些瀏覽器會阻止不安全的訪問

編寫執(zhí)行腳本進(jìn)行證書自簽

[root@master01 dashboard]# bash dashboard.sh /root/k8s/apiserver/
##腳本手工進(jìn)行編寫
#!/bin/bash
#DashBoard用證書
#
cat > dashboard-csr.json <<EOF
{
   "CN": "Dashboard",
   "hosts": [],
   "key": {
       "algo": "rsa",
       "size": 2048
   },
   "names": [
       {
           "C": "CN",
           "L": "BeiJing",
           "ST": "BeiJing"
       }
   ]
}
EOF

K8S_CA=$1
cfssl gencert -ca=$K8S_CA/ca.pem -ca-key=$K8S_CA/ca-key.pem -config=$K8S_CA/ca-config.json -profile=kubernetes dashboard-csr.json | cfssljson -bare dashboard

kubectl delete secret kubernetes-dashboard-certs -n kube-system
kubectl create secret generic kubernetes-dashboard-certs --from-file=./ -n kube-system

重新應(yīng)用新的自簽證書,并應(yīng)用

#重新應(yīng)用自簽的證書
[root@master01 dashboard]# vim dashboard-controller.yaml
        args:
          # PLATFORM-SPECIFIC ARGS HERE
          - --auto-generate-certificates
          - --tls-key-file=dashboard-key.pem
          - --tls-cert-file=dashboard.pem    ##添加最后兩行

#進(jìn)行重新部署
[root@master01 dashboard]# kubectl apply -f dashboard-controller.yaml

K8S多master部署三:部署DashBoard-UI界面
K8S多master部署三:部署DashBoard-UI界面

生成進(jìn)入的令牌

#生成令牌
[root@master01 dashboard]# kubectl create -f k8s-admin.yaml

#將令牌進(jìn)行保存
[root@master01 dashboard]# kubectl get secret -n kube-system
NAME                               TYPE                                  DATA   AGE
dashboard-admin-token-klr2w        kubernetes.io/service-account-token   3      74s
default-token-68xvt                kubernetes.io/service-account-token   3      54m
kubernetes-dashboard-certs         Opaque                                10     11m
kubernetes-dashboard-key-holder    Opaque                                2      23m
kubernetes-dashboard-token-drsc7   kubernetes.io/service-account-token   3      23m

#查看保存的令牌
[root@master01 dashboard]# kubectl describe secret dashboard-admin-token-klr2w -n kube-system
##復(fù)制token即可

把復(fù)制的token進(jìn)行粘貼即可進(jìn)入WEB頁面

K8S多master部署三:部署DashBoard-UI界面

以上,就是整個(gè)K8S全部節(jié)點(diǎn)部署的配置過程~~~

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI