『』Kind + Docker 一键部署K8s实验环境


时下互联网最火的技术无非是容器云和AI , 而虚拟云技术方面最火则是docker和K8S 。 docker学习和实践都很容易 , 但是K8S的由于集群化 , 部署需要较多的机器 , 环境搭建学习实践比较费劲这一度影响了K8S技术的普及 。 所以业界也除了一些简易版的K8s集群环境 , 比如K3S(5 less than k8s),本文虫虫给大家介绍也是这样一个项目Kind , 一键部署的单机K8S环境 , 可以用于学习、本地开发和CI环境 。
『』Kind + Docker 一键部署K8s实验环境
本文插图
概述
kind是主要是为了测试和简化K8S而设计的 , 项目基于Golang开发依赖极少 , 只需要Golang 1.11版本以上和docker既可 。
kind由以下组件构成:
Go 实现集群创建 , 映镜像构建等的软件包 。
kind命令行界面 。
运行systemd , Kubernetes等的Docker 镜像
基于这些软件包(WIP)kubetest 集成 。
安装
kind的安装也很简单 , 只需下载kind在github上发布的包 , 然后把他移动到安装目录即可 。 另外kind操作依赖docker , 需要先安装docker 。
『』Kind + Docker 一键部署K8s实验环境
本文插图
macOS/Linux安装:
curl -Lo kind github /kubernetes-sigs/kind/releases/download/v0.7.0/kind-$(uname)-amd64
chmod +x ./kind
『』Kind + Docker 一键部署K8s实验环境
本文插图
mv kind /usr/sbin/kind
通过Homebrew方式安装
如果系统有Homebew包管理器 , 也可以用brew命令一键安装:
brew install kind
Windows安装
Window下的安装也类似 , 直接从github发布页面下载Window版本的发布包即可
curl.exe -Lo kind-windows-amd64.exe github/kubernetes-sigs/kind/releases/download/v0.7.0/kind-windows-amd64
Move-Item .kind-windows-amd64.exe c:some-dir-in-your-PATHkind.exe
Chocolatey包管理器方式安装
Windows如果有Chocolatey包管理器 , 则可以直接一键安装
choco install kind
go get源码安装
也可以使用go get下载源码编译安装:
go get sigs.k8s.io/kind 。
该命令会自动在$(go env GOPATH)/bin下安装kind 。 如果安装报错 ,
比如报:kind: command not found
则需要将该执行目录添加到系统PATH中:
基本使用
kind是一个单文件二进制运行程序 , 使用也非常简单 , 基本命令如下:
『』Kind + Docker 一键部署K8s实验环境
本文插图
create、delete 创建、删除集群
export是将内部所有容器的日志拷贝到宿主机的某个目录下 。
get 查看当前有哪些集群 , 哪些节点 , 以及 kubectl 配置文件的地址
load 可以从宿主机向 k8s 容器内导入镜像 。
version 显示kind的版本
创建集群
创建Kubernetes集群非常简单 , 可以一键创建:
kind create cluster
『』Kind + Docker 一键部署K8s实验环境
本文插图
该命令使用预构建的节点镜像引导Kubernetes集群 , 默认为从docker hub获取kindest/node镜像 , 也支持自定义镜像来源 , 使用--image指定其他镜像 。
默认情况下 , 集群名称为kind 。 可使用--name制定特定的名称 。
删除集群
删除同样简单 , 可以使用下面命令一键删除
kind delete cluster
如果--name未指定该标志 , 则kind将使用默认的群集上下文名称kind并删除该群集 。