在Docker Destop启用k8s服务
作为目前事实上的容器编排系统标准,K8s 无疑是现代应用的基石。
本文主要是开启Docker Desktop for Win/Mac 的K8s服务。
关键词:docker,k8s
确定k8s版本
- 需安装 Docker Desktop 的 Mac 或者 Windows 版本,如果没有请下载下载 Docker CE最新版本
- 当前 master 分支已经在 Docker for Mac/Windows 4.4.2 (包含 Docker CE 20.10.12 和 Kubernetes 1.22.5) 版本测试通过
- 如果需要测试其他版本,请查看 Docker Desktop版本,Docker -> About Docker Desktop

切换到对应分支
在任意目录下clonek8s-for-docker-desktop
1 | git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git |
这里的Kubernetes版本为 v1.22.5, 故使用 v1.22.5
分支 git checkout v1.22.5
开启K8s
为 Docker daemon 配置镜像加速,参考阿里云镜像服务
或中科大镜像加速地址https://docker.mirrors.ustc.edu.cn

从阿里云镜像服务下载 Kubernetes 所需要的镜像
在 Mac 上执行如下脚本
1 | ./load_images.sh |
在Windows上,使用 PowerShell
1 | .\load_images.ps1 |
说明:
- 如果因为安全策略无法执行 PowerShell 脚本,请在 “以管理员身份运行” 的
PowerShell 中执行
Set-ExecutionPolicy RemoteSigned命令。 - 如果需要,可以通过修改
images.properties文件自行加载你自己需要的镜像

开启 Kubernetes,并等待 Kubernetes 开始运行

当左下角出现k8s的图标时,说明开启成功

TIPS:
在Mac上:
如果在Kubernetes部署的过程中出现问题,可以通过docker desktop应用日志获得实时日志信息:
1 | pred='process matches ".*(ocker|vpnkit).*" |
在Windows上:
如果在Kubernetes部署的过程中出现问题,可以在
C:\ProgramData\DockerDesktop下的service.txt 查看Docker日志,
在 C:\Users\yourUserName\AppData\Local\Docker下的log.txt
查看Kubernetes日志。
配置K8s
验证k8s集群状态
1 | kubectl cluster-info |

配置K8s控制台
1 | kubectl create -f kubernetes-dashboard.yaml |

检查 kubernetes-dashboard 应用状态
1 | kubectl get pod -n kubernetes-dashboard |

开启API Server 访问代理
1 | kubectl proxy |

通过如下URL访问kubernetes-dashboard
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
配置Mac环境
配置控制台访问令牌
对于Mac环境
1 | TOKEN=$(kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}') |
对于Windows环境
1 | $TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1] |

登录dashboard的时候选择令牌,输入上文控制台输出中的内容。
或者选择kubeconfig,路径如下
1 | Mac: $HOME/.kube/config |
点击登陆,进入Kubernetes Dashboard