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

参考资料

相关推荐
前端Baymax7 小时前
K8s PodCrashLoopBackOff假阳性排查
云原生·容器·kubernetes
spider_xcxc7 小时前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
阿标在干嘛19 小时前
从物理机到K8s:政策快报平台的容器化部署实践
云原生·容器·kubernetes
张青贤21 小时前
Centos7离线部署K8s集群V1.28.8
云原生·容器·kubernetes·containerd·kubekey·离线部署
晴空了无痕1 天前
从 Go 基础到 K8s:一条可落地的 Go 服务端成长路线
开发语言·后端·golang·kubernetes
探索云原生1 天前
Kubernetes 官方出品:一个 Controller 搞定 Job 排队和资源配额
ai·云原生·kubernetes·scheduler
hay_lee1 天前
Kubernetes StatefulSet:OrderedReady 极简指南
云原生·容器·kubernetes
成为你的宁宁1 天前
【K8s HPA 水平扩缩容】
kubernetes·hpa
欢醉1 天前
k8s调度容器失败The node had condition: [DiskPressure]
kubernetes·springcloud
Hui Baby2 天前
K8S使用CRD和控制器简单应用
云原生·容器·kubernetes