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

22次阅读
没有评论

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

环境说明

序号 CPU 内存(G) 操作系统 IP 主机名 备注
1 2 12 RockyLinux9.2 192.168.3.51 bgp-k8s-01.tiga.cc master
2 2 12 RockyLinux9.2 192.168.3.52 bgp-k8s-02.tiga.cc master
3 2 12 RockyLinux9.2 192.168.3.53 bgp-k8s-03.tiga.cc master
4 2 12 RockyLinux9.2 192.168.3.54 bgp-k8s-04.tiga.cc master
5 2 12 RockyLinux9.2 192.168.3.55 bgp-k8s-05.tiga.cc worker
6 2 12 RockyLinux9.2 192.168.3.56 bgp-k8s-06.tiga.cc worker
7 2 12 RockyLinux9.2 192.168.3.57 bgp-k8s-07.tiga.cc worker
8 2 12 RockyLinux9.2 192.168.3.58 bgp-k8s-08.tiga.cc worker
9 2 2 RockyLinux9.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.50bgp-k8s-api-server.tiga.cc'>>/etc/hosts
echo'192.168.3.51bgp-k8s-01.tiga.cc'>>/etc/hosts
echo'192.168.3.52bgp-k8s-02.tiga.cc'>>/etc/hosts
echo'192.168.3.53bgp-k8s-03.tiga.cc'>>/etc/hosts
echo'192.168.3.54bgp-k8s-04.tiga.cc'>>/etc/hosts
echo'192.168.3.55bgp-k8s-05.tiga.cc'>>/etc/hosts
echo'192.168.3.56bgp-k8s-06.tiga.cc'>>/etc/hosts
echo'192.168.3.57bgp-k8s-07.tiga.cc'>>/etc/hosts
echo'192.168.3.58bgp-k8s-08.tiga.cc'>>/etc/hosts
echo'192.168.3.61bird-01.tiga.cc'>>/etc/hosts

3.关闭firewalld

禁用并停止firewalld服务:

systemctldisablefirewalld
systemctlstopfirewalld

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
setenforce0

6.安装ipvs

安装并启动ipvsadm:

yuminstall-yipvsadm
systemctlenable--nowipvsadm

7.开启路由转发

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

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

8.加载bridge

安装epel-release和bridge-utils:

yuminstall-yepel-release
yuminstall-ybridge-utils
modprobebr_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仓库
yuminstall-yyum-utils
yum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repo
查看所有containerd版本
yumlistcontainerd.io--showduplicates|sort-r
安装指定版本的containerd
yuminstall-ycontainerd.io-1.6.21
systemctlstartcontainerd
systemctlenablecontainerd

确认containerd是否安装成功:

containerd-v
输出示例:containerdcontainerd.io1.6.213dce8eb055cbb6872793272b4f20ed16117344f8

设置crictl的CRIendpoint为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.gpghttps://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kube*
EOF
yuminstall-ykubelet-1.27.2kubeadm-1.27.2kubectl-1.27.2--disableexcludes=kubernetes
systemctlenable--nowkubelet

初始化Kubernetes主节点:

kubeadminit--pod-network-cidr=10.244.0.0/16

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

安装网络插件Calico

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

kubectlapply-fhttps://docs.projectcalico.org/manifests/calico.yaml

验证Pod状态:

kubectlgetpods-nkube-system-owide

加入工作节点到集群

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

sudokubeadmjoin<master-ip>:<master-port>--token<token>--discovery-token-ca-cert-hashsha256:<hash>

验证集群状态:

kubectlgetnodes

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

常见问题与解答

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

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

kubectlgetnodes
kubectlgetpods--all-namespaces-owide

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

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

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

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

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

3、升级主节点:使用kubeadmupgradeapply命令升级主节点。

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

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

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

正文完
 0
116博客
版权声明:本站原创文章,由 116博客 于2024-09-28发表,共计4021字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码