K8S Dashboard部署

123 阅读1分钟

image.png

前言

官方文档

链接:kubernetes.io/docs/tasks/…

部署UI

官方文档中下载和部署资源用了一条命令,一步到位,个人习惯将资源文件保存下来,分两步做。

下载资源

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

如果raw.githubusercontent.com这个网站访问不了,可以在机器的hosts文件中添加映射:199.232.68.133 raw.githubusercontent.com,再次下载即可。

部署资源

大家都是知道,在k8s中,资源都是通过yaml来描述的,即刚才下载的文件,使用kubectl来部署资源,执行以下命令。

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

访问Dashboard

点击官方创建样例用户连接会有相应指导文档,同样我将相应的资源文件内容保存了一下。

image.png

定义用户资源

dashboard-adminuser.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard

定义集群角色绑定资源

dashboard-ClusterRoleBinding.yaml

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 create -f dashboard-adminuser.yaml
kubectl create -f dashboard-ClusterRoleBinding.yaml

获取Token

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}}"

image.png

启动代理

kubectl proxy

image.png

访问地址

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

image.png

输入刚才生成的Token即可登录。

image.png