K8S集群搭建详细步骤

一、机器准备

系统

IP

主机名

Linux

10.5.16.11

k8s-master

Linux

10.5.16.12

k8s-node1

Linux

10.5.16.13

k8s-node2

最低配置:CPU核心不低于2个,RAM不低于2G。

查看主机名:

hostnamectl

修改主机名:

hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2

说明: v1.24 之前的 Kubernetes 版本直接集成了 Docker Engine 的一个组件,名为 dockershim。 这种特殊的直接整合不再是 Kubernetes 的一部分,自 1.24 版起,Dockershim 已从 Kubernetes 项目中移除。阅读 Dockershim 移除的常见问题了解更多详情。你需要在集群内每个节点上安装一个 容器运行时 以使 Pod 可以运行在上面。

Kubernetes 中几个常见的容器运行时有:

  1. containerd
  2. CRI-O
  3. Docker Engine
  4. Mirantis Container Runtime

本文将以1.28.2版本为例,进行介绍。

二、环境配置(所有节点操作)

配置hosts映射

cat >> /etc/hosts << EOF
10.5.16.11 k8s-master
10.5.16.12 k8s-node1
10.5.16.13 k8s-node2
EOF

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭交换分区

为了保证 kubelet 正常工作,必须禁用交换分区。

swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab

转发 IPv4 并让 iptables 看到桥接流

为了让 Linux 节点的 iptables 能够正确查看桥接流量,请确认 sysctl 配置中的 net.bridge.bridge-nf-call-iptables 设置为 1。

#转发 IPv4 并让 iptables 看到桥接流量
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

# 通过运行以下指令确认 br_netfilter 和 overlay 模块被加载
lsmod | grep br_netfilter
lsmod | grep overlay

# 设置所需的 sysctl 参数,参数在重新启动后保持不变
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF

# 应用 sysctl 参数而不重新启动
sudo sysctl --system

三、安装容器运行时(所有节点操作)

3.1、安装containerd

先检查机器是否有安装containerd

# 查看containerd版本
ctr version
# 查看containerd服务状态
systemctl status containerd.service

如果机器没有安装,则下载containerd包 首先访问GitHub: Let’s build from here · GitHub

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值