使用kubeadm快速部署Kubernetes 1.29.X版本集群详细教程
一、Kubernetes集群节点准备
1.1 主机操作系统说明
序号 | 操作系统及版本 | 备注 |
---|---|---|
1 | CentOS7u6 |
1.2 主机硬件配置说明
需求 | CPU | 内存 | 硬盘 | 角色 | 主机名 |
---|---|---|---|---|---|
值 | 8C | 8G | 1024GB | master | master |
值 | 8C | 16G | 1024GB | worker(node) | node1 |
值 | 8C | 16G | 1024GB | worker(node) | node2 |
1.3 主机配置
1.3.1 主机名配置
由于本次使用3台主机完成kubernetes集群部署,其中1台为master节点,名称为k8s-master01;其中2台为worker节点,名称分别为:k8s-worker01及k8s-worker02
master节点
# hostnamectl set-hostname master
node1节点
# hostnamectl set-hostname node1
node2节点
# hostnamectl set-hostname node2
1.3.2 主机IP地址配置
master节点IP地址为:192.168.26.134/24
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.26.134"
PREFIX="24"
GATEWAY="192.168.26.2"
DNS1="119.29.29.29"
node1节点IP地址为:192.168.26.135/24
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.26.135"
PREFIX="24"
GATEWAY="192.168.26.2"
DNS1="119.29.29.29"
node2节点IP地址为:192.168.26.136/24
# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.26.136"
PREFIX="24"
GATEWAY="192.168.26.2"
DNS1="119.29.29.29"
1.3.3 主机名与IP地址解析
所有集群主机均需要进行配置。
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.26.134 master
192.168.26.135 node1
192.168.26.136 node2
1.3.4 防火墙配置
所有主机均需要操作。
关闭现有防火墙firewalld
# systemctl disable firewalld
# systemctl stop firewalld
或
# systemctl disable --now firewalld
查看firewalld状态
# firewall-cmd --state
not running
1.3.5 SELINUX配置
所有主机均需要操作。修改SELinux配置需要重启操作系统。
# sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# sestatus
1.3.6 时间同步配置
所有主机均需要操作。最小化安装系统需要安装ntpdate软件。
这一步的作用是确保所有主机的时间保持同步。时间同步对于分布式系统(如 Kubernetes 集群)非常重要,因为不同主机间的时间差异可能导致集群服务的协调问题。以下是具体步骤和解释:
步骤 1:安装 ntpdate
软件
确保在所有主机上安装 ntpdate
软件。你可以使用以下命令进行安装:
# 对于 Ubuntu/Debian 系统
sudo apt-get update
sudo apt-get install ntpdate
# 对于 CentOS/RHEL 系统
sudo yum install ntpdate