centos7上部署k8s 1.24.4集群

发现还没写过k8s的部署博客,虽然不复杂,但还是记录一下。

环境准备

1、系统要求

  • 至少 3 台 CentOS 7.x 服务器(1 个 master,2 个 worker)
  • 每台服务器 2GB 以上内存,2 核 CPU
  • 服务器间网络互通
  • 静态 IP 地址配置

2、关闭防火墙和 SELinux

systemctl disable --now firewalld
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

3、关闭Swap分区

swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab

4、设置主机名和 hosts 文件

# 每台服务器设置唯一主机名
hostnamectl set-hostname <hostname>

# 所有服务器添加hosts记录
cat >> /etc/hosts << EOF
192.168.1.100 master
192.168.1.101 worker1
192.168.1.102 worker2
EOF

5、配置内核参数

cat > /etc/modules-load.d/k8s.conf << EOF
overlay
br_netfilter
EOF

modprobe overlay
modprobe br_netfilter

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

sysctl --system

安装容器运行时(Containerd)

1、添加Docker仓库

国内环境配置阿里的docker仓库

yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

没有网络限制的可以配置官方的仓库

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2、安装Cintainerd

yum install -y containerd.io-1.6.6
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

# 修改配置使用systemd cgroup驱动
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml

systemctl enable --now containerd

安装Kubernetes组件

1、添加 Kubernetes 仓库

阿里仓库

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

官方仓库

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.24/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.24/rpm/repodata/repomd.xml.key
EOF

2、安装指定版本的 Kubernetes 组件

yum install -y kubelet-1.24.4 kubeadm-1.24.4 kubectl-1.24.4
systemctl enable --now kubelet

初始化 Master 节点

1、执行初始化命令

kubeadm init --kubernetes-version=1.24.4 \ --pod-network-cidr=10.244.0.0/16 \ --apiserver-advertise-address=192.168.1.100 \ --image-repository registry.aliyuncs.com/google_containers

2、配置 kubectl

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

安装网络插件(Flannel)

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.19.0/Documentation/kube-flannel.yml

加入Worker节点

# 在master节点执行以下命令,得到加入集群的命令
kubeadm token create --print-join-command

# 在worker节点上执行加入的命令
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
        --discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890

  

posted @ 2025-07-14 14:16  高佳丰  阅读(72)  评论(0)    收藏  举报