**Mac M1/M2 + Docker Desktop** 环境安装和部署 **Kubernetes Dashboard**

下面是在 Mac M1/M2 + Docker Desktop 环境中安装和部署 Kubernetes Dashboard 的详细教程(适用于学习和本地调试场景):

✅ 环境准备

1. 安装 Docker Desktop(含 K8s)

  • 前往 Docker Desktop 官网 下载适用于 macOS (Apple Silicon/M1/M2) 的版本并安装。

  • 打开 Docker Desktop,进入 Settings > Kubernetes,启用 Kubernetes

    ✅ 勾选 “Enable Kubernetes”,等待初始化完成(首次可能需要几分钟)。

  • 验证 Kubernetes 是否正常运行:

kubectl version --short
kubectl get nodes

🚀 安装 Kubernetes Dashboard

2. 部署 Dashboard(使用官方 YAML)

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

执行完成后,资源会部署在 kubernetes-dashboard 命名空间下:

kubectl get all -n kubernetes-dashboard

3. 创建访问 Dashboard 的用户

创建一个具有 admin 权限的 ServiceAccount 和 ClusterRoleBinding:

# dashboard-admin.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: admin-user
    namespace: kubernetes-dashboard

执行命令创建:

kubectl apply -f dashboard-admin.yaml

4. 获取登录令牌(token)

kubectl -n kubernetes-dashboard create token admin-user

会输出一段长 token,复制备用(用于登录 Dashboard)。

🔐 启动本地访问通道(kubectl proxy)

kubectl proxy

此命令会监听 http://localhost:8001

访问 Dashboard 地址:

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

🌟 登录 Dashboard

打开浏览器 → 输入上面地址 → 选择 Token 登录 → 粘贴 token 登录即可。

✅ 可选优化项(开发调试建议)

✅ 配置 Dashboard 使用 NodePort(跳过 kubectl proxy)

kubectl -n kubernetes-dashboard edit service kubernetes-dashboard

将 type: ClusterIP 改为:

type: NodePort

保存退出后执行:

kubectl get svc -n kubernetes-dashboard

你将看到分配的 NodePort,比如 32455,可以通过:

https://localhost:32455/

直接访问 Dashboard(需跳过浏览器证书警告)。


🧹 卸载 Kubernetes Dashboard

kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
kubectl delete -f dashboard-admin.yaml

📌 常见问题

❓ Dashboard 页面无法访问?

  • 确保 kubectl proxy 正常运行。

  • Dashboard 默认使用的是 HTTPS,如果手动配置 NodePort,需要跳过浏览器证书警告。

  • 可尝试 curl localhost:8001 检查代理是否工作。

❓ Mac M1/M2 Docker Desktop Kubernetes 很慢?

  • 确保分配的资源充足(建议在 Docker Desktop 设置中将内存调高如 4G+)。

  • 关闭多余容器,保持资源充足。

**❓ apply recommended.yaml 报错

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
Unable to connect to the server: net/http: TLS handshake timeout

这是国内网络不通的原因。

可以使用这样的执行命令:

curl -x socks5h://127.0.0.1:8119 -O https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

kubectl apply -f recommended.yaml

其中 socks5h://127.0.0.1:8119 为本地代理,8119对应代码的端口,要改成自己本机代理端口。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容