k8s dashboard部署

Kubernetes Dashboard 是 Kubernetes 官方提供的基于 Web 的图形化界面工具,旨在帮助用户直观地管理和监控 Kubernetes 集群

1.在官网找到合适版本dashboard包并下载

root@k8s-master:/data/dashboard# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml

修改配置 可以本地访问
kind: Service
apiVersion: v1
metadata:
...
spec:
ports:
- port: 443
targetPort: 8443
nodePort: 30443 # 添加此项
type: NodePort # 添加此项
selector:

image: 10.0.0.19:80/google_containers/dashboard:v2.5.0
image: 10.0.0.19:80/google_containers/metrics-scraper:v1.0.7

k8s-app: kubernetes-dashboard
#NodePort 可以在所有的节点上都开启一个端口用于dashboard访问

2.在镜像仓库把所需要的dashboard镜像包推送到仓库

root@ubuntu:/data/images# docker load <k8s-dashboard-v2.5.0.tar
9a0aeb96e135: Loading layer  225.8MB/225.8MB
3b826fdb7663: Loading layer  3.072kB/3.072kB
Loaded image: 10.0.0.19:80/google_containers/dashboard:v2.5.0
10d0ebb29e3a: Loading layer  34.45MB/34.45MB
7813555162f0: Loading layer  3.584kB/3.584kB
Loaded image: 10.0.0.19:80/google_containers/metrics-scraper:v1.0.7
root@ubuntu:/data/images# docker login 10.0.0.19:80
Authenticating with existing credentials... [Username: baiyanfei]

i Info → To login with a different account, run 'docker logout' followed by 'docker login'


Login Succeeded
root@ubuntu:/data/images# docker push 10.0.0.19:80/google_containers/dashboard:v2.5.0
The push refers to repository [10.0.0.19:80/google_containers/dashboard]
3b826fdb7663: Pushed 
9a0aeb96e135: Pushed 
v2.5.0: digest: sha256:d90e2cafc0c70db0f8c7bc3ce180c8ca8a88d3216a53a7cf6784341733223b74 size: 736
root@ubuntu:/data/images# docker push 10.0.0.19:80/google_containers/metrics-scraper:v1.0.7
The push refers to repository [10.0.0.19:80/google_containers/metrics-scraper]
7813555162f0: Pushed 
10d0ebb29e3a: Pushed 
v1.0.7: digest: sha256:76eb73afa0198ac457c760887ed7ebfa2f58adc09205bd9667b3f76652077a71 size: 736

3.本地部署

root@k8s-master:/data/mykubernetes/dashboard# kubectl apply -f dashboard-v2.5.0.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
root@k8s-master:/data/mykubernetes/dashboard# kubectl get pods -A
NAMESPACE              NAME                                         READY   STATUS    RESTARTS       AGE

kubernetes-dashboard   dashboard-metrics-scraper-64f9f9f8d7-rjkdm   1/1     Running   0              23s
kubernetes-dashboard   kubernetes-dashboard-6745f468b6-bm9kg        1/1     Running   0              23s

4.在页面输入地址https://10.0.0.71:30443/#/login,由于页面https保护,

在这里插入图片描述

然后获取token

root@k8s-master:/data/dashboard# 
root@k8s-master:/data/mykubernetes/dashboard# kubectl create serviceaccount dashboard-admin -n kube-system
serviceaccount/dashboard-admin created
root@k8s-master:/data/dashboard# kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin created
root@k8s-master:/data/dashboard# kubectl -n kube-system get secret | grep dashboard-admin
dashboard-admin-token-rzztj                      kubernetes.io/service-account-token   3      64s
root@k8s-master:/data/dashboard# kubectl describe secrets -n kube-system dashboard-admin-token-rzztj  
Name:         dashboard-admin-token-rzztj
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin
              kubernetes.io/service-account.uid: a26e7405-cbdb-45b0-a2cc-54858ee82c26

Type:  kubernetes.io/service-account-token

Data
====
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IndDd1pYTjdBR3FFQy0wa3NyakN4dGx2a0FuLTBnY3pHbXBMN3ZXeWdkRjQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tcnp6dGoiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiYTI2ZTc0MDUtY2JkYi00NWIwLWEyY2MtNTQ4NThlZTgyYzI2Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.TKwAg2i7vHeKw1tYQ8DVPnL5gL1YhFNTqPeXqQ0T8D-N1-pcBifbOY_c3P7Ctj6rb7I7r_cQDjPCXTPqrj3h6acllDKWBQ2ussDzpY63UYFVOV_9wWMQwu2mpsJswRLUqwY-0BPSClaNl04ygbcOp8ugPhdJufY4zU-fFIhKEWJnVlaTrwwerch6usGyUXdFRhhsiSn_how97Cl3pT7oHJZNiooIA6Jed2E7zzYNDCOpUiypbEI6AR5-Ci9LEcHBBADQJSm9y36q8WQNKvMAqMu0orOjcPEejEH5zwazScFZ6UJeBbPoBOJEW25kNLU43zWhzjCGQAO9vO_h0xUSzQ
ca.crt:     1099 bytes
namespace:  11 bytes
root@k8s-master:/data/mykubernetes/dashboard# ls

要想输入到这个页面,需要在错误页面输入thisisunsafe

在这里插入图片描述

5.登录查看

在这里插入图片描述

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