为Kubernetes(k8s)集群安装仪表盘(Dashboard)

简介: 为Kubernetes(k8s)集群安装仪表盘(Dashboard)

文档说明

对应本片文章的视频教程地址:https://www.bilibili.com/video/BV1MF41197RS/?vd_source=98deeeab6739fa30792cfcffa994b50e

在之前的文章当中我们搭建了一个kubernetes集群,文章地址:

https://blog.csdn.net/m0_51510236/article/details/130842122

这篇文章我们依照官方文档为这个kubernetes集群安装仪表盘(Dashboard),官方文档地址:

https://v1-26.docs.kubernetes.io/zh-cn/docs/tasks/access-application-cluster/web-ui-dashboard/

因为我们之前搭建的kubernetes集群是1.26版本的,如图:

所以我们这次也是按照1.26版本的官方文档进行仪表盘的安装

部署仪表盘(Dashboard UI)

首先我们需要下载部署仪表盘的yaml文件,下载地址:https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml,然后我们需要修改一个地方,那就是大概从32行开始,创建了一个Service:

但是这个Service没有指定类型,如果没有制定类型那么默认为 ClusterIP,我们都知道 ClusterIP 是无法在集群外部访问的,所以我们需要修改一下这个Service的type,如果你像我上一篇文章一样安装了MetalLB,那么你可以直接将类型改为 LoadBalancer,如果你没有安装,那么建议你将类型改为 NodePort,为了考虑到有一些小伙伴没有安装MetalLB,那么我在这就直接使用类型为 NodePort 的Service,修改yaml文件:

这一步不修改也可以,但是之后你需要使用Ingress去暴露服务,比较麻烦,所以这一步建议修改

然后直接将这个文件复制到k8s的主节点当中去执行:

kubectl apply -f recommended.yaml

可以查看执行结果:

接下来我们使用这行命令监控仪表盘是否安装完成:

watch kubectl get all -o wide -n kubernetes-dashboard

当READY和STATUS的状态和我一样的时候,说明你的仪表盘已经安装成功

访问 Dashboard 用户界面

我们使用如下命令查看 kubernetes-dashboard Service暴露的端口:

kubectl get svc -n kubernetes-dashboard -o wide

执行这样命令之后可以看到这个服务在我的集群当中暴露的端口为 30701 :

接下来我就可以通过任意一个节点的IP地址加上这个端口来访问这个仪表盘界面了(⚠️注意一定要用https请求哦),访问格式:

https://<任意一个节点的IP地址>:30701

看到这个界面代表你的仪表盘界面一个访问成功,按照我的提示点击即可访问:

之后我们会来到这个界面:

我们需要生成一个token来登陆这个系统,接下来我们继续参考官方文档,文档地址:https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md,可以查看具体内容:

接下来我们可以按照提示创建yaml文件并执行即可,内容我已经提取出来了,直接执行以下命令即可创建这个yaml文件(名字为:dashboard-adminuser.yaml):

cat > dashboard-adminuser.yaml << EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
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: kubernetes-dashboard
EOF

查看文件内容:

接下来我们直接执行这个文件:

kubectl apply -f dashboard-adminuser.yaml

执行结果:

接下来我们可以直接使用以下命令生成token:

kubectl -n kubernetes-dashboard create token admin-user

可以查看创建结果:

下面输出的这一串就是生成的token(注意用你自己的):

eyJhbGciOiJSUzI1NiIsImtpZCI6ImdGX1I2dDlKeDFXMWREVkNId01NZnJVYmxNSTMtb0ZXZjF1RVNJaUVCd2MifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNjg5MDY0MTIyLCJpYXQiOjE2ODkwNjA1MjIsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbi11c2VyIiwidWlkIjoiYWU4ZjdjMzMtMjg3Zi00ODcyLWJkY2QtZmQ2NzBhNmY1YjBiIn19LCJuYmYiOjE2ODkwNjA1MjIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDphZG1pbi11c2VyIn0.Neeew8FSavlYGU8P32rsPyT77Cx4LlmssueDrPPMRrwsp8jPFt1CO7471EPppzCGZE-IWlqnPHy_ze6eHXj61L6qx2Xm-DDKVR2Bqr3OFdCModrTGcJUnvgsjoa2j82I5B6JBotIgxPVcmESeE0wpNcrNRqbnsaWX5vr2NCzJEABZJI-gjw2cLigKO8lf7yd6uq-1obN9qbslUTnJeog_lPWDzHDU357nVq5RulyZp-oEsBbudWtqyx2h3XD69lV2nJ8sX-0p_Z-xyB2GzKkKRHeI5BhpMrrQomkXNx73um1qNUriQtFiSdrTQ_otR6rnPm6_h4NvL0FwOo_6sys6A

