JAVA全系列 教程
3762个小节阅读:7091.9k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
部署Dashboard,让K8s可视化
访问下面的网址查询K8s版本与dashboard的兼容性
xxxxxxxxxx
https://github.com/kubernetes/dashboard/releases
我们安装的K8s是1.23版本,因此选择v2.5.0的dashboard并下载相应版本的recommended.yaml配置文件。
xxxxxxxxxx
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml
xxxxxxxxxx
[root@k8s-master ~]# kubectl apply -f recommended.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
Warning: spec.template.spec.nodeSelector[beta.kubernetes.io/os]: deprecated since v1.14; use "kubernetes.io/os" instead
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
Warning: spec.template.metadata.annotations[seccomp.security.alpha.kubernetes.io/pod]: deprecated since v1.19, non-functional in v1.25+; use the "seccompProfile" field instead
deployment.apps/dashboard-metrics-scraper created
xxxxxxxxxx
[root@k8s-master ~]# kubectl get pods -n kubernetes-dashboard
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-5f6ccbd9c4-6jv2p 1/1 Running 0 52s
kubernetes-dashboard-597bf6cb58-8srnq 1/1 Running 0 52s
xxxxxxxxxx
[root@k8s-master ~]# kubectl get svc -n kubernetes-dashboard
NAMESPACE NAME TYPE
kubernetes-dashboard dashboard-metrics-scraper ClusterIP 10.99.58.165 <none> 8000/TCP 100s
kubernetes-dashboard kubernetes-dashboard ClusterIP 10.111.103.246 <none> 443/TCP 101s
dashboard服务的namespace是kubernetes-dashboard,但是该服务的类型是ClusterIP,不便于我们通过浏览器访问,因此需要改成NodePort型的。 需要删除现有的dashboard服务。
xxxxxxxxxx
[root@k8s-master ~]# kubectl delete service kubernetes-dashboard --namespace=kubernetes-dashboard
xxxxxxxxxx
# 内容
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
执行下面的命令,创建新的服务
xxxxxxxxxx
# 执行
[root@k8s-master ~]#kubectl apply -f dashboard-svc.yaml
再次查看服务
xxxxxxxxxx
[root@k8s-master local]# kubectl get svc -n kubernetes-dashboard
NAMESPACE NAME TYPE
kubernetes-dashboard dashboard-metrics-scraper ClusterIP 10.99.58.165 <none> 8000/TCP 12m
kubernetes-dashboard kubernetes-dashboard NodePort 10.107.245.137 <none> 443:31407/TCP 3m29s
创建配置文件,dashboard-svc-account.yaml
xxxxxxxxxx
# 结果
apiVersion: v1
kind: ServiceAccount
metadata:
name: dashboard-admin
namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: dashboard-admin
subjects:
- kind: ServiceAccount
name: dashboard-admin
namespace: kube-system
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
xxxxxxxxxx
# 执行
kubectl apply -f dashboard-svc-account.yaml
xxxxxxxxxx
[root@k8s-master local]# kubectl get secret -n kube-system |grep admin|awk '{print $1}'
dashboard-admin-token-nv8gt
xxxxxxxxxx
[root@k8s-master local]# kubectl describe secret dashboard-admin-token-6zbfk -n kube-system|grep '^token'|awk '{print $2}'
eyJhbGciOiJSUzI1NiIsImtpZCI6IlFZNWR0QmhsX2hxR21UaTdtMXBGT3FWQWRNcl8xQk1lQTJhUDZIdXFTeEEifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tNnpiZmsiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiMGI5Y2MzZGYtMmFmYi00ZmI3LWFjNmEtNDgzZmYzODAwYmViIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.KDZCeyPMPHDIokQ4FO3DAxCccCU0ubwBZwrCozP7ftTp-RSrrLQ85NCOv8HE2g1rzpK3OawFPMzacrETpeS1upfJd_qSO7Vh-7TbinSAi11yh5a5S9Y7FT0a-2XhWMcRC3fBTeMFqtRpBmaqQHiIUv1jY5iGIFm4ib_G7YAlvPra4J9GyB4k1QxKezaZ_HO__CYNjp5NSQKcwWDBRiSeRM_wayIDGC0FkbkMmICSQZsmbu7yiMxVysJOuej9b4ctkXPTImYyhISbYL3CHSZ2oVMVgMD0qNOVb-hTcTDTBf7P5aG0bjC038i7LnqDzvHy-31T_lVwao90TfBpKmjt6g
复制生成的 token,后面登陆的时候要用到
至此控制台安装完成。