k8s搭建WebUI Dashborad管理介面

2022-07-21 04:45:08 字數 2827 閱讀 1728

k8s的webui管理介面可以更好更直觀更便捷的讓我們去管理我們的k8s集群。

1 vim kubernetes-dashboard.yaml
此時會建立很多資源,其中service是訪問時的**,訪問service就可以訪問到dashboard的webui,但是預設生成的service訪問型別是clusterip,所以集群外部不能訪問到。

根據官方文件,目前訪問dashboard有四種方式:nodeport、api server、kubectl proxy、ingress

為了方便,我們使用nodeport

此時就可以用瀏覽器訪問集群中任意一節點的30443埠,注意使用https://方式訪問。但是會有警告,點選高階接受風險繼續

可以看到有兩種登入方式:kubeconfig檔案、token令牌。

要想登入,得先有賬號

k8s集群中,賬號分為兩種:useraccount(現實中的人)、serviceaccount(集群內的客戶端)

由於dashboard在集群中是以pod方式執行提供的服務,所以要使用serviceaccount訪問,簡稱sa

然而並不是隨隨便便找個賬號就能登入,我們對賬號還要設定訪問控制,哪些資源允許什麼樣的操作。

這就用到我前面寫的rbac(基於角色的訪問控制)這裡就不再細講,想要了解點選這裡。

##將secret中的token使用base64方式進行解碼,然後使用變數引用

2 dash_tocken=$(kubectl get secret mysa-token-wjd28 -o jsonpath=|base64 -d)

34 ##建立乙個集群,將資訊輸出到/root/dashbord-admin.conf

5 kubectl config set-cluster dashboard-ui --server=192.168.1.100:6443 --kubeconfig=/root/dashbord-admin.conf

67 ##建立乙個集群使用者,並引用sa的token,並輸出到/root/dashbord-admin.conf

8 kubectl config set-credentials dashboard-admin --token=$dash_tocken --kubeconfig=/root/dashbord-admin.conf

910 ##建立乙個上下文,指定集群名、集群使用者名稱,並輸出到/root/dashbord-admin.conf

11 kubectl config set-context dashboard-admin@dashboard-ui --cluster=dashboard-ui --user=dashboard-admin --kubeconfig=/root/dashbord-admin.conf

1213 ##設定集群中當前使用的使用者,並輸出到/root/dashbord-admin.conf

14 kubectl config use-context dashboard-admin@dashboard-ui --kubeconfig=/root/dashbord-admin.conf

生成的dashbord-admin.conf即可用於登入dashboard可以將此檔案複製到其他主機,這樣其他主機也可以登入不過,不管是剛用到token登入或kubeconfig檔案登入,設定的許可權是整個集群中最高的管理員的許可權,切記當心洩露

生產環境中,最好將sa繫結到自定義許可權的role或者cluster,可以降低role和cluster的許可權,來保證集群安全

希望對大家有所幫助,謝謝

k8s搭建集群

k8s由兩種型別資源組成 分別是 master 和 nodes k8s的集群部署方式有三種 1.kubeadm 2.minikube 3.二進位製包 前兩種為自動部署,簡化操作。說一說手動部署的 二進位製包 k8s集群部署步驟 1.關閉防火牆 firewall cmd state systenctl...

K8s 集群搭建

目前生產部署 kubernetes 集群主要有兩種方式 kubeadm 與 二進位製包 一 kubeadm 概念 kubeadm 是乙個 k8s 部署工具,提供 kubeadm init 和 kubeadm join,用於快速部署 kubernetes 集群。官網 二 二進位製包 總之 kubead...

k8s 集群搭建

一 建立節點 修改主機名 vim etc cloud cloud.cfg 修改配置 preserve hostname true 修改hostname sudo vim etc hostname 修改網路 開啟 etc netplan config.yaml 修改網路配置為 network ethe...