将这段token直接粘贴到登陆界面当中,然后点击登陆:

接下来我们就进入了这个仪表盘界面了:

好的,Kubernetes的仪表盘搭建完毕!

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3月前
|
人工智能 算法 调度
阿里云ACK托管集群Pro版共享GPU调度操作指南
本文介绍在阿里云ACK托管集群Pro版中,如何通过共享GPU调度实现显存与算力的精细化分配,涵盖前提条件、使用限制、节点池配置及任务部署全流程,提升GPU资源利用率,适用于AI训练与推理场景。
359 2
|
3月前
|
弹性计算 监控 调度
ACK One 注册集群云端节点池升级:IDC 集群一键接入云端 GPU 算力,接入效率提升 80%
ACK One注册集群节点池实现“一键接入”,免去手动编写脚本与GPU驱动安装,支持自动扩缩容与多场景调度,大幅提升K8s集群管理效率。
273 89
|
8月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
ACK One 的多集群应用分发,可以最小成本地结合您已有的单集群 CD 系统,无需对原先应用资源 YAML 进行修改,即可快速构建成多集群的 CD 系统,并同时获得强大的多集群资源调度和分发的能力。
346 9
|
8月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
本文介绍如何利用阿里云的分布式云容器平台ACK One的多集群应用分发功能,结合云效CD能力,快速将单集群CD系统升级为多集群CD系统。通过增加分发策略(PropagationPolicy)和差异化策略(OverridePolicy),并修改单集群kubeconfig为舰队kubeconfig,可实现无损改造。该方案具备多地域多集群智能资源调度、重调度及故障迁移等能力,帮助用户提升业务效率与可靠性。
|
4月前
|
存储 Kubernetes 网络安全
关于阿里云 Kubernetes 容器服务(ACK)添加镜像仓库的快速说明
本文介绍了在中国大陆地区因网络限制无法正常拉取 Docker 镜像的解决方案。作者所在的阿里云 Kubernetes 集群使用的是较旧版本的 containerd(1.2x),且无法直接通过 SSH 修改节点配置,因此采用了一种无需更改 Kubernetes 配置文件的方法。通过为 `docker.io` 添加 containerd 的镜像源,并使用脚本自动修改 containerd 配置文件中的路径错误(将错误的 `cert.d` 改为 `certs.d`),最终实现了通过多个镜像站点拉取镜像。作者还提供了一个可重复运行的脚本,用于动态配置镜像源。虽然该方案能缓解镜像拉取问题,
517 2
|
10月前
|
存储 Kubernetes 监控
K8s集群实战:使用kubeadm和kuboard部署Kubernetes集群
总之,使用kubeadm和kuboard部署K8s集群就像回归童年一样,简单又有趣。不要忘记,技术是为人服务的,用K8s集群操控云端资源,我们不过是想在复杂的世界找寻简单。尽管部署过程可能遇到困难,但朝着简化复杂的目标,我们就能找到意义和乐趣。希望你也能利用这些工具,找到你的乐趣,满足你的需求。
952 33
|
10月前
|
存储 运维 Kubernetes
容器数据保护:基于容器服务 Kubernetes 版(ACK)备份中心实现K8s存储卷一键备份与恢复
阿里云ACK备份中心提供一站式容器化业务灾备及迁移方案,减少数据丢失风险,确保业务稳定运行。
|
Kubernetes 容器
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(五)
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(五)
250 0
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(五)
|
Kubernetes 容器
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(四)
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(四)
222 0
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(四)
|
Kubernetes 应用服务中间件 API
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(二)
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(二)
228 0
KUBERNETES03_k8s对象是什么、如何管理、命名空间、代码自动补全提示(二)

热门文章

最新文章

推荐镜像

更多