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

参考资料

相关推荐
2401_836836594 小时前
k8s配置管理
云原生·容器·kubernetes
一切顺势而行4 小时前
k8s 使用docker 安装教程
docker·容器·kubernetes
霖檬ing4 小时前
K8s——配置管理(1)
java·贪心算法·kubernetes
澜兮子4 小时前
k8s-服务发布基础
云原生·容器·kubernetes
小安运维日记4 小时前
CKS认证 | Day4 最小化微服务漏洞
安全·docker·微服务·云原生·容器·kubernetes
2401_836836594 小时前
k8s服务发布进阶
云原生·容器·kubernetes
裁二尺秋风7 小时前
CI/CD — DevOps概念之实现k8s持续交付持续集成(一)
ci/cd·kubernetes·devops
云上小朱10 小时前
问题处理-k8s环境中,hadoop端口9000无法被访问
kubernetes
敖行客 Allthinker14 小时前
云原生安全观察:零信任架构与动态防御的下一代免疫体系
安全·ai·云原生·架构·kubernetes·ebpf