许多公司开始使用容器化技术,因此建立 Kubernetes 集群变得尤为关键。在 CentOS 8 服务器上,通过 kubeadm 工具进行安装,可以显著简化操作步骤。接下来,我将详细阐述这一过程的每一步骤。
准备服务器
要构建 Kubernetes 集群,首先需要准备虚拟机或裸机服务器。以 CentOS 8 系统为例,你可以下载镜像,并在 VirtualBox 中进行部署。这样一来,你就能直接使用一个已安装好的虚拟机,无需手动安装。服务器准备妥当后,后续步骤才能顺利进行,确保所有组件正常运行。
配置网络
[root@controller ~]# free -m
total used free shared buff/cache available
Mem: 6144 454 5207 9 472 3100
Swap: 2046 0 2046
集群的正常运行离不开网络配置。若DNS服务器无法解析主机名,就得手动在hosts文件中为每个节点更新主机名和IP地址,这样才能保证节点间能相互识别。若存在多个网络适配器,而Kubernetes组件又无法通过常规路由访问,那么增设IP路由将是一个不错的选择。这样可以使集群的地址通过相应的适配器,确保网络的畅通。
[root@controller ~]# swapoff -a
[root@controller ~]# free -m
total used free shared buff/cache available
Mem: 3781 454 2855 9 471 3101
Swap: 0 0 0
开放端口
#/dev/mapper/rhel-swap swap swap defaults 0 0
在设置防火墙时,主节点需开启特定的通信端口。这一操作可利用firewalld工具实现。开启这些端口主要是为了确保Kubernetes各组件间能顺畅交流,避免因端口限制引发服务启动故障或功能异常,从而保障集群运行环境的稳定。
[root@controller ~]# setenforce 0
安装容器运行时
[root@controller ~]# getenforce
Permissive
[root@controller ~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
Pod的运行依赖于容器技术,本指南中我们决定使用Docker作为各节点运行环境的支撑。您需要在集群中的每一个节点上安装Docker。具体步骤是,建立一个名为“/etc/docker/daemon.json”的新文件,并在里面填写所需的信息。安装完毕后,还需要对Docker服务进行一番检查确认。通过执行 systemctl status docker 命令,我们可以核实 Docker 是否已经成功启动,并且运行状况是否正常。
安装 Kube 组件
[root@controller ~]# firewall-cmd --add-port 6443/tcp --add-port 2379-2380/tcp --add-port 10250-10252/tcp --permanent
[root@controller ~]# firewall-cmd --reload
[root@controller ~]# firewall-cmd --list-ports
6443/tcp 2379-2380/tcp 10250-10252/tcp
[root@worker-1 ~]# firewall-cmd --add-port 10250/tcp --add-port 30000-32767/tcp --permanent
[root@worker-1 ~]# firewall-cmd --reload
[root@worker-1 ~]# firewall-cmd --list-ports
10250/tcp 30000-32767/tcp

[root@worker-2 ~]# firewall-cmd --add-port 10250/tcp --add-port 30000-32767/tcp --permanent
[root@worker-2 ~]# firewall-cmd --reload
[root@worker-2 ~]# firewall-cmd --list-ports
10250/tcp 30000-32767/tcp
kubeadm这个工具不涉及安装也不参与管理任务。因此,我们必须保证它与目标Kubernetes控制平面的版本完全匹配。kubeadm、kubelet和kubectl这三个组件对于构建Kubernetes集群至关重要。只有这三个组件协同运作,才能确保集群的稳定运行。
初始化主服务器
启动主服务器,需先安装并设置相关组件。kubeadm会自动选择与默认网关相连的网口,并给API服务器设定广播地址。这一环节对集群建设至关重要。只有确保主服务器初始化成功,后续节点加入和集群功能完善才能顺利进行。
# lsmod | grep br_netfilter
大家对在 CentOS 8 服务器上通过 kubeadm 安装 Kubernetes 集群的流程非常熟悉。但在实际操作中,是否遇到了一些难题?欢迎在评论区分享你的经历。同时,请不要忘记点赞并转发这篇文章。
[root@controller ~]# modprobe br_netfilter
[root@controller ~]# lsmod | grep br_netfilter
br_netfilter 24576 0
bridge 188416 1 br_netfilter