kubernetes(安裝dashboard)


https://blog.csdn.net/qq_22917163/article/details/84527420

1. 通過yaml文件安裝dashboard

我們可以從https://github.com/kubernetes/dashboard/releases上邊找到和自己安裝的k8s相對於的dashboard的版本,這里我安裝的是1.8.3的版本。

1.1 下載對應版本

https://github.com/kubernetes/dashboard 下載dashboard鏡像
[root@k8s-master ~]# tar xf dashboard-1.8.3.tar
[root@k8s-master ~]# cd dashboard-1.8.2/src/deploy/recommended/

1.2 修改yaml文件中鏡像地址

因為大家都知道的原因,yaml文件中的鏡像地址無法被訪問,因此無法拉下來我們需要的鏡像,所以需要我們將鏡像地址修改成可以訪問到的(自行百度吧)。

1.3 修改yaml文件中service的type類型

官方的kubernetes-dashboard.yaml文件中service的type類型為clusterIp(service默認類型),這種方式要訪問dashboard需要通過代理,所以我們改為NodePort方式,這樣部署完后,就可以直接通過nodeIP:port的方式訪問

1.4 部署

[root@k8s-master ~]# kubectl create -f kubernetes-dashboard.yaml
部署完成后,可以通過kubectl get svc,pod -n kube-system來查看是否部署成功

 

當部署成功后,我們就可以訪問dashboar的圖形界面了(使用任何一個節點的宿主機ip:port訪問)

 

 

2 為dashboar配置訪問權限

k8s 從1.6版本開始使用RBAC(有關基於角色的訪問控制,請參考k8s文檔), 所以我們需要給dashboard配置一個serviceAccount, 並給該serviceAccount附上權限(也就是和role進行綁定,因為我們是集群,所以執行的是clusterRoleBinding)

2.1 創建serviceAccount


我們創建一個叫dashboard-admin的serviceAccount用戶

apiVersion: v1
kind: ServiceAccount
metadata:
  name: dashboard-admin
  namespace: kube-system

  

2.2 授權


進行權限綁定ClusterRoleBinding ,也就是授予權限, 我們把k8s內置的cluster-admin這個role(角色)賦給了dashboard-admin這個serviceAccount用戶

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

2.3 獲取用戶token

[root@k8s-master ~]# kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep dasboard-admin | awk '{print $1}')

 

2.4登陸dashboard

 


到此,k8s的dashboard就安裝完了,我們就可以愉快的通過圖形界面進行操作了。


免責聲明!

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



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