在 Windows 上安装 Kubernetes(K8s)

由于 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 仪表盘

点击 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 打开仪表盘。

可以通过以下命令获取 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 登录进入仪表盘。

参考资料

相关推荐
troy1289 小时前
阿里云 vs 谷歌云:Kubernetes 部署深度对比分析
阿里云·kubernetes·云计算
wzq11_66615 小时前
Kubernetes集群——Pod篇
云原生·容器·kubernetes
wzq11_66617 小时前
Kubernetes集群——命令篇
云原生·容器·kubernetes
troy1281 天前
K8s 平台测试清单:深度分析与实战指南
云原生·容器·kubernetes
陈陈CHENCHEN2 天前
【Kubernetes】纯 IPv6 K8s 集群访问外部 IPv4 服务
云原生·容器·kubernetes
troy1282 天前
如何在谷歌云(Google Cloud)上部署 Kubernetes 集群
云原生·容器·kubernetes
程序员清风2 天前
Docker、Nginx 与 Kubernetes 部署 AI 后端服务
nginx·docker·kubernetes
Zhu7582 天前
离线二进制部署-Kubernetes-v1.36.4
容器·贪心算法·kubernetes
程序猿阿越2 天前
containerd如何拉取镜像
后端·kubernetes·源码阅读
Elastic 中国社区官方博客2 天前
Kubernetes attributes processor v1:它对 EDOT Collector 意味着什么
java·大数据·elasticsearch·搜索引擎·贪心算法·kubernetes·全文检索