Docker Desktop搭建k8s集群体验
在前面学习Docker的时候,我们下载过Docker Desktop,现在最新版本已经可以支持k8s集群了。
原先我们体验了在线搭建k8s集群、使用minikube搭建k8s集群,今天我们就来试下使用Docker Desktop搭建k8s集群。
默认情况下,在设置中开启k8s是不能启动成功的,除非电脑上有VPN连接到外网。但是对于绝大多数人来说,可以通过如下的方法来在Docker Desktop上开启k8s功能。如此,我们就可以省去搭建k8s集群的繁杂过程,直接使用集群的功能就行了。
在确保Docker Desktop启动的情况下,我们进行如下的操作步骤:
-
设置镜像源,增加国内的镜像源地址,如下是参考的地址列表:
"https://mirror.ccs.tecentyun.com", "https://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "http://f1361db2.m.daocloud.io", "https://registry.docker-cn.com"
clone阿里云的
k8s-for-docker-desktop
项目;查看本地Docker Desktop所内置的k8s的版本,将如上项目切换到对应k8s版本的分支上;
-
打开power shell执行项目中的
load_images.sh
脚本,此脚本的目的是从国内镜像源中下载k8s集群搭建需要的各个组件;如果因为安全策略无法执行 PowerShell 脚本,请在 “以管理员身份运行” 的 PowerShell 中执行 Set-ExecutionPolicy RemoteSigned 命令。
然后,我们再到Docker Desktop的设置中打开k8s开关,联网状态下,稍等几分钟,k8s就能启动成功了。
经过如上的步骤,k8s单节点集群就搭建成功了,我们试下:
PS C:\Users\Think> 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'.
PS C:\Users\Think> kubectl get nodes
NAME STATUS ROLES AGE VERSION
docker-desktop Ready control-plane 77m v1.24.0
除此之外,阿里云的该项目还提供了k8s相关的如下内容:
- 控制台;
- Ingress配置;
- Helm配置;
- Istio配置;
这些就不属于集群搭建的范畴了,详情可以参考官方提供的github仓库说明。