news 2026/8/29 8:04:34

HoRain云--CentOS7快速搭建K8S集群指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--CentOS7快速搭建K8S集群指南

🎬 HoRain 云小助手:个人主页

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

目录

⛳️ 推荐

CentOS7系统K8S集群安装教程

一、环境准备

1. 系统要求

2. 节点规划

二、系统基础配置

1. 禁用Swap

2. 关闭SELinux

3. 配置内核参数

4. 设置主机名和hosts文件

5. 配置SSH免密登录

三、安装Docker

1. 安装Docker

2. 配置Docker镜像加速

四、安装Kubernetes组件

1. 配置Kubernetes仓库

2. 安装kubeadm、kubelet和kubectl

五、初始化Master节点

1. 初始化Master节点

2. 配置kubectl

3. 安装网络插件(Flannel)

六、加入Worker节点

1. 获取加入命令

2. 在Worker节点上执行加入命令

七、验证集群状态

1. 检查节点状态

2. 检查系统Pod

3. 允许Master节点调度Pod(可选)

八、常见问题及解决方法

1. 镜像拉取失败

2. 网络插件安装失败

3. 节点状态为NotReady

九、总结


CentOS7系统K8S集群安装教程

本文将详细介绍在CentOS7系统上使用kubeadm方式部署Kubernetes(K8S)集群的完整过程。本教程基于Kubernetes 1.25.0版本,适用于生产环境部署。

一、环境准备

1. 系统要求

2. 节点规划

假设我们构建一个简单的K8S集群:

二、系统基础配置

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 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 15:19:01

FSMN VAD支持Gradio可视化,小白也能快速上手

FSMN VAD支持Gradio可视化&#xff0c;小白也能快速上手 1. 为什么语音活动检测这么重要&#xff1f; 你有没有遇到过这种情况&#xff1a;录了一段30分钟的会议音频&#xff0c;但真正说话的时间可能只有15分钟&#xff0c;其余全是静音或背景噪音&#xff1f;如果靠人工去剪…

作者头像 李华
网站建设 2026/8/21 13:36:00

实测对比豆包手机:Open-AutoGLM到底差在哪?

实测对比豆包手机&#xff1a;Open-AutoGLM到底差在哪&#xff1f; 1. 豆包手机的“神话”与现实 最近&#xff0c;一款名为“豆包手机”的设备突然火出圈。它不是传统意义上的新品牌手机&#xff0c;而是一种将AI Agent深度集成到系统层的智能终端。用户只需说一句“帮我点杯…

作者头像 李华
网站建设 2026/8/21 13:35:59

Spring Boot 3与Redis深度整合避坑指南(序列化乱码全解析)

第一章&#xff1a;Spring Boot 3与Redis整合的背景与挑战 随着微服务架构的广泛应用&#xff0c;系统对高性能数据访问和缓存管理的需求日益增强。Redis 作为主流的内存数据存储系统&#xff0c;凭借其高吞吐、低延迟的特性&#xff0c;成为 Spring Boot 应用中不可或缺的组件…

作者头像 李华
网站建设 2026/8/21 13:36:03

清理神器,外国软件

电脑用久了&#xff0c;总会堆积一些垃圾&#xff0c;可能到现在还没觉得电脑慢&#xff0c;但用不了多久&#xff0c;那些无用的文件就会悄悄占据磁盘空间&#xff0c;之前有给大家介绍过一些清理工具&#xff0c;今天给大家介绍一款厉害的国外软件&#xff0c;有需要的小伙伴…

作者头像 李华
网站建设 2026/8/24 5:01:30

SGLang真实案例展示:自动生成结构化报表

SGLang真实案例展示&#xff1a;自动生成结构化报表 1. 为什么结构化报表生成一直是个难题 你有没有遇到过这样的场景&#xff1a;业务部门每天早上九点准时发来一张Excel表格&#xff0c;要求把销售数据、用户行为、渠道转化率等十几项指标从不同数据库里捞出来&#xff0c;…

作者头像 李华