美文网首页Amazing ArchKubernetes
使用 kind 快速搭建 Kubernetes 环境

使用 kind 快速搭建 Kubernetes 环境

作者: 天天向上卡索 | 来源:发表于2020-05-06 19:40 被阅读0次

    使用 kind 快速搭建 Kubernetes 环境

    Intro

    kind(Kubernetes IN Docker) 是一个基于 docker 构建 Kubernetes 集群的工具,非常适合用来在本地搭建基于 Kubernetes 的开发/测试环境。

    想写一篇 kind 的文章很久了,但是之前的 kind 都会有一个问题,每次系统重启或 docker daemon 重启的时候会导致原来的创建的集群不可用,需要重新创建才可以,从 0.8 版本开始,kind 不再需要重新创建集群了,基于这个集群的资源部署也会自动重启,无需再手动重新部署了,具体可以参考 Issue https://github.com/kubernetes-sigs/kind/issues/148,就在前几天 kind 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 系统中可能需要配置文件权限

    sudo chmod +x kind
    

    操作 Kuberneters 集群

    使用 kind 创建 Kubernetes 集群非常的方便,只需要一行命令即可

    kind create cluster
    

    删除集群

    kind delete cluster
    

    默认集群名称是 "kind",如果要创建多个或者指定集群名称,可以指定 name 参数:

    kind create cluster --name=k8s-cluster1
    

    删除集群

    kind delete cluster --name=k8s-cluster1
    

    创建集群成功之后,就可以使用 kubectl 来操作 k8s 集群了

    获取 k8s 集群所有资源示例:

    image

    既然说是基于 docker 的,那么我们再来看下 docker 资源,来验证一下是否真的是基于 docker 的

    docker ps
    
    image

    可以看到 docker 里有一个 container,而 kind 创建的集群就是基于这个 container 的,如果你直接删掉了这个 container,通过 kind 创建的 k8s 集群也会有问题,

    再来看一下 network,运行 docker network ls

    image

    可以看到有一个名称为 kind 的 network

    我们可以进一步探究 kind-control-plane(就是上面的 docker container)

    通过 docker exec kind-control-plane crictl ps 获取这个容器内部的运行容器列表,这个容器内部通过 crictl 来操作容器,可以参考 https://github.com/kubernetes-sigs/cri-tools

    image image

    More

    除了搭建开发测试环境之外,kind 也支持创建高可用的 kuberneters 集群,具体可以参考官方文档

    kind 创建集群成功之后,就可以向 kubernetes 集群部署资源了,开始你的 Kubernetes 之旅吧~

    Reference

    相关文章

      网友评论

        本文标题:使用 kind 快速搭建 Kubernetes 环境

        本文链接:https://www.haomeiwen.com/subject/frcgghtx.html