kind 简介

Github 地址:https://github.com/kubernetes-sigs/kind
kind 是一个快速启动 kubernetes 集群的工具,适合本地 k8s 开发环境搭建,能在 1 分钟之内就启动一个非常轻量级的 k8s 集群。之所以如此之快,得益于其基于其把整个 k8s 集群用到的组件都封装在了 Docker 容器里,构建一个 k8s 集群就是启动一个 Docker 容器,如此简单,正如下面图片描述一样:

说说我为什么使用 kind 吧:
我之前本地 k8s 开发环境是基于 vagrant + virtualbox 来搭建,但是和 kind 比起来太重量级了,主要有如下痛点:

  • 资源消耗严重:vagrant + virtualbox + kubernetes 这一套其实本质上还是 k8s 运行在 virtualbox 虚拟机上,这个资源消耗可想而知,我的电脑配置低,经常由于资源消耗太多导致电脑发热、风扇狂转、死机。。。
  • 使用复杂:vagrant + virtualbox + kubernetes 虽然比直接二进制搭建简化了不少,但是还是有一定的技术门槛的,需要对 vagrant 有一定的了解,而且编写 vagrant 需要有一定的经验才能把集群配置好;

kind 使用

kind 的使用非常简单,其实就是一个命令行工具,通过这个工具创建、删除 k8s 集群,下面简单说下使用。

1.准备工作

  • Kind 的主要功能目前需要有 Docker 环境的支持,可参考 Docker 官方文档进行安装;
  • 安装操作 k8s 的 kubectl 命令行,安装方法可参考官方文档;

2.安装
到 github release 页下载对应操作系统的二进制文件到本地,并放到 PATH 环境变量:
https://github.com/kubernetes-sigs/kind/releases

3.创建集群

kind create cluster

完成后就可以直接 kubectl 操作集群了,kubeconfig 已经自动生效了,在 ~/.kube/config 路径。

$ kubectl get node
NAME                 STATUS    ROLES     AGE       VERSION
kind-control-plane   Ready     master    53m       v1.18.2

4.获取集群 kubeconfig 文件

kind get kubeconfig

5.销毁集群

kind delete cluster

执行 kind --help 获取帮助和其他支持的命令参数。

kind 配置

我们可以对要创建的集群进行一些定制化配置,kind 支持的配置见这里:https://kind.sigs.k8s.io/docs/user/configuration/
配置方法:
参照文档,编写配置 kind 配置文件 config.yaml,然后在 kind 创建集群的时候指定配置文件:

kind create cluster --config=/foo/bar/config.yaml

举例:
默认 kind 创建出来的集群 apiserver 监听的地址是:127.0.0.1:[随机端口],我要改成默认监听的地址是:0.0.0.0:6443,编写如下 config.yaml

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:# WARNING: It is _strongly_ recommended that you keep this the default# (127.0.0.1) for security reasons. However it is possible to change this.apiServerAddress: "0.0.0.0"# By default the API server listens on a random open port.# You may choose a specific port but probably don't need to in most cases.# Using a random port makes it easier to spin up multiple clusters.apiServerPort: 6443

创建集群时指定上面配置文件:

kind create cluster --config=config.yaml

总结

总而言之,kind 是一个非常轻量级的工具,能以最轻量的方式构建 k8s 集群,其设计理念是是一个 k8s 就是一个 Docker 容器,构建复杂的 k8s 集群变成了启动一个 Docker 容器,如此简单。

我对 kind 的评价是:快!快!快! 轻量!轻量!轻量! 效率!效率!效率!

