您好,登錄后才能下訂單哦!
Kubernetes 所有的操作我們都是通過命令行工具 kubectl 完成的。為了提供更豐富的用戶體驗(yàn),Kubernetes 還開發(fā)了一個(gè)基于 Web 的 Dashboard,用戶可以用 Kubernetes Dashboard 部署容器化的應(yīng)用、監(jiān)控應(yīng)用的狀態(tài)、執(zhí)行故障排查任務(wù)以及管理 Kubernetes 各種資源。
在 Kubernetes Dashboard 中可以查看集群中應(yīng)用的運(yùn)行狀態(tài),也能夠創(chuàng)建和修改各種 Kubernetes 資源,比如 Deployment、Job、DaemonSet 等。用戶可以 Scale Up/Down Deployment、執(zhí)行 Rolling Update、重啟某個(gè) Pod 或者通過向?qū)Р渴鹦碌膽?yīng)用。Dashboard 能顯示集群中各種資源的狀態(tài)以及日志信息。
可以說,Kubernetes Dashboard 提供了 kubectl 的絕大部分功能,大家可以根據(jù)情況進(jìn)行選擇。
因?yàn)?kubernetes-dashboard 的鏡像我們大陸是無法訪問的,我們還是通過間接的方式進(jìn)行獲取,具體版本大家可以自己去通過錯(cuò)誤查看。
docker pull registry.cn-shanghai.aliyuncs.com/qubit/kubernetes-dashboard-amd64:v1.10.0
docker tag registry.cn-shanghai.aliyuncs.com/qubit/kubernetes-dashboard-amd64:v1.10.0 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0
docker image rm registry.cn-shanghai.aliyuncs.com/qubit/kubernetes-dashboard-amd64:v1.10.0
Kubernetes 默認(rèn)沒有部署 Dashboard,可通過如下命令安裝:
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml
Dashboard 會(huì)在 kube-system namespace 中創(chuàng)建自己的 Deployment 和 Service。
因?yàn)?Service 是 ClusterIP 類型,為了方便使用,我們可通過下面命令修改成 NodePort 類型。
kubectl patch svc kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}' -n kube-system
查看端口
[root@master ~]# kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 6h
kubernetes-dashboard NodePort 10.107.238.193 <none> 443:30931/TCP 167m
訪問地址 https://10.0.0.23:30931
,記得用火狐或者谷歌瀏覽器,國內(nèi)的一些瀏覽器可能會(huì)有問題。
Dashboard 支持 Kubeconfig 和 Token 兩種認(rèn)證方式,為了簡化配置,我們通過配置文件 dashboard-admin.yaml
為 Dashboard 默認(rèn)用戶賦予 admin 權(quán)限。
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
應(yīng)用并且獲取token。
kubectl apply -f dashboard-admin.yaml
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
類似于下面這一段,把token
填入確定即可。
Name: admin-user-token-xln5d
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name: admin-user
kubernetes.io/service-account.uid: 54801c01-01e2-11e9-857e-00505689640f
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1025 bytes
namespace: 11 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXhsbjVkIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI1NDgwMWMwMS0wMWUyLTExZTktODU3ZS0wMDUwNTY4OTY0MGYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.MbGeROnjA9f1AhBO8v2GuHC1ihVk1UcxpM8lYkIC_P9Mx9jVZcM56zr4jcxjSnIuZPZxIznLJIIo7TRY94Ya2VujzF2lpDxlNYF2hWY3Ss9d5LqRtP3JsJNZVLmxvYIGnmnGyVCEikCM6W44WPu-Sm71TKwCOFImF7wz7pu4atJH-xrEedO7agQaGK8A_EYrE_gfGCFuMXWtz6Oj94t0InXo7hDnFl1xMI0f3cA0WYJKhzh0Gmm2MTEJXKedvjspLUGuDSY-AjI2VGIfccafpcYKHyXNO_2j4Lf4cF3Zv7TdHG3DCWVKNox4QSEgv7HJMprwlVRKpliKe4m4YY4MQg
官方文檔:https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。