k8s基础_k8s部署Dashboard
·
一: 拉取dashboard镜像
镜像有两个,三台机器全都要有镜像。因为POD可能随机分配到其他node节点
# 拉取镜像
docker pull kubernetesui/dashboard:v2.4.0
docker pull kubernetesui/metrics-scraper:v1.0.8
# 给镜像打标签(目的是匹配清单中的镜像名)
docker tag kubernetesui/dashboard:v2.4.0 k8s.gcr.io/kubernetes-dashboard/dashboard:v2.4.0
docker tag kubernetesui/metrics-scraper:v1.0.8 k8s.gcr.io/kubernetes-dashboard/metrics-scraper:v1.0.8
注意:如果镜像下载失败,我们可以先下载到windows中,然后通过以下命令进行上传
docker load < kubernetesui-dashboard-v2.4.0.tar
docker load < kubernetesui-metrics-scraper-v1.0.8.tar
二: 加载资源清单
#1.0 先下载资源清单文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
#2.0 修改配置文件
# 1. 把metrics-scraper版本v1.0.7→v1.0.8 2. 把dashboard的镜像拉取策略Always→IfNotPresent
sed -i -e 's#kubernetesui/metrics-scraper:v1.0.7#kubernetesui/metrics-scraper:v1.0.8#g' -e 's#imagePullPolicy: Always#imagePullPolicy: IfNotPresent#g' recommended.yaml
#3.0 apply配置文件
kubectl apply -f recommended.yaml
三: 编辑dashboard配置
#
kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
注意大小写将 type: ClusterIP 改为 type: NodePort
四: 查看dashboard端口
注意:这里的端口是随机生成的
[root@k8s-master ~]# kubectl get svc -A |grep kubernetes-dashboard
kubernetes-dashboard dashboard-metrics-scraper ClusterIP 10.106.222.243 <none> 8000/TCP 31d
kubernetes-dashboard kubernetes-dashboard NodePort 10.109.96.246 <none> 443:32076/TCP 31d
五: 创建访问账号
# 编辑配置文件
vi dash.yaml
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
# 加载配置文件
kubectl apply -f dash.yaml
六: 获取访问令牌
# 通过这个命令后,我们会获得域密钥,我们暂时用记事本保存下来
kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
七: 浏览器访问
https://192.168.88.129:32076/
如果访问失败:
# 我们先查看pod是否有问题
kubectl get pods -n kubernetes-dashboard
# 删除异常的Pod,K8S会自动重建,优先使用本地镜像
kubectl delete pods --all -n kubernetes-dashboard
# 重建后再执行
kubectl get pods -n kubernetes-dashboard
更多推荐
所有评论(0)