导读
kubernetes 现在已经走进了大众的视野,很多同学都对此比较好奇,从其他渠道或多或少都了解了一些,但是苦于kubernetes环境,不能身临其境的感受, 毕竟如果完整搭建一套kubernetes环境是需要资源的。 今天介绍一款工具(kind),让大家可以本地也可以构建起 kubernetes 环境,愉快的在本地玩转 kubernetes。kind 全称 是 kubernetes in docker ,把 kubernetes 控制面的组件全部运行在一个docker 容器中,在本地通过
127.0.0.1
进行通信。这种玩法只能在本地体 验, 不可用于生成环境,特别适用于新人在本地体验、开发 kubernetes 相关组件时在本地进行调试等,如开始 operator 时可以在 kind 进行调试 。详细用法可以参考官方文档。
kind 参考资料
- 官网: https://kind.sigs.k8s.io/
- 官方文档: https://kind.sigs.k8s.io/docs/user/quick-start/
- github : https://github.com/kubernetes-sigs/kind
安装
有 golang 环境
如果有 golang 环境,可以通过如下命令安装 :
GO111MODULE="on" go get sigs.k8s.io/kind@v0.10.0
如果下载的比较慢可以设置代理,增加一个环境变量即可:
GOPROXY="https://goproxy.cn"
无 golang 环境
Linux :
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.10.0/kind-linux-amd64
chmod +x ./kind
mv ./kind /some-dir-in-your-PATH/kind
Mac (homebrew)
brew install kind
或者 :
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.10.0/kind-darwin-amd64
Windows:
curl.exe -Lo kind-windows-amd64.exe https://kind.sigs.k8s.io/dl/v0.10.0/kind-windows-amd64
Move-Item .\kind-windows-amd64.exe c:\some-dir-in-your-PATH\kind.exe
基本命令
通过 kind --help
看看支持哪些命令
kind --help
kind creates and manages local Kubernetes clusters using Docker container 'nodes'
Usage:
kind [command]
Available Commands:
build Build one of [node-image]
completion Output shell completion code for the specified shell (bash, zsh or fish)
create Creates one of [cluster]
delete Deletes one of [cluster]
export Exports one of [kubeconfig, logs]
get Gets one of [clusters, nodes, kubeconfig]
help Help about any command
load Loads images into nodes
version Prints the kind CLI version
Flags:
-h, --help help for kind
--loglevel string DEPRECATED: see -v instead
-q, --quiet silence all stderr output
-v, --verbosity int32 info log verbosity
--version version for kind
Use "kind [command] --help" for more information about a command.
可以看出支持3种类型的命令,cluster 相关、image 相关、通用命令 。
- cluster 相关的有 create, delete 等,主要用于创建和删除 kubernetes 集群。
- image 相关的有 build, load 等,主要用于本地调试时,本地可以 build镜像直接load 到集群中,而不需要推送到镜像仓库再通过集群去 pull 。
- 通用命令如 get ,version 等。
kind --version
kind --version
kind version 0.9.0
本篇文章以 kind 0.9.0
进行介绍 。下面是比较精彩的部分,仔细看哦 :eyes:
创建 kubernetes 集群
创建一个 kubernetes 集群 :
kind create cluster
Creating cluster "kind" ...
✓ Ensuring node image (kindest/node:v1.19.1)
Tags: