如何在Rocky Linux上安装和配置Kubernetes?

首先,请确保您的Rocky Linux服务器已更新并安装了必要的软件包。按照以下步骤进行操作:,,1. 安装Docker、kubeadm、kubelet和kubectl。,2. 配置防火墙以允许Kubernetes所需的端口。,3. 初始化Kubernetes集群。,4. 安装网络插件(如Calico)。,5. 将其他节点加入集群。,6. 验证集群状态。,,详细教程可参考官方文档或相关博客文章。

本文将在 Rocky Linux 9.2 中使用 kubeadm 部署 Kubernetes 1.27,同时配置 containerd、calico 和 BGP 等组件,还将使用 OpenELB 作为 LoadBalancer,BIRD 模拟物理路由器,以及 kube-vip 实现 control-plane 高可用,为了确保系统的稳定性,所有 k8s 相关组件都将固定版本安装。

如何在Rocky Linux上安装和配置Kubernetes?

环境说明

序号 CPU 内存(G) 操作系统 IP 主机名 备注
1 2 12 Rocky Linux 9.2 192.168.3.51 bgp-k8s-01.tiga.cc master
2 2 12 Rocky Linux 9.2 192.168.3.52 bgp-k8s-02.tiga.cc master
3 2 12 Rocky Linux 9.2 192.168.3.53 bgp-k8s-03.tiga.cc master
4 2 12 Rocky Linux 9.2 192.168.3.54 bgp-k8s-04.tiga.cc master
5 2 12 Rocky Linux 9.2 192.168.3.55 bgp-k8s-05.tiga.cc worker
6 2 12 Rocky Linux 9.2 192.168.3.56 bgp-k8s-06.tiga.cc worker
7 2 12 Rocky Linux 9.2 192.168.3.57 bgp-k8s-07.tiga.cc worker
8 2 12 Rocky Linux 9.2 192.168.3.58 bgp-k8s-08.tiga.cc worker
9 2 2 Rocky Linux 9.2 192.168.3.61 bird-01.tiga.cc router

准备工作

1. 检查mac和product_uuid

确保同一个 k8s 集群内的所有节点的 mac 地址和 product_uuid 均唯一,部署前需检查信息:

检查mac地址
cat /sys/class/dmi/id/product_uuid

2. 修改host文件

编辑/etc/hosts 文件,添加各节点的 IP 和主机名映射:

echo '192.168.3.50 bgp-k8s-api-server.tiga.cc' >> /etc/hosts
echo '192.168.3.51 bgp-k8s-01.tiga.cc' >> /etc/hosts
echo '192.168.3.52 bgp-k8s-02.tiga.cc' >> /etc/hosts
echo '192.168.3.53 bgp-k8s-03.tiga.cc' >> /etc/hosts
echo '192.168.3.54 bgp-k8s-04.tiga.cc' >> /etc/hosts
echo '192.168.3.55 bgp-k8s-05.tiga.cc' >> /etc/hosts
echo '192.168.3.56 bgp-k8s-06.tiga.cc' >> /etc/hosts
echo '192.168.3.57 bgp-k8s-07.tiga.cc' >> /etc/hosts
echo '192.168.3.58 bgp-k8s-08.tiga.cc' >> /etc/hosts
echo '192.168.3.61 bird-01.tiga.cc'    >> /etc/hosts

3. 关闭firewalld

禁用并停止 firewalld 服务:

systemctl disable firewalld
systemctl stop firewalld

4. 关闭swap

编辑/etc/fstab 文件注释掉 swap:

sed -i 's:/dev/mapper/rl-swap:#/dev/mapper/rl-swap:g' /etc/fstab

5. 关闭selinux

编辑/etc/selinux/config/etc/sysconfig/selinux 文件,将 SELINUX=enforcing 改为 SELINUX=disabled:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
setenforce 0

6. 安装ipvs

安装并启动 ipvsadm:

yum install -y ipvsadm
systemctl enable --now ipvsadm

7. 开启路由转发

如何在Rocky Linux上安装和配置Kubernetes?

编辑/etc/sysctl.conf 文件,添加 net.ipv4.ip_forward=1:

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf

8. 加载bridge

安装 epel-release 和 bridge-utils:

yum install -y epel-release
yum install -y bridge-utils
modprobe br_netfilter
echo 'br_netfilter' >> /etc/modules-load.d/bridge.conf
echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf

安装containerd

按照官方文档进行 containerd 的安装和配置:

添加Docker仓库
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
查看所有containerd版本
yum list containerd.io --showduplicates | sort -r
安装指定版本的containerd
yum install -y containerd.io-1.6.21
systemctl start containerd
systemctl enable containerd

确认containerd是否安装成功:

containerd -v
输出示例:containerd containerd.io 1.6.21 3dce8eb055cbb6872793272b4f20ed16117344f8

设置crictl的CRI endpoint为containerd:

echo 'runtime-endpoint: unix:///run/containerd/containerd.sock' >> /etc/crictl.yaml
echo 'image-endpoint: unix:///run/containerd/containerd.sock' >> /etc/crictl.yaml

安装Kubernetes组件

添加Kubernetes仓库并安装kubelet、kubeadm和kubectl:

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kube*
EOF
yum install -y kubelet-1.27.2 kubeadm-1.27.2 kubectl-1.27.2 --disableexcludes=kubernetes
systemctl enable --now kubelet

初始化Kubernetes主节点:

kubeadm init --pod-network-cidr=10.244.0.0/16

记录下kubeadm join 命令用于后续加入节点。

安装网络插件Calico

在主节点上应用Calico网络配置:

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

验证Pod状态:

kubectl get pods -n kube-system -o wide

加入工作节点到集群

在每个工作节点上运行之前记录的kubeadm join 命令,

sudo kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>

验证集群状态:

如何在Rocky Linux上安装和配置Kubernetes?

kubectl get nodes

所有节点的状态应为Ready,这表明它们已成功加入集群并可以运行Pod。

常见问题与解答

问题1:如何检查Kubernetes集群是否正常运行?

答:可以通过以下命令来检查集群状态:

kubectl get nodes
kubectl get pods --all-namespaces -o wide

所有节点和Pod的状态都应为Running,如果有任何NotReady的状态,需要检查相关日志以找出问题所在。

问题2:如何升级Kubernetes集群的版本?

答:升级Kubernetes集群需要以下步骤:

1、备份数据:确保所有重要数据和应用都已备份。

2、更新Kubeadm:首先更新Kubeadm工具。

3、升级主节点:使用kubeadm upgrade apply命令升级主节点。

4、升级工作节点:在工作节点上使用相同的命令完成升级。

5、验证升级:最后通过检查节点状态和Pod状态来验证升级是否成功。

各位小伙伴们,我刚刚为大家分享了有关“Rocky Linux服务器安装配置Kubernetes教程”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1092560.html

(0)
未希的头像未希新媒体运营
上一篇 2024-09-27 14:02
下一篇 2024-09-27 14:05

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入