kind(KubernetesINDocker)是一个基于docker构建Kubernetes集群的工具,非常适合用来在本地搭建基于Kubernetes的开发/测试环境。
想写一篇kind的文章很久了,但是之前的kind都会有一个问题,每次系统重启或dockerdaemon重启的时候会导致原来的创建的集群不可用,需要重新创建才可以,从0.8版本开始,kind不再需要重新创建集群了,基于这个集群的资源部署也会自动重启,无需再手动重新部署了。
Install
Kind的安装不包括kubectl,你需要独立安装kubectl来通过命令行来操作kubernetes集群,kubectl的安装可以参考:https://kubernetes.io/docs/tasks/tools/install-kubectl/
通过https://github.com/kubernetes-sigs/kind/releases/latest获取最新的release,根据自己的系统类型选择相应的系统release,下载release之后重命名为kind(Windows系统release重命名为kind.exe),然后将其放在某一个目录下,并要确保这个目录在系统PATH中以方便的使用,linux系统中可能需要配置文件权限
操作Kuberneters集群
使用kind创建Kubernetes集群非常的方便,只需要一行命令即可
删除集群
默认集群名称是"kind",如果要创建多个或者指定集群名称,可以指定name参数:
删除集群
创建集群成功之后,就可以使用kubectl来操作k8s集群了
获取k8s集群所有资源示例:
既然说是基于docker的,那么我们再来看下docker资源,来验证一下是否真的是基于docker的在线教育源码在线教育源码
可以看到docker里有一个container,而kind创建的集群就是基于这个container的,如果你直接删掉了这个container,通过kind创建的k8s集群也会有问题,
再来看一下network,运行dockernetworkls
可以看到有一个名称为kind的network
我们可以进一步探究kind-control-plane(就是上面的dockercontainer)
通过dockerexeckind-control-planecrictlps获取这个容器内部的运行容器列表,这个容器内部通过crictl来操作容器,可以参考https://github.com/kubernetes-sigs/cri-tools
More
除了搭建开发测试环境之外,kind也支持创建高可用的kuberneters集群,具体可以参考官方文档
kind创建集群成功之后,就可以向kubernetes集群部署资源了,开始你的Kubernetes之旅吧~
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。