使用 kind 1 分钟启动一个本地 k8s 开发集群相关推荐

  1. api k8s restful 创建pods_Kind:一个容器创建K8S开发集群

    什么是 Kind kind:是一种使用Docker容器节点运行本地Kubernetes集群的工具.该类型主要用于测试Kubernetes,但可用于本地开发或CI. 注意:kind仍在开发中 部署 Ma ...

  2. docker 如何加入kubernetes_使用 Kind 在 5 分钟内快速部署一个 Kubernetes 高可用集群...

    什么是 Kind Kind(Kubernetes in Docker) 是一个Kubernetes孵化项目,Kind是一套开箱即用的Kubernetes环境搭建方案.顾名思义,就是将Kubernete ...

  3. k8s 二进制集群部署

    目录 写在之前 一. k8s简介 1. k8s 的整体架构 2. 部署说明 3. ansible host文件说明 二. 基础系统部署 1. 设置关闭防火墙及SELINUX 2. 关闭Swap 3.升 ...

  4. 这一篇 K8S(Kubernetes)集群部署 我觉得还可以

    点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 国内安装K8S的四种途径 Kubernetes 的安装其实并不复杂,因为Kubernetes 属 ...

  5. 自动化运维之k8s——Kubernetes集群部署、pod、service微服务、kubernetes网络通信

    目录 一.Kubernetes简介 1.Kubernetes简介 2.kubernetes设计架构 3.Kubernetes核心组件 4.kubernetes设计结构 二.Kubernetes部署 1 ...

  6. 银河麒麟高级服务器操作系统V10上安装k8s单机集群

    前言 本文介绍银河麒麟高级服务器操作系统V10上安装部署k8s单机集群及一些基础的kubectl指令 本文涉及部署脚本主要源自基于https://github.com/easzlab/kubeasz在 ...

  7. Rancher+K8S+Docker集群搭建

    Rancher+K8S+Docker集群搭建 Ubuntu安装 准备工作:准备VMware+Ubuntu(ubuntu-18.04.5-live-server-amd64.iso) 1.1 虚拟机安装 ...

  8. Eclipse的下载、安装和WordCount的初步使用(本地模式和集群模式)

    包括:    Eclipse的下载 Eclipse的安装 Eclipse的使用 本地模式或集群模式 Scala IDE for Eclipse的下载.安装和WordCount的初步使用(本地模式和集群 ...

  9. nacos 本地测试_Nacos集群配置实例(windows下测试)

    1.首先 fork 一份 nacos 的代码到自己的 github 库,然后把代码 clone 到本地. git地址:https://github.com/alibaba/nacos.git 2.然后 ...

  10. 使用国内的镜像源搭建 kubernetes(k8s)集群

    概述 老话说的好:努力学习,提高自己,让自己知道的比别人多,了解的别人多. 言归正传,之前我们聊了 Docker,随着业务的不断扩大,Docker 容器不断增多,物理机也不断增多,此时我们会发现,登录 ...

最新文章

  1. 求最短路径——BFS、Dijkstra、Prim算法对比
  2. Nginx实现反向代理例子
  3. C语言程序练习-L1-023 输出GPLT (20分)
  4. 利用js刷新页面方法
  5. idea如何自制插件_Lice IntelliJ插件图标制作过程
  6. 实现自动文本摘要(python,java)
  7. python中什么是数据驱动_携程大牛谈自动化测试里的数据驱动和关键字驱动思路的理解...
  8. iBeiKe十周年照片~
  9. python乱码怎么办_Python爬虫结果是乱码怎么办?带你了解乱码的原因及其解决办法...
  10. 秩和比综合评价法(RSR)详解及Python实现和应用
  11. M语言中的操作符说明:大括号{}-列List,方括号[]-记录Record
  12. 哈工大2021年秋季学期数据结构期末试题
  13. 机器学习算法工程师--实习面经
  14. 用python将word转化成pdf
  15. scrapy爬取晋江免费小说(章节)+ cookie爬vip章节
  16. 用数据来看马拉多纳究竟有多么闪耀!!!
  17. 史上最全面试题汇总,没有之一,不接受反驳
  18. opencv-python将两个文件夹下的照片拼接一起,然后保存
  19. 通过堡垒机rdp 黑屏_如何绕过堡垒机远程登录
  20. JAVA基础-50道编程题

热门文章

  1. 最新腾讯防水墙滑块验证码破解,代码可以直接运行
  2. 什么是基站定位?基站定位的原理及特点
  3. 计算机组成原理下列数中最小的数位,计算机组成原理试题(四)
  4. 布尔运算(Boolean Operators)
  5. wifi共享代码实践java_笔记本实现共享wifi上网
  6. css3动画: 3d照片旋转transfrom
  7. 2048游戏(C语言)
  8. cdr2022更新24.1版CorelDRAW2022稳定版
  9. [已解决] Could not create connection to database server.
  10. CAD软件中怎么裁剪参照?