- 前言
- 一、kind的安装
- 1.kind的前置
- 2.kind的安装
- 3.kind的环境变量设置
- 4.kind的集群创建
- 5.测试集群是否创建成功
- 5.1 查看集群
- 5.2 设置集群
- 5.2 删除集群
- 5.4 切换集群
- 5.3 查看集群上的节点
- 二、kind的使用
- 1.创建集群
- 1.1 创建默认的集群:
- 1.2 根据镜像创建:
- 1.3 根据名称创建:
- 2.查看集群
- 2.1 查看集群
- 2.2 获取节点
- 3.删除集群
- 3.1 删除默认的集群
- 3.2 根据名字删除集群
- 3.3 删除所有集群
- 4.加载docker镜像
- 4.1 加载docker镜像
- 4.2 加载图像存档
- 4.2 完整流程
- 4.查询docker镜像
- 三、进入K8S节点
- 1.登录节点
- 2.查看结点中已经下载的镜像
前言
Kind 是 Kubernetes In Docker 的缩写,顾名思义是使用 Docker 容器作为 Node 并将 Kubernetes 部署至其中的一个工具。官方文档中也把 Kind 作为一种本地集群搭建的工具进行推荐。
kind的官网:https://kind.sigs.k8s.io/
一、kind的安装 1.kind的前置
使用kind必须具备以下条件
- docker
- k8s
- go
GOPROXY=goproxy.cn go install sigs.k8s.io/kind@v0.12.03.kind的环境变量设置
sudo cp $(go env GOPATH)/bin/kind /usr/local/bin4.kind的集群创建
kind create cluster --name=kind
使用 kind create cluster 安装,是没有指定任何配置文件的安装方式。从安装打印出的输出来看,分为4步:
- 查看本地上是否存在一个基础的安装镜像,默认是kindest/node:v1.23.4,这个镜像里面包含了需要安装的所有东西,包括了kubectl、kubeadm、kubelet 二进制文件,以及安装对应版本 k8s 所需要的镜像,都以 tar压缩包的形式放在镜像内的一个路径下。
- 准备你的 node,这里就是做一些启动容器、解压镜像之类的工作。
- 生成对应的 kubeadm 的配置,之后通过 kubeadm安装,安装之后还会做另外的一些操作,比如像我刚才仅安装单节点的集群,会帮你删掉 master 节点上的污点,否则对于没有容忍的 pod无法部署。
- 启动完毕。
kubectl中文文档:http://kubernetes.kansea.com/docs/user-guide/kubectl/kubectl_config_set-context/
5.1 查看集群kubectl config get-contexts #查看可用集群 kubectl cluster-info --context clusterName #查看集群信息5.2 设置集群
# 查看完集群列表后,根据需要切换上下文 kubectl config set-context clusterName5.2 删除集群
# 查看完集群列表后,根据需要切换上下文 kubectl config delete-context clusterName5.4 切换集群
# 查看完集群列表后,根据需要切换上下文 kubectl config use-context clusterName5.3 查看集群上的节点
kubectl get nodes二、kind的使用 1.创建集群 1.1 创建默认的集群:
kind create cluster1.2 根据镜像创建:
kind create cluster --image kindest/node:latest1.3 根据名称创建:
kind create cluster --name kind22.查看集群 2.1 查看集群
kind get clusters2.2 获取节点
kind get nodes3.删除集群 3.1 删除默认的集群
kind delete cluster3.2 根据名字删除集群
kind delete cluster --name clusterName3.3 删除所有集群
kind delete clusters --all4.加载docker镜像 4.1 加载docker镜像
Docker映像可以通过以下方式加载到群集节点中
docker pull nginx kind load docker-image nginx
如果使用命名群集,则需要指定要将映像加载到的群集的名称
kind load docker-image nginx --name kind-24.2 加载图像存档
kind load image-archive /my-image-archive.tar4.2 完整流程
docker build -t my-custom-image:unique-tag ./my-image-dir kind load docker-image my-custom-image:unique-tag kubectl apply -f my-manifest-using-my-image:unique-tag
- kubectl create属于Imperative command(祈使式命令),它明确告诉kubectl要创建某个资源或对象。
- kubectl apply是Declarative command(声明式命令),apply并不告诉kubectl具体做什么,而是由kubectl根据后面-f中的yaml文件与k8s中对应的object对比,自动探测要进行哪些操作,比如如果object不存在,则create;如果已经存在,则对比差异,update and replace。
由于 Node 是 docker 容器,则可以使用 docker ps 命令查看当前运行的容器:
docker exec -it kind-control-plane bash2.查看结点中已经下载的镜像
可以使用 crictl 命令操作 kind 结点中的镜像:



