2025,每天10分钟,跟我学K8S(五)- 搭建k8s(下)

上篇回顾

上一篇我们讲解了k8s集群中的master的安装,在本章中我们将加入node节点

        在上一章节中,master初始化后,最后会出现一个提示如何加入节点的命令(第八步)。

        在完成node节点的初始化工作后,可以通过这个命令来讲node节点加入到这个集群。

node节点操作

1.节点初始化

1.修改系统参数


修改主机名

vim /etc/hosts
 
172.21.176.3 k8s-master
 
172.21.176.4 k8s-node01


关闭swap

sed -ri 's/^([^#].*swap.*)$/#\1/' /etc/fstab
grep swap /etc/fstab
swapoff -a


关闭防火墙

ufw disable
systemctl disable ufw


设置时区

timedatectl set-timezone Asia/Shanghai

echo 'LC_TIME=en_DK.UTF-8' >> /etc/default/locale

#重启后就会显示24小时制的


开启ipv4转发和网络桥接功能

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

sysctl --system
sysctl net.ipv4.ip_forward
sysctl net.bridge.bridge-nf-call-iptables
sysctl net.bridge.bridge-nf-call-ip6tables


2.安装containerd


k8s在1.24版本之后,默认的后端为containerd,并且不再直接支持docker,这里就按照官方趋势,安装containerd

apt安装containerd

apt update && apt install -y containerd

#看下版本
containerd -v

#生成配置文件
mkdir -p /etc/containerd && \
containerd config default > /etc/containerd/config.toml

#修改cgroup
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml

#修改pause镜像地址为阿里云地址
sed -i 's#sandbox_image = "registry.k8s.io/pause:3.8"#sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.8"#g' /etc/containerd/config.toml

#修改完毕后一定要重启服务
systemctl daemon-reload
systemctl restart containerd.service


3.使用kubeadm介入K8S集群
(截止2025年3月,k8s最新版本为1.32.2)

此处参考官网案例:安装 kubeadm | Kubernetes

由于k8s的默认镜像在google,内网环境或国内服务器不一定能访问通,所以此处将地址切换为阿里云镜像源

1、apt更新 和安装依赖
更新apt 包索引并安装使用 Kubernetes apt 仓库所需要的包:

sudo apt-get update

# apt-transport-https 可能是一个虚拟包(dummy package);如果是的话,你可以跳过安装这个包
sudo apt-get install -y apt-transport-https ca-certificates curl gpg


2、下载安装签名密钥
用于 Kubernetes 软件包仓库的公共签名密钥。所有仓库都使用相同的签名密钥:

# 如果 `/etc/apt/keyrings` 目录不存在,则应在 curl 命令之前创建它,请阅读下面的注释。
sudo mkdir -p -m 755 /etc/apt/keyrings

curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.32/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg


说明:

在低于 Debian 12 和 Ubuntu 22.04 的发行版本中,/etc/apt/keyrings 默认不存在。 应在 curl 命令之前创建它。

3、添加 Kubernetes apt 仓库
请注意,此处使用的为 Kubernetes 1.32 的软件包; 对于其他 Kubernetes 次要版本,则需要更改 URL 中的 Kubernetes 次要版本以匹配你所需的次要版本 (你还应该检查正在阅读的安装文档是否为你计划安装的 Kubernetes 版本的文档)。

# 此操作会覆盖 /etc/apt/sources.list.d/kubernetes.list 中现存的所有配置。

echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.32/deb/ /" | tee /etc/apt/sources.list.d/kubernetes.list


4、安装 kubelet、kubeadm 和 kubectl,并锁定其版本:

sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl


5、查看kubeadm的版本
上述步骤在2台服务器中都操作完毕后,可以通过kubeadm version命令会返回代码,里面显示了详细的版本信息,此处显示版本为v1.32.2

root@k8s-node:~# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"32", GitVersion:"v1.32.2", GitCommit:"67a30c0adcf52bd3f56ff0893ce19966be12991f", GitTreeState:"clean", BuildDate:"2025-02-12T21:24:52Z", GoVersion:"go1.23.6", Compiler:"gc", Platform:"linux/amd64"}


使用 kubeadm 加入集群

使用kube join命令 将node节点加入集群

① keueadm join 命令 ,这个是在master初始化完毕后会显示

② 生成一些配置文件

③ 加入完毕,提示可以通过kubectl get nodes命令来查看集群中的节点

查看集群中的节点数量

通过命令可以看到,刚才的node节点已经加入成功。

忘记了keueadm join命令?

        在一些环境中,可能只有一台服务器作为master节点,暂时没有node的资源,也没有保存当时生成的kubeadm join命令。那么后期在准备加入node资源节点的时候,该怎么去找这个命令呢?

        通过这个命令,可以重新生成一条加入集群的命令,记得是在master上运行。

kubeadm token create --print-join-command


       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值