Usage:
kind [command]
Available Commands:
build Build one of [base-image, node-image]
create Creates one of [cluster]
delete Deletes one of [cluster]
export exports one of [logs]
get Gets one of [clusters, nodes, kubeconfig-path]
help Help about any command
load Loads images into nodes
version prints the kind CLI version
Flags:
-h, --help help for kind
--loglevel string logrus log level [panic, fatal, error, warning, info, debug] (default "warning")
--version version for kind
Use "kind [command] --help" for more information about a command.
简单说下几个比较常用选项的含义:
-
build
:用来从Kubernetes
源代码构建一个新的镜像 。
-
create
:创建一个Kubernetes
集群 。
-
delete
:删除一个Kubernetes
集群 。
-
get
:可用来查看当前集群、节点信息以及Kubectl
配置文件的地址 。
-
load
:从宿主机向Kubernetes
节点内导入镜像 。
使用 Kind 创建 Kubernetes 集群搭建一个单节点集群搭建单节点集群是
Kind
最基础的功能,当然使用起来也很简单,仅需一条指令即可完成 。$ kind create cluster --name my-cluster
Creating cluster "my-cluster" ...
? Ensuring node image (kindest/node:v1.15.3)
? Preparing nodes
? Creating kubeadm config
? Starting control-plane ?
Cluster creation complete. You can now use the cluster with:
export KUBECONFIG="$(kind get kubeconfig-path --name="my-cluster")"
kubectl cluster-info
以上命令中使用默认安装的方式时,我们没有指定任何配置文件 。从安装过程的输出来看,一共分为 4 步:--name
是可选参数 。如果不指定,默认创建出来的集群名字为kind
。
- 检查本地环境是否存在一个基础的安装镜像,默认是
kindest/node:v1.15.3
,该镜像里面包含了所有需要安装的东西,包括:kubectl
、kubeadm
、kubelet
的二进制文件,以及安装对应版本Kubernetes
所需要的镜像 。
- 准备
Kubernetes
节点,主要就是启动容器、解压镜像这类的操作 。
- 建立对应的
kubeadm
的配置,完成之后就通过kubeadm
进行安装 。安装完成后还会做一些清理操作,比如:删掉主节点上的污点,否则对于没有容忍的Pod
无法完成部署 。
- 上面所有操作都完成后,就成功启动了一个
Kubernetes
集群并输出一些操作集群的提示信息 。
接下来,我们根据上面命令执行完后,输出的提示信息进行操作来验证一下集群是否部署成功 。
- 默认情况下,
Kind
会先下载kindest/node:v1.15.3
镜像 。如果你想指定不同版本,可以使用--image
参数,类似这样:kind create cluster --image kindest/node:v1.15.3
kindest/node
这个镜像目前托管于 Docker Hub 上,下载时可能会较慢 。同样的问题Kind
进行集群的创建也是存在的,Kind
实际使用Kubeadm
进行集群的创建 。对Kubeadm
有所了解的同学都知道它默认使用的镜像在国内是不能访问的,所以一样需要自行解决网络问题 。
- 如果你存在上面说的网络问题,最好配置一个国内的加速器或者镜像源 。如果你还不知道如何配置加速器和镜像源可以参考:「Docker / Kubernetes 镜像源不可用,教你几招搞定它!」和 「 Docker 下使用 DaoCloud / 阿里云镜像加速」两篇文章 。
# 获取指定集群的配置文件所在的路径
$ export KUBECONFIG="$(kind get kubeconfig-path --name="my-cluster")"
$ kubectl cluster-info
Kubernetes master is running at https://localhost:34458
KubeDNS is running at https://localhost:34458/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
my-cluster-control-plane Ready master 2m v1.15.3
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 如何查看其他人在你的WiFi上浏览的内容?
- 梦见剖鱼什么意思 梦见别人在剖鱼
- python使用SocketServer实现网络服务器
- 大家都在说的分布式系统到底是什么?
- 支付开发填坑记之支付宝
- 坦洋工夫红茶分布在什么地方 有什么特点
- 男朋友碰腰部是试探吗 男人碰你腰是试探吗
- 男生牵手但是没有说喜欢 男生牵我手但没表白是什么意思
- 水槽安装步骤及注意事项
- 茶与茶叶茶