Files
docker_practice/14_kubernetes_setup/14.7_dashboard.md
T

60 lines
2.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 14.7 可视化管理界面
[Kubernetes Dashboard](https://github.com/kubernetes-retired/dashboard) 是历史上常用的 Kubernetes Web UI,但项目已停止维护。
> **注意**Kubernetes 官方文档已将 Dashboard 标记为 deprecated and unmaintained新安装建议考虑 [Headlamp](https://headlamp.dev/) 等仍在维护的替代方案。以下 Dashboard 内容仅供历史迁移或存量环境参考。
![](../_images/kubernetes-dashboard-ui.png)
### 14.7.1 推荐替代Headlamp
Headlamp Kubernetes SIG UI 下的现代 Web UI可通过 Helm 安装
```bash
$ helm repo add headlamp https://kubernetes-sigs.github.io/headlamp/
$ helm install headlamp headlamp/headlamp --namespace kube-system
```
本地访问时优先使用端口转发避免直接把管理界面暴露到公网
```bash
$ kubectl -n kube-system port-forward svc/headlamp 4466:80
```
### 14.7.2 历史 Dashboard 部署
Dashboard 7.0+ 版本仅支持通过 Helm 安装
```bash
$ helm repo add kubernetes-dashboard https://kubernetes-retired.github.io/dashboard/
$ helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard \
--create-namespace --namespace kubernetes-dashboard
```
### 14.7.3 访问
通过端口转发访问 Dashboard
```bash
$ kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-kong-proxy 8443:443
```
然后在浏览器打开 `https://localhost:8443` 即可访问
### 14.7.4 登录
为历史 Dashboard 创建只读服务账户并获取短期登录令牌不要为 Dashboard 创建 `cluster-admin` 绑定如果确实需要临时管理员权限应走单独的 break-glass 审批和审计流程
```bash
$ kubectl create sa dashboard-readonly -n kubernetes-dashboard
$ kubectl create clusterrolebinding dashboard-readonly \
--clusterrole=view \
--serviceaccount=kubernetes-dashboard:dashboard-readonly
$ kubectl create token dashboard-readonly -n kubernetes-dashboard --duration=1h
```
将输出的令牌粘贴到登录页面即可登录