步骤1:安装 Docker Desktop 4.16.3 在 Windows 上安装 Kubernetes 之前,你需要先安装 Docker Desktop。这可以在 Docker 的官方网站上找到并下载。 下载地址: https://desktop.docker.com/win/main/amd64/96739/Docker%20Desktop%20Installer.exe Docker Desktop 4.16.3对应的k8s版本为 Kubernetes: v1.25.4如下图: 国内访问githubusercontent需要在 C:WindowsSystem32driversetchost 中追加如下 199.232.68.133 raw.githubusercontent.com 步骤2:下载Kubernetes需要的镜像 先安装 Cygwin64 Terminal 允许在window环境下运行sh脚本,然后创建 load_images.sh 脚本,内容如下: #!/bin/bash #Docker Desktop:v4.16.3、Kubernetes: v1.25.4 #配置数组数据 array=("A" "B") array=("registry.cn-hangzhou.aliyuncs.com/kubernetes_v1-25-4/desktop-kubernetes:kubernetes-v1.25.4-cni-v1.1.1-critools-v1.25.0-cri-dockerd-v0.2.6-1-debian=hubproxy.docker.internal:5000/docker/desktop-kubernetes:kubernetes-v1.25.4-cni-v1.1.1-critools-v1.25.0-cri-dockerd-v0.2.6-1-debian" "registry.cn-hangzhou.aliyuncs.com/kubernetes_v1-25-4/kube-apiserver:v1.25.4=registry.k8s.io/kube-apiserver:v1.25.4" "registry.cn-hangzhou.aliyuncs.com/kubernetes_v1-25-4/kube-controller-manager:v1.25.4=registry.k8s.io/kube-controller-manager:v1.25.4" "registry.cn-hangzhou.aliyuncs.com/kubernetes_v1-25-4/kube-proxy:v1.25.4=registry.k8s.io/kube-proxy:v1.25.4" "registry.cn-hangzhou.aliyuncs.com/kubernetes_v1-25-4/kube-scheduler:v1.25.4=registry.k8s.io/kube-scheduler:v1.25.4" "registry.cn-hangzhou.aliyuncs.com/kubernetes_v1-25-4/etcd:3.5.5-0=registry.k8s.io/etcd:3.5.5-0" "registry.cn-hangzhou.aliyuncs.com/kubernetes_v1-25-4/pause:3.8=registry.k8s.io/pause:3.8" "registry.cn-hangzhou.aliyuncs.com/kubernetes_v1-25-4/coredns:v1.9.3=registry.k8s.io/coredns/coredns:v1.9.3" "registry.cn-hangzhou.aliyuncs.com/kubernetes_v1-25-4/desktop-vpnkit-controller:v2.0=docker/desktop-vpnkit-controller:v2.0" "registry.cn-hangzhou.aliyuncs.com/kubernetes_v1-25-4/desktop-storage-provisioner:v2.0=docker/desktop-storage-provisioner:v2.0") for item in ${array[@]} do OLD_IFS="$IFS" #保存当前shell默认的分割符,一会要恢复回去 IFS="=" #将shell的分割符号改为,"" itemArr=($item) #分割符是",","hello,shell,split,test" 赋值给array 就成了数组赋值 IFS="$OLD_IFS" #恢复shell默认分割符配置 #echo "${itemArr[0]}=${itemArr[1]}" #读取数据 docker pull ${itemArr[0]} docker tag ${itemArr[0]} ${itemArr[1]} docker rmi ${itemArr[0]} done 然后去除Window环境下编辑Shell脚本的r,打开Cygwin64 Terminal进入到load_images.sh同级目录运行 sed -i "s/r//" load_images.sh PS:小编已经把window环境下的k8s需要的镜像提交国内镜像上,使用本脚本下载速度要快许多。也可自行搜索镜像下载 步骤3:安装Kubernetes 等docker镜像下载完后进入Docker Desktop ->Settings -> Kubernetes ->勾选 Enable Kubernetes 然后点击 Apply & Restart,等待如下图: 当左下角K8s图标变绿了说明安装成功,如下图: 打开Cygwin64 Terminal输入如下验证版本是否安装成功 kubectl version 如下图: 步骤4:安装 Kubernetes 仪表板 一旦 Kubernetes 启动,你可以通过访问 Kubernetes 仪表板来管理你的 Kubernetes 环境。你可以使用以下命令访问 Kubernetes 仪表板: wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml #下载recommended.yaml 然后编辑#备注部分 kind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboard spec: type: NodePort #设定NodePort ports: - port: 443 targetPort: 8443 nodePort: 31443 #设定为固定端口 selector: k8s-app: kubernetes-dashboard ... args: - --auto-generate-certificates - --token-ttl=86400 #增加 (修改kubernetes-dashboard默认token认证时间) - --namespace=kubernetes-dashboard ...kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml #安装Dashboard kubectl get pod -n kubernetes-dashboard #查看是否在运行 kubectl apply -f kube-system-default.yaml #添加默认账号 kubectl get pods -n kube-system #查看pods情况 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml #必须安装Pod网络CNI插件 kubectl get pods -n kube-system #查看 pods 情况 kubectl proxy --port=8001 #启动dashboard服务 kubectl -n kube-system describe secret default #获取Token 启动dashboard服务后再浏览器输入: http://127.0.0.1:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login #查看Dashboard服务。如下图: 步骤5:安装hello world 测试 kubectl create deployment web --image=linkinstar/mini-go:v1.0 #创建镜像 kubectl get pods kubectl expose deployment web --type=NodePort --port=8080 --name=web #暴露端口 kubectl get svc #查看启动服务 curl http://127.0.0.1:#验证服务器是否能正常访问 例如 curl http://127.0.0.1:30418 PS:返回 hello world netstat -anp | grep 8080 #查看占用端口 或 lsof -i :8080 kill #结束进程