介绍
这是一个系列
- 大前端时代,使用容器探索开源的 Golang 微服务模板项目
- 大前端时代,FEer 聊 12factor-App Go 微服务项目 Podinfo 之开篇
- 大前端时代,FEer 聊 12factor-App Go 微服务项目 Podinfo 之 K8S 从 0 到 1 自建实战篇
- 大前端时代,FEer 聊 12factor-App Go 微服务项目 Podinfo 之 K8S Cert-Manager 与 Let’s Encrypt 实战
- 大前端时代,FEer 聊 12factor-App Go微服务项目 Podinfo 之 Helm 3 部署 Traefik 2 实战篇
项目地址
kubernetes-dashboard 是什么?
Kubernetes仪表板是用于Kubernetes集群的基于web的通用UI。它允许用户管理集群中运行的应用程序并对它们进行故障排除,还可以管理集群本身。
上云☁️
Helm V3
域名
这里是 k8s.cloud-fe.com
,已解析到集群。
Chart Values.yaml
kubernetes-dashboard helm hub:里面的 Configuration
一节有详细的配置项,大家根据需要来。
kubernetes-dashboard-values.yaml
:
ingress:
enabled: true
annotations:
ingress.kubernetes.io/ssl-redirect: "true"
ingress.kubernetes.io/proxy-body-size: "0"
kubernetes.io/ingress.class: "traefik"
traefik.ingress.kubernetes.io/router.tls: "true"
traefik.ingress.kubernetes.io/router.entrypoints: websecure
hosts:
- k8s.cloud-fe.com
tls:
- secretName: cloudfe-cert-tls
hosts:
- k8s.cloud-fe.com
安装
# 添加 kubernetes-dashboard 仓库
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
# 我这里直接把它放在 `kube-system` 名称空间,它的 release 名字是 `kubernetes-dashboard`
helm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard -f kubernetes-dashboard-values.yaml -n kube-system
一切顺利会出现如下提示:
我们访问下 k8s.cloud-fe.com/ :
但是,现在还没有办法进入管理面板。我们需要创建一个身份验证 Token(RBAC:基于角色的访问控制
),然后用它来登录。
创建 Service Account
在 kube-system
命名空间中创建一个名为 admin-user
的 Service Account
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
EOF
创建 ClusterRoleBinding
在大多数情况下,在使用 kops
、kubeadm
或任何其他流行工具配置集群之后,集群中已经存在ClusterRole
cluster-admin
。我们可以使用它并仅为我们的 ServiceAccount
创建ClusterRoleBinding
。如果它不存在,那么您需要首先创建此角色并手动授予所需的特权。
cat <<EOF | kubectl apply -f -
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: kube-system
EOF
获取 Bearer Token
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
正常会如下所示:
登录
我们复制 token
,然后登录进去:
完美؏؏☝ᖗ乛◡乛ᖘ☝؏؏!