工欲善其事必先利其器 之 DockerDesktop (完)
关键词:DockerDesktop 运行 Kubernetes、DockerDesktop 运行 k8s、DockerDesktop 运行 Kubernetes 踩坑之路
前言
前面几篇文章,我们知道了 DockerDesktop 如何设置 拉取镜像为国内镜像源;如何设置拉取的镜像默认存放目录;如何设置 DockerDesktop CPU,内存占用量。今天我们一起探索 DockerDesktop 支持的 Kubernetes 模块,我们如何使用 DockerDesktop 自带的 Kubernetes 模块呢?带着这些问题,接下来就让我们一起走入 DockerDesktop 进阶之路。
一、启用 Kubernetes
我们直接开启 DockerDesktop 的 Kubernetes 会发现,下载镜像特别慢,这时我们就需要使用国内安装源。这里使用的 AliyunContainerService 。选择和自己 DockerDesktop Kubernetes版本一致的分支,拉取到本地,执行load_images.ps1
脚本即可。
查看 DockerDesktop 支持的版本信息,支持的 Kubernetes 版本为 v1.21.2。所以我们要下载 v1.21.2 的分支
![](https://img-blog.csdnimg.cn/9b23176e117b437cad37cbc820d62e25.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MDUxMDA0,size_16,color_FFFFFF,t_70#pic_center)
执行load_images.ps1
脚本
./load_images.ps1
加载成功后的镜像列表
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s.gcr.io/kube-apiserver v1.21.2 106ff58d4308 8 weeks ago 126MB
k8s.gcr.io/kube-scheduler v1.21.2 f917b8c8f55b 8 weeks ago 50.6MB
k8s.gcr.io/kube-proxy v1.21.2 a6ebd1c1ad98 8 weeks ago 131MB
k8s.gcr.io/kube-controller-manager v1.21.2 ae24db9aa2cc 8 weeks ago 120MB
k8s.gcr.io/pause 3.4.1 0f8457a4c2ec 7 months ago 683kB
k8s.gcr.io/coredns/coredns v1.8.0 296a6d5035e2 9 months ago 42.5MB
k8s.gcr.io/etcd 3.4.13-0 0369cf4303ff 11 months ago 253MB
quay.io/kubernetes-ingress-controller/nginx-ingress-controller 0.26.1 29024c9c6e70 22 months ago 483MB
启用 Kubernetes
咦~,启动失败。我们一起来排查下问题,通过DockerDesktop 我们可以看见有个别几个服务没有正常启动,我们进去查看下日志信息
日志信息
github.com/moby/vpnkit/go/cmd/kube-vpnkit-forwarder/main.go:49: Failed to list *v1.Service: services is forbidden: User "system:serviceaccount:kube-system:vpnkit-controller" cannot list resource "services" in API group "" at the cluster scope
log: exiting because of error: log: cannot create log: open /tmp/kube-vpnkit-forwarder.vpnkit-controller.unknownuser.log.ERROR.20210815-072638.1: no such file or directory
网上查找半天说是在 C:\Windows\System32\drivers\etc\hosts
文件添加配置,重启 DockerDesktop 即可。
127.0.0.1 kubernetes.docker.internal
重启后问题成功解决。
我们来查看下集群状态 (搞错了。。。这个是集群启动失败的情况)
kubectl cluster-info
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Unable to connect to the server: dial tcp: lookup kubernetes.docker.internal: no such host
集群启动成功的正确姿势
kubectl cluster-info
Kubernetes control plane is running at https://kubernetes.docker.internal:6443
CoreDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
到此,使用 DockerDesktop 运行 Kubernetes 已经成功。
总结
以上就是本文的主要内容,本文介绍了 DockerDesktop 实践小技巧。本专栏后面的文章将带你认识其它的开发利器 ,敬请期待哦(*^▽^*)
。
声明
以上内容均来源于网络,如有错误,请多多包含。