windows环境下部署k8s

  1、安装docker Desktop;

   2、打开setting勾选启用k8s(参考了许多帖子,说需要预先下载镜像,直接勾选会被墙,应该是跟版本有关,目前使用的版本没有出现这类问题,只是确实会稍慢,如果需要加快可以先跳过勾选,先配置拉取镜像地址)

设置镜像拉取地址(视情况需要)

 "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"
  ]

3、下载k8s-for-docker-desktop

AliyunContainerService/k8s-for-docker-desktop

从查看docker对应k8s版本,github下载对应版本;

进入到下载后的k8s-for-docker-desktop文件中,按住Shift+右键进入PowerShell界面;
查看所有上下文 

kubectl config get-contexts

指定当前的上下文
kubectl config use-context docker-for-desktop

查看集群状态

kubectl cluster-info

kubectl get nodes

此时直接访问地址,会看到错误提示

4、再的k8s-for-docker-desktop文件打开的PowerShell界面中,执行以下命令
kubectl create -f kubernetes-dashboard.yaml
执行完成后,开启代理
kubectl proxy

5、打开浏览器,访问 Kubernetes Dashboard: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

6、配置控制台访问令牌

授权kube-system默认服务账号

kubectl apply -f kube-system-default.yaml

Windows环境

$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-desktop --token="${TOKEN}"
echo $TOKEN

复制上文控制台输出的token,粘贴到网页中点击登录

注:k8s-for-docker-desktop文件中README.md文件,详细描述了Docker Desktop for Mac/Windows 开启 Kubernetes的步骤,可对照进行操作

### 如何在 Windows部署和配置 Kubernetes (k8s) Dashboard #### 创建并启动本地 Minikube 环境 为了简化开发环境搭建过程,在 Windows 平台上推荐使用 Minikube 来创建单节点的 Kubernetes 集群。Minikube 支持多种 Hypervisor,如 Hyper-V 或者 VirtualBox。 ```powershell minikube start --vm-driver=hyperv # 如果使用Hyper-V作为虚拟机驱动程序 ``` #### 启用 Ingress 控制器以便外部访问 为了让 Kubernetes Dashboard 可以外部访问,启用 ingress 插件可以提供 HTTP(S) 访问路径: ```powershell minikube addons enable ingress ``` #### 下载并应用官方 YAML 文件来安装 Dashboard 组件 通过下载最新的稳定版 Kubernetes Dashboard 的 manifest 文件来进行资源定义,并将其应用于当前上下文中运行的集群内。 ```bash kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml ``` #### 设置管理员权限的服务账号与角色绑定关系 为确保安全性和功能性,需建立具有适当授权策略的服务账户以及相应的 ClusterRoleBinding 对象关联起来授予足够的操作许可权给用户界面组件。 ```yaml apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kube-system ``` 执行上述 YAML 内容以完成设置: ```powershell kubectl apply -f dashboard-adminuser.yaml ``` #### 获取 Token 进行身份验证登录 最后一步是从 Secret 中提取 token 字符串供后续浏览器端认证时使用。 ```powershell $secretName = $(kubectl get sa/admin-user -n kube-system -o jsonpath="{.secrets[0].name}") $k8sToken = $(kubectl get secret/$secretName -n kube-system -o jsonpath="{.data.token}" | base64 --decode) echo "Bearer $k8sToken" ``` #### 开启代理服务允许 Web 浏览器连接到 API Server 开启 kubectl proxy 实例使得前端页面能够顺利请求后端接口数据交互正常工作。 ```powershell start http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ kubectl proxy ``` 此时应该可以在默认浏览器里打开指定 URL 地址看到已成功加载出来的 Kubernetes Dashboard 登录页签入提示框了[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值