k8s dashboard 部署安装

一、资源准备

安装 kubernetes dashboard 需要实现准备两个镜像包和一个yaml部署文件。

# 下载镜像包(有条件访问外网的话可以不用准备,后续直接拉取镜像)
[root@k8s-master ]# docker load -i dashboard-v2.7.0.tar
Loaded image: kubernetesui/dashboard:v2.7.0
[root@k8s-master ]# docker load -i metrics-scraper-v1.0.8.tar
Loaded image: kubernetesui/metrics-scraper:v1.0.8

# 下载对应版本的部署文件(我这里用的是v2.7.0)
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

二、安装部署

1、修改文件内容

为了方便,且之前镜像只有在主节点上load,这里也选择主节点上运行,并且通过nodePort暴露出端口进行访问。

官方默认给的模板内:kubernetes-dashboard的镜像拉取策略为always,可能会导致后续本地有镜像的情况下一直拉取镜像失败的问题,这里顺手改为IfNotPresent。

# 编辑yaml文件
[root@k8s-master ~]# vi recommended.yaml
32 kind: Service
...
43       nodePort: 30098
44   type: NodePort


170 kind: Deployment
...
187     spec:
188       nodeName: k8s-master.obboda.org
...
195           imagePullPolicy: IfNotPresent


256 kind: Deployment
...
273     spec:
274       nodeName: k8s-master.obboda.org

2、创建部署

文件内容修改完之后,直接进行部署操作。

[root@k8s-master ~]# kubectl apply -f recommended.yaml

3、创建 SA 绑定集群管理员

# 创建集群管理员级别的 ServiceAccount
[root@k8s-master ~]# kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard

# 绑定集群管理员角色
[root@k8s-master ~]# kubectl create clusterrolebinding dashboard-admin-binding \
 --clusterrole=cluster-admin \
 --serviceaccount=kubernetes-dashboard:dashboard-admin

三、访问登录

访问方式(注意是https):https://IP:30098

这里分两种情况获取token:

1、token 获取:k8s 1.24版本之前

在k8s之前的版本,ServiceAccount 创建后会自动生成 Secret 令牌,并且永久生效:

# token存放在secret里面
[root@k8s-master ~]# kubectl -n kubernetes-dashboard get secret
NAME                               TYPE                                  DATA   AGE
dashboard-admin-token-t4tw6        kubernetes.io/service-account-token   3      40d
default-token-vg67f                kubernetes.io/service-account-token   3      40d
kubernetes-dashboard-certs         Opaque                                0      40d
kubernetes-dashboard-csrf          Opaque                                1      40d
kubernetes-dashboard-key-holder    Opaque                                2      40d
kubernetes-dashboard-token-kr75h   kubernetes.io/service-account-token   3      40d

# 通过 describe 去获取 token 内容
[root@k8s-master ~]# kubectl -n kubernetes-dashboard describe secret kubernetes-dashboard-token-kr75h

2、token 获取:k8s 1.24版本之后

在k8s之后的版本,ServiceAccount 创建后不会自动生成 Secret 令牌,只能通过手动去生成,并且默认有效时间为一小时:

# 默认有效时间为1小时
[root@k8s-master ~]# kubectl -n kubernetes-dashboard create token dashboard-admin

# 也可以指定有效时间范围
[root@k8s-master ~]# kubectl -n kubernetes-dashboard create token dashboard-admin --duration=168h

3、token 登录

拿到token之后就可以进行登录了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值