由谷歌开发的Kubernetes作为当下最热门的容器编排工具,已经被内置在Docker Desktop中, 右击docker图标选择About Docker Desktop可查看Docker Engine以及Kubernetes的版本。

p1.png
在设置中有一项Kubernetes,点击可直接开启,但因为Docker默认从。。下载镜像,在国内网速较慢,所以会导致Kubernetes一直处于starting的状态。

image
解决方法:使用阿里云提前拉取镜像
链接及源码:GitHub - AliyunContainerService/k8s-for-docker-desktop: 为Docker Desktop for Mac/Windows开启Kubernetes和Istio - Enable Kubernetes/Istio on Docker Desktop in China
步骤:
1. 配置镜像加速服务:打开Setting中Docker Engine标签
修改registry mirror=["https://registry.docker-cn.com"]或是注册使用阿里云镜像服务,改为registry mirror=["https://
2. 下载镜像
1 | git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git |
默认下载为v1.16.5版本,请检查与自己docker desktop适配的版本,并根据git checkout <版本>进行调整。
进入k8s-for-docker-desktop目录中并运行
3. 打开Powershell,先以管理员身份运行
1 | .\load_images.ps1 |
该文件内容为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | foreach($line in Get-Content .\images.properties) { $data = $line.Split('=') $key = $data[0]; $value = $data[1]; Write-Output "$key=$value" docker pull ${value} docker tag ${value} ${key} docker rmi ${value} } |
我们可以知道它从

image
可使用
3. 设置中勾选Enable Kubernetes并等待其运行
1 | kubectl cluster-info |
检查是否成功,若成功则显示
安装Dashboard
k8s没有自带的GUI,为了更方便的查看集群状态,往往会安装Kubernetes Dashboard,这是一个官方开源项目(https://github.com/kubernetes/dashboard),在上面的阿里云链接中也有教程如何安装。
打开k8s-for-docker-desktop目录可以看到有一个名为kubernetes-dashboard.yaml的文件,通过运行
运行

image
1 2 | $TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1] echo $TOKEN |
生成Token,可直接复制登录,或在~/.kube/config中使用如下指令添加Token,并使用该config文件登录。
1 | kubectl config set-credentials docker-desktop --token="${TOKEN}" |
注意:如果还是遇到Internal error (500): Not enough data to create auth info structure.请打开你的config文件仔细检查,确保上述命令中的docker-desktop名字正确,使得你的Token和client-certificate-data, client-key-data在同一name的user下!!!

image
登录成功

image