在 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 登录进入仪表盘。

参考资料

相关推荐
谷隐凡二16 小时前
Kubernetes主从架构简单解析:基于Python的模拟实现
python·架构·kubernetes
陈陈CHENCHEN16 小时前
SuperMap iManager for K8s 离线环境镜像仓库 Containerd 部署
kubernetes
会飞的小蛮猪18 小时前
Ubuntu24.04 基于Containerd部署K8s1.34(私服部署)
docker·云原生·kubernetes
间彧1 天前
Kubernetes滚动发布详解
kubernetes
间彧1 天前
在实际生产环境中,Kubernetes声明式API如何实现蓝绿部署、金丝雀发布等高级部署策略?
kubernetes
间彧1 天前
Kubernetes声明式API相比传统命令式API在故障恢复场景下的具体优势有哪些?
kubernetes·github
间彧1 天前
为什么说Kubernetes的API设计是其成功的关键因素之一?
kubernetes
间彧1 天前
Kubernetes Deployment 配置简化实战:从复杂到高效
kubernetes
可爱的小小小狼1 天前
k8s:服务网格Service Mesh(服务网格)istio和envoy
kubernetes·istio·service_mesh
稚辉君.MCA_P8_Java2 天前
Gemini永久会员 containerd部署java项目 kubernetes集群
后端·spring cloud·云原生·容器·kubernetes