kind-微k8s-测试与开发

发布时间 2023-04-24 16:07:38作者: 北门吹雪

0. kind 简介

开发与测试场景: 通过docker容器来模拟k8s节点

1. Kind 安装

os: Unbuntu 22.04 Arch: x86_64

# 下载
curl -Lo ./kind "https://kind.sigs.k8s.io/dl/v0.14.0/kind-$(uname)-amd64"
# 授予可执行权限
chmod +x ./kind
# 将命令移动到命令查找路径PATH下
sudo cp ./kind /usr/local/bin/

# 安装kubectl命令,默认安装最新版本
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
# 安装指定版本
curl -LO https://dl.k8s.io/release/v1.22.0/bin/linux/amd64/kubectl
# 授予可执行权限
chmod +x ./kubectl
# 将命令移动到命令查找路径PATH下
sudo cp ./kubectl /usr/local/bin/

2. Kind 简单使用

# 创建集群 --  默认最新
kind create cluster

# 创建指定版本集群
kind create cluster --image kindest/node:v1.15.6
# --imamge 指定集群的版本
# --name 指定集群的名字

# 列出所有集群
kind get culsters

# 删除一个集群
kind delete cluster --name <cluster_name>
# --name 指定集群名

# 删除所有集群
kind delete cluster --all

4. Kind 创建多节点集群

# Kind创建多个版本多节点集群
kind create cluster --config ~/k8s-3nodes.yaml \
--image kindest/node:v1.20.7@sha256:cbeaf907fc78ac97ce7b625e4bf0de16e3ea725daf6b04f930bd14c67c671ff9\
--name k8s-v1.20
  • 配置文件:k8s-3nodes.yaml
# 配置文件 -- 一主两从(默认单主)
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker

4. 多集群管理

# 查询指定集群信息,需要通过 --context指定集群名
kubectl cluster-info --context <cluster>

# 查询当前集群
kubectl config current-context
 
# 切换集群,需要指定集群名
# 切换集群时会默认修改 $HOME/.kube/config中集群的apiserver地址与证书等信息
kubectl config use-context <cluster_name>