由于 Docker Desktop 自带 Kubernetes 选项,对于新手来说安装 Kubernetes 省心不少。 在安装过程中容易出问题的地方是 Windows 版本不满足最低要求,比如 Windows 10 家庭版很可能安装 Docker Desktop 不成功,对于系统是 Win7/Win8/Win10 家庭版的用户可尝试通过 Docker Toolbox 安装 Docker Desktop。
安装 WSL2/Hyper-V
对于不同的 Windows 版本,需要安装 WSL2 或者 Hyper-V。请结合实际的 Windows 版本,搜索对应的教程安装 WSL2 或者 Hyper-V,比如可以参考以下教程:
下载 Docker Desktop for windows
可以通过点击 链接 进入 Docker 官方安装指南页面下载安装包。
安装 Docker Desktop
双击下载完成的 "Docker Desktop Installer.exe" 去安装 Docker Desktop。
备注:如果在安装确认中提示 "Use WSL 2 instead of Hyper-V" 选项, 请根据步骤 "安装 WSL2/Hyper-V" 使用的方式选择。
安装 Kubernetes
勾上 "Enable Kubernetes" 然后点击 "Apply & restart" 安装 Kubernetes。
部署 Kubernetes 仪表盘
默认情况下不会部署 Dashboard,可以通过以下命令部署。
bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
如果上述命令执行出错,可以在浏览器打开网址 recommended.yaml 并另存到本地,然后执行以下命令。
kubectl apply -f 替换成实际的文件路径
创建示例用户
新建文件保存下方创建 ServiceAccount 的内容,假设该文件的名称是 dashboard-service-account-adminuser.yaml。
yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
执行以下命令生效上述 dashboard-service-account-adminuser.yaml 配置。
kubectl apply -f dashboard-service-account-adminuser.yaml
新建文件保存下方创建 ClusterRoleBinding 的内容,假设该文件的名称是 dashboard-cluster-role-binging-adminuser.yaml。
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
执行以下命令生效上述 dashboard-cluster-role-binging-adminuser.yaml 配置。
kubectl apply -f dashboard-cluster-role-binging-adminuser.yaml
新建文件保存下方创建 Secret 的内容,假设该文件的名称是 dashboard-secret-adminuser.yaml。(用于获取长期访问令牌 long-lived Bearer Token)
yaml
apiVersion: v1
kind: Secret
metadata:
name: admin-user
namespace: kubernetes-dashboard
annotations:
kubernetes.io/service-account.name: "admin-user"
type: kubernetes.io/service-account-token
执行以下命令生效上述 dashboard-secret-adminuser.yaml 配置。
kubectl apply -f dashboard-secret-adminuser.yaml
启用 Kubernetes 仪表盘
执行以下命令启用 Dashboard。
kubectl proxy
访问 Kubernetes 仪表盘
可以通过以下命令获取 Token。
sql
kubectl -n kubernetes-dashboard create token admin-user
或者通过以下命令获取长期访问 token。(以下命令在 PowerShell 下执行可能会出错,可使用 Git Bash 执行)
ini
kubectl get secret admin-user -n kubernetes-dashboard -o jsonpath={".data.token"} | base64 -d
通过上述获取的 token 登录进入仪表盘。
参考资料
- Docker 官方安装指南 Install Docker Desktop on Windows | Docker Docs
- Kubernetes 官方文档 部署和访问 Kubernetes 仪表板(Dashboard) | Kubernetes
- 微软官方文档 Install WSL | Microsoft Learn