Ubuntu下搭建Kubernetes集群(4)--部署K8S Dashboard


K8S Dashboard是官方的一個基於WEB的用戶界面,專門用來管理K8S集群,並可展示集群的狀態。K8S集群安裝好后默認沒有包含Dashboard,我們需要額外創建它。

首先我們執行命令:

wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

我們需要對kubernetes-dashboard.yaml進行一些用戶權限修改,否則默認情況登錄進入會有很多權限問題。

我們把apiVersion: rbac.authorization.k8s.io/v1下面的一行改為:

kind: ClusterRoleBinding

並修改roleRef中的kind為ClusterRole,name為cluster-admin。如下所示:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard-minimal
  namespace: kube-system
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kubernetes-dashboard
  namespace: kube-system

此外,為了能讓外網能直接訪問,需要設置nodePort轉發:

# ------------------- Dashboard Service ------------------- #

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 9090
    nodePort: 30001
  selector:
    k8s-app: kubernetes-dashboard

然后直接運行:

kubectl create -f kubernetes-dashboard.yaml

通過kubectl get pods --all-namespaces命令可以看到kubernetes-dashboard正處於ContainerCreating階段,需要等到一段時間,可能等待的時間有點長(如果時間過長還沒有成功,請關掉從節點后再試)。

過段時間刷新后,發現kubernetes-dashboard處於Running狀態了,表明已經正確安裝。
現在你可以直接訪問:http://ip:30001 ,其中ip是master節點的ip,30001是之前配置的nodePort值。

此外你也可以運行代理,運行:

kubectl proxy --address='0.0.0.0' --accept-hosts='^*'  --disable-filter=true

設置address和accept-hosts時為了讓其他ip也能訪問,否則就只能用127.0.0.1訪問。

現在你可以訪問Dashboard:http://localhost:8001/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/#!/login

可以選擇Token登錄,查看token的命令是kubeadm token list

登錄進去后,就能了解集群的一些基本情況:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM