【K8s】专题三(3):Kubernetes 安装方法之 Kind

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


一、Kind 简介

Kind 是一个在 Docker 容器中运行 Kubernetes 集群的工具,主要是为了测试 Kubernetes 本身而设计的,但也可以用于本地开发或 CI。

Kind 项目地址:https://github.com/kubernetes-sigs/kind

Kind 官网地址:kind


二、Kind 下载、安装
# AMD架构
wget -O /usr/bin/kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
chmod +x /usr/bin/kind

# ARM架构
wget -O /usr/bin/kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-arm64
chmod +x /usr/bin/kind

# 查看版本信息
kind version


三、Kind 部署 Kubernetes 集群

1、准备工作

# 关闭防火墙
systemctl disable --now firewalld

# 关闭 selinxu
setenforce 0
sed -i ’s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config

# 清空 iptables 规则
iptables -F && iptables -t nat -F

# 禁用 swap 分区
swapoff -a
sed -i '/swap / s/^\(.*\)$/#\1/g' /etc/fstab

# 升级内核版本
🔔 部分低版本内核会出现报错 cgroup namespaces aren't enabled in the kernel: unknown
yum update -y
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
yum install -y --enablerepo=elrepo-kernel kernel-ml    # 安装新内核(例如,最新的稳定版本是 kernel-ml)
grub2-mkconfig -o /boot/grub2/grub.cfg                 # 更新 GRUB 引导菜单
grub2-set-default 0                                    # 修改默认引导顺序,使新内核成为默认引导
cat /proc/cmdline                                      # 重启服务器后查看是否生效

# 配置主机间 SSH 免密(详细过程略)

# 安装 docker、kubectl(详细过程略)
🔔 docker 需要安装 20 以上版本,否则会出现报错 unknown flag: --cgroupns

2、部署集群

  • 部署单节点集群
kind create cluster

🔔 可选配置项
# --image kindest/node:v1.xx.xx           # 指定集群版本
# --name xxx                              # 指定集群上下文名称(不指定则默认为 kind)
# --wait 5s / 5m                          # 指定安装超时时间
# --retain                                # 保留日志,并通过 kind export logs 导出
# --config xx.yaml                        # 创建多节点集群,需要指定 yaml 文件

  • 部署多节点集群
kind create cluster --config config.yaml

# config.yaml 配置示例(1 Master + 2 Node)
apiVersion: kind.x-k8s.io/v1alpha4
kind: Cluster
nodes:
- role: control-plane
  image: kindest/node:v1.27.3
- role: worker
  image: kindest/node:v1.27.3
- role: worker
  image: kindest/node:v1.27.3

3、实测结果

  • Kind 部署 Kubernetes 集群非常简单、方便
  • 可以提前下载 Kind 集群镜像,方便离线部署


四、Kind 常用命令
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, higher value produces more output
      --version           version for kind

Use "kind [command] --help" for more information about a command.
# 查看集群信息
kind get clusters

# 查看集群节点
kind get nodes

# 查看集群上下文
kind get kubeconfig

# 集群节点导入主机镜像
kind load docker-image <镜像名称>

# 集群节点导入打包镜像(tar文件)
kind load image-archive xxxx.tar

# 导出日志到指定目录
kind export logs somedir
.
├── docker-info.txt
├── kind-control-plane
│   ├── alternatives.log
│   ├── containerd.log
│   ├── containers
│   ├── images.log
│   ├── inspect.json
│   ├── journal.log
│   ├── kubelet.log
│   ├── kubernetes-version.txt
│   ├── pods
│   └── serial.log
└── kind-version.txt

# 删除集群
kind delete cluster

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行者Sun1989

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值