Kubernetes Dashboard的安裝與配置

Kubernetes Dashboard的安裝與配置

一 背景

通過kubeadm快速完成了kubernetes的安裝,即可迅速地體驗到kubernetes的強大功能。美中不足的是,只能通過命令來查看或操作,沒有一個直觀且簡潔的Web UI來感受一下這種成功的喜悅。此外,國內(nèi)的網(wǎng)絡(luò)環(huán)境,也在某種程度上增加了一些門檻。面對如此種種,依然有辦法體驗kunernetes dashboard。

二 操作步驟

因為不清楚Pod會被調(diào)度到哪一個Node上,所以在每一個節(jié)點上執(zhí)行以下腳本:

#!/bin/bash
docker pull registry.cn-qingdao.aliyuncs.com/wangxiaoke/kubernetes-dashboard-amd64:v1.10.0
# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.0
docker tag registry.cn-qingdao.aliyuncs.com/wangxiaoke/kubernetes-dashboard-amd64:v1.10.0 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0
docker image rm registry.cn-qingdao.aliyuncs.com/wangxiaoke/kubernetes-dashboard-amd64:v1.10.0

在Master節(jié)點上執(zhí)行:

[root@k8s-m ~]# curl -O kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml
[root@k8s-m ~]# kubectl apply -f kubernetes-dashboard.yaml

查看pod是否創(chuàng)建成功:

[root@k8s-m ~]#  kubectl get pods --namespace=kube-system
NAME                                    READY   STATUS    RESTARTS   AGE
coredns-576cbf47c7-xg4xm                1/1     Running   1          72m
coredns-576cbf47c7-xq9mc                1/1     Running   1          80m
etcd-k8s-m                              1/1     Running   2          79m
kube-apiserver-k8s-m                    1/1     Running   2          79m
kube-controller-manager-k8s-m           1/1     Running   21         80m
kube-flannel-ds-amd64-9fzm7             1/1     Running   1          72m
kube-flannel-ds-amd64-nddqf             1/1     Running   2          72m
kube-proxy-6js29                        1/1     Running   2          80m
kube-proxy-lp2v2                        1/1     Running   2          72m
kube-scheduler-k8s-m                    1/1     Running   19         80m
kubernetes-dashboard-77fd78f978-ngkvb   1/1     Running   1          25m

修改service配置,找到type,將ClusterIP改成NodePort:

[root@k8s-m ~]# kubectl edit service  kubernetes-dashboard --namespace=kube-system

查看暴露端口:

[root@k8s-m ~]#  kubectl get service --namespace=kube-system
NAME                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
kube-dns               ClusterIP   10.96.0.10       <none>        53/UDP,53/TCP   87m
kubernetes-dashboard   NodePort    10.101.204.129   <none>        443:31269/TCP   32m

創(chuàng)建kubernetes-dashboard用戶:

kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: admin
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
  name: admin
  namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin
  namespace: kube-system
  labels:
    kubernetes.io/cluster-service: "true"
    addonmanager.kubernetes.io/mode: Reconcile

創(chuàng)建用戶:

[root@k8s-m ~]#  kubectl create -f admin-token.yaml 

獲取登錄token:

[root@k8s-m ~]# kubectl get secret -n kube-system |grep admin|awk '{print $1}'
admin-token-6tkxm

[root@k8s-m ~]# kubectl describe secret admin-token-6tkxm -n kube-system|grep '^token'|awk '{print $2}'
eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi10b2tlbi02dGt4bSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJhZG1pbiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjQ4MjcxNTE5LTFkODgtMTFlOS1iMGZkLTAwMTU1ZDc0ZWUyNyIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTphZG1pbiJ9.TpBGEd-7VXrYjN_5fi0sOXMqLIrhDkgqIVVTagO4wvKOQloCJkpfvnVgBJ0Oi52-UQNBKBVH8v1wRBltPHKrjMqVU9re6-y3nd4UbwWtIZzmfMJ_oRwo2ne_UdU_Ya2I5EOH3qh1cUIhdG3NpZYXwFICsNZURJWZM_U7OqJrZPuMXw4sfD6iGRWeMtOiAI8YN1LAfpj1RHaeOa66DK_LEsSLBsb2W6m7wrugk7SBCJSkMyec7ZVGLHo5Ha-X5wNO5qAAKzud0lz2KVcvwJW8lkcc9_lPxPIoDIpdCFEoG5xZHr0B2PkatCS8f31VQzP6LAmvkmHxbENb6V3Ov90RGw

將以上內(nèi)容復(fù)制備用。

三 查看結(jié)果

3.1 打開瀏覽器輸入訪問地址:https://NodeIP:PORT。此處輸入Node-2的訪問地址:https://172.31.3.12:31269,其他節(jié)點亦如此。如下圖:

添加例外

3.2 認(rèn)證方式選擇口令,輸入剛才獲取到的token,即可登陸成功。


填入token

3.3 登錄成功后,如下圖:


登錄成功

四 總結(jié)

4.1 這是一個簡單而快樂的過程,只要動手去做,其實很簡單的!

4.2 這次實驗是部署在kubernetes v1.12.1的。

4.3 實驗使用的瀏覽器是Firefox v64.0.2,其他瀏覽器可能不支持。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 組件版本和配置策略 組件版本: Kubernetes 1.10.4 Docker 18.03.1-ce Et...
    Anson前行閱讀 5,954評論 0 11
  • 一、Dashboard簡介 ??Kubernetes 還開發(fā)了一個基于 Web 的 Dashboard,用戶可以用...
    無劍_君閱讀 950評論 0 2
  • [TOC] 一、安裝先決條件和集群規(guī)劃 1.1 環(huán)境配置 以下操作在所有節(jié)點執(zhí)行 關(guān)閉防火墻: 禁用SELinux...
    溯水心生閱讀 1,289評論 0 5
  • 太陽的光芒慢慢地灑進(jìn)房間,月亮隱身在云層背后,外面是車水馬龍的街道,汽車的喧鬧聲,人流的交談聲,將我從夢境中拉回現(xiàn)...
    所憶閱讀 393評論 2 2
  • 疫情仍未過去,可學(xué)習(xí)不該丟棄,于是乎為了響應(yīng)停課不停學(xué)的號召,網(wǎng)課被推到了風(fēng)口浪尖。釘釘非?;鸨液尾粺o時無刻在...
    霸道總裁_a342閱讀 160評論 0 0

友情鏈接更多精彩內(nèi)容