k8s部署dashboard可视化面板
言环境:centos7.9 docker-ce-20.10.12 kubernetes-version v1.19.2 kubernetes-dashboard v2.5.1什么是dashboarddashboard是kubernetes集群的Web UI,用户可以通过dashboard进行管理集群内所有资源对象,例如查看资源对象的运行情况,部署新的资源对象,伸缩deployment中的pod数量
言
环境:centos7.9 docker-ce-20.10.12 kubernetes-version v1.19.2 kubernetes-dashboard v2.5.1
什么是dashboard
dashboard是kubernetes集群的Web UI,用户可以通过dashboard进行管理集群内所有资源对象,例如查看资源对象的运行情况,部署新的资源对象,伸缩deployment中的pod数量等等一系列操作。
部署dashboard
方法一、直接一键运行,默认dashboard以aip方式运行
[root@master ~]# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml
方法二、先下载yaml到本地再运行,本篇使用NodePort方式运行dashboard
#下载官方的dashboard的yaml文件
[root@master ~]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml
[root@master ~]# vim recommended.yaml #修改yaml配置文件,更改资源类型为NodePort(该项可做可不做)
32 kind: Service
33 apiVersion: v1
34 metadata:
35 labels:
36 k8s-app: kubernetes-dashboard
37 name: kubernetes-dashboard
38 namespace: kubernetes-dashboard
39 spec:
40 type: NodePort #大概在40行处添加一个type: NodePort,注意剧本的语法格式
41 ports:
42 - port: 443
43 targetPort: 8443
44 nodePort: 30001 #定义对外的访问端口为30001
45 selector:
46 k8s-app: kubernetes-dashboard
47 ---
[root@master ~]# kubectl apply -f recommended.yaml #运行,启动dashboard
[root@master ~]# kubectl get pods -n kubernetes-dashboard #运行成功,dashboard安装完成
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-c45b7869d-9mkr8 1/1 Running 0 87s
kubernetes-dashboard-764b4dd7-ccgqn 1/1 Running 0 88s
[root@master ~]#
[root@master ~]# kubectl get svc -n kubernetes-dashboard #查看dashboard的对外端口30001
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/dashboard-metrics-scraper ClusterIP 10.101.244.233 <none> 8000/TCP 5m58s
service/kubernetes-dashboard NodePort 10.101.188.28 <none> 443:30001/TCP 5m58s
[root@master ~]#
[root@master ~]# kubectl apply -f recommended.yaml #运行,启动dashboard
[root@master ~]# kubectl get pods -n kubernetes-dashboard #运行成功,dashboard安装完成
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-c45b7869d-9mkr8 1/1 Running 0 87s
kubernetes-dashboard-764b4dd7-ccgqn 1/1 Running 0 88s
[root@master ~]#
[root@master ~]# kubectl get svc -n kubernetes-dashboard #查看dashboard的对外端口30001
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/dashboard-metrics-scraper ClusterIP 10.101.244.233 <none> 8000/TCP 5m58s
service/kubernetes-dashboard NodePort 10.101.188.28 <none> 443:30001/TCP 5m58s
[root@master ~]#
web访问dashboard可视化面板
访问dashboard默认是https://master_ip:30001/,如下图所示:
发现dashboard有两种登陆方式,一种是Token方式,另外一种是使用kubeconfig方式,下面分别介绍这两种方式登陆。
方式一、使用Token方式登陆
#创建一个叫dashboard-admin的账号,并指定命名空间为kube-system
[root@master ~]# kubectl create serviceaccount dashboard-admin -n kube-system
serviceaccount/dashboard-admin created
#创建一个关系,关系名为dashboard-admin,角色为cluster-admin,账户为kube-system命名空间下的dashboard-admin账号
[root@master ~]# kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin created
[root@master ~]# kubectl get secrets --all-namespaces | grep -i dashboard-admin #查看Token的编号(第二列)
kube-system dashboard-admin-token-jgxt9 kubernetes.io/service-account-token 3 8m4s
[root@master ~]# kubectl describe secret/dashboard-admin-token-jgxt9 -n kube-system #查看指定Token的编号的具体token值
Name: dashboard-admin-token-jgxt9
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name: dashboard-admin
kubernetes.io/service-account.uid: 93aeb666-79f0-4374-857d-15db559ce4d8
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1099 bytes
namespace: 11 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImF0Yjhta24xLUlhV2RTX0ZFZXgxVDlmQk5fSFVtWTRMMWgzbmJHVXROU0UifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tamd4dDkiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiOTNhZWI2NjYtNzlmMC00Mzc0LTg1N2QtMTVkYjU1OWNlNGQ4Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.fBXTIGWo1sT4sc95RV074RwiSbfjT7wkZDcHcPOyddgGYlqob6H-E_7bAV1aIy11jgsvv5BChnKO-3PkDG16e9P6t2ozjW1l9VcHnw20lIliAEjnAnLSDBPAn6xHBOKHVvjAUUOYTN5a87ZgbbsLMnbu2XnzYpCIOfIkrYi4fVOzew-PiUhrwZJTal2TxMTnBxG2SxazyUt1SjHN7Azo-QVtfdjKKRIZAPeHqn211y3Ygsclp5TO3z747mSjB0s7q6Svyv-HTVpu25xMgInYXzK-cNzhG6O1tjWSWihlFkf6PzxcaejfuiMWovxMY6lyL6MCNjUM_iroO_JhKJ8QqA
[root@master ~]# 复制上面这一大段token去dashboard的web页面就能访问dashboard了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
方式二、使用kubeconfig方式登陆
(先不讲,配置有点复杂)
更多推荐
所有评论(0)