HoRain云--CentOS7快速搭建K8S集群指南
本文详细介绍了在CentOS 7系统上部署Kubernetes集群的完整教程。主要内容包括:环境准备(系统要求、节点规划)、系统基础配置(禁用Swap、关闭SELinux等)、Docker安装与配置、Kubernetes组件安装、Master节点初始化、Worker节点加入、集群状态验证以及常见问题解决方法。教程基于Kubernetes 1.25.0版本,使用kubeadm工具和Flannel网络

🎬 HoRain 云小助手:个人主页
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
目录

CentOS7系统K8S集群安装教程
本文将详细介绍在CentOS7系统上使用kubeadm方式部署Kubernetes(K8S)集群的完整过程。本教程基于Kubernetes 1.25.0版本,适用于生产环境部署。
一、环境准备
1. 系统要求
- 操作系统:CentOS 7.6+ (推荐7.9)
- 每台机器:2GB+ RAM,2CPU+
- 网络:所有节点之间网络互通
- 防火墙:开放必要端口
2. 节点规划
假设我们构建一个简单的K8S集群:
- Master节点:192.168.255.101 (k8s-master)
- Worker节点:192.168.255.102 (k8s-node1), 192.168.255.103 (k8s-node2)
二、系统基础配置
1. 禁用Swap
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
2. 关闭SELinux
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
3. 配置内核参数
cat << EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system
modprobe br_netfilter
4. 设置主机名和hosts文件
# 在所有节点上执行
hostnamectl set-hostname k8s-master # Master节点
hostnamectl set-hostname k8s-node1 # Node1节点
hostnamectl set-hostname k8s-node2 # Node2节点
# 在/etc/hosts中添加以下内容
vim /etc/hosts
192.168.255.101 k8s-master
192.168.255.102 k8s-node1
192.168.255.103 k8s-node2
5. 配置SSH免密登录
# 在Master节点上生成密钥
ssh-keygen -t rsa
# 将公钥分发到其他节点
for i in 102 103; do
ssh-copy-id root@192.168.255.$i
done
三、安装Docker
1. 安装Docker
yum update -y
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl enable docker && systemctl start docker
2. 配置Docker镜像加速
mkdir -p /etc/docker
cat << EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}
EOF
systemctl restart docker
四、安装Kubernetes组件
1. 配置Kubernetes仓库
cat << EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
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
EOF
2. 安装kubeadm、kubelet和kubectl
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
五、初始化Master节点
1. 初始化Master节点
kubeadm init \
--apiserver-advertise-address=$(hostname -I | awk '{print $1}') \
--image-repository=registry.aliyuncs.com/google_containers \
--kubernetes-version=v1.25.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=Swap
2. 配置kubectl
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
3. 安装网络插件(Flannel)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
六、加入Worker节点
1. 获取加入命令
在Master节点上执行:
kubeadm token create --print-join-command
2. 在Worker节点上执行加入命令
# 在Worker节点上执行Master节点输出的加入命令
kubeadm join 192.168.255.101:6443 --token abcdef.1234567890abcdef --discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
七、验证集群状态
1. 检查节点状态
kubectl get nodes
2. 检查系统Pod
kubectl get pods --all-namespaces
3. 允许Master节点调度Pod(可选)
kubectl taint nodes --all node-role.kubernetes.io/master-
八、常见问题及解决方法
1. 镜像拉取失败
如果遇到镜像拉取问题,可以配置国内镜像源:
# 在/etc/docker/daemon.json中添加
{
"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}
2. 网络插件安装失败
如果kube-flannel.yml无法下载,可以先下载到本地再应用:
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml
3. 节点状态为NotReady
等待几分钟,让所有Pod启动完成。如果仍然有问题,检查网络插件日志:
kubectl logs -n kube-system kube-flannel-ds-xxxxx
九、总结
通过以上步骤,您已经成功在CentOS7系统上部署了一个Kubernetes集群。此集群包含一个Master节点和两个Worker节点,使用Flannel作为网络插件。
Kubernetes集群部署是云原生应用的基础,后续您可以在此基础上部署各种应用和服务。如需部署私有镜像仓库,可以参考Harbor的部署方式,将镜像推送到私有仓库,然后在集群中使用。
注意:在生产环境中,建议使用更安全的配置,如设置更复杂的token,配置TLS证书等。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
更多推荐


所有评论(0)