news 2026/5/9 3:31:28

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/5/8 22:28:56

HoRain云--CentOS7部署Kafka超详细指南

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

作者头像 李华
网站建设 2026/5/7 18:11:51

HoRain云--GaussDB性能优化全攻略

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

作者头像 李华
网站建设 2026/5/9 2:55:55

HoRain云--JavaScript字符串操作全解析

&#x1f3ac; HoRain云小助手&#xff1a;个人主页 &#x1f525; 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;…

作者头像 李华
网站建设 2026/4/30 13:16:05

Python定时任务进阶技巧(APScheduler动态增删任务全解析)

第一章&#xff1a;APScheduler动态任务管理概述 APScheduler&#xff08;Advanced Python Scheduler&#xff09;是一个轻量级但功能强大的Python库&#xff0c;用于在应用程序中调度和执行周期性或延迟任务。与传统定时任务工具如cron不同&#xff0c;APScheduler支持在运行时…

作者头像 李华
网站建设 2026/5/8 18:28:48

揭秘Python反向循环的3大核心方法:你真的会用[::-1]吗?

第一章&#xff1a;Python反向循环的核心概念解析 在Python编程中&#xff0c;反向循环是一种常见的操作模式&#xff0c;用于从后向前遍历序列类型数据&#xff0c;如列表、元组或字符串。与正向遍历不同&#xff0c;反向循环能够更高效地处理某些特定场景&#xff0c;例如在不…

作者头像 李华