Rocky Linux 8.9配置Kubernetes集群详解,适用于CentOS环境

在配置基于Rocky Linux 8.9的Kubernetes集群时,您需要遵循一系列具体的步骤以确保集群的稳定性和性能。以下是这一过程的概要:

系统环境设置

1. 系统更新:

首先,确保所有节点更新到最新版本。

复制代码
sudo dnf update -y
sudo reboot
​

2. 主机名设置:

每个节点都需要一个唯一的主机名。

复制代码
sudo hostnamectl set-hostname <hostname>
​

例如,master节点可设为 master-node,工作节点可设置为 worker-node1worker-node2等。

3. 配置hosts文件:

在所有节点上配置 /etc/hosts

复制代码
<master-ip> master-node
<worker1-ip> worker-node1
<worker2-ip> worker-node2
​

4. 禁用SELinux:

由于SELinux可能与容器运行时产生冲突,因此建议将其禁用。

复制代码
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
​

5. 关闭Swap:

为了Kubernetes正常运行,需要关闭swap。

复制代码
sudo swapoff -a
sudo sed -i '/ swap / s/^(.*)$/#\1/g' /etc/fstab
​

6. 防火墙设置:

建议暂时关闭防火墙,以简化部署过程。

复制代码
sudo systemctl stop firewalld
sudo systemctl disable firewalld
​

安装Docker和Kubernetes

1. 安装Docker引擎:

Kubernetes要求存在容器运行环境,Docker是一个流行的选择。

复制代码
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io -y
sudo systemctl start docker
sudo systemctl enable docker

2. 配置Docker Cgroup驱动:

Kubernetes推荐使用 systemd作为cgroup驱动。

复制代码
sudo mkdir /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
sudo systemctl restart docker

3. 添加Kubernetes仓库:

复制代码
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$basearch
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
exclude=kube*
EOF

4. 安装Kubernetes组件:

复制代码
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet

初始化Kubernetes集群

1. 初始化主节点:

在master节点上执行以下命令来初始化集群:

复制代码
sudo kubeadm init --pod-network-cidr=10.244.0.0/16

初始化成功后,记录下显示的 kubeadm join命令。

相关推荐
流浪00122 分钟前
Linux系统22:——文件(六):目标文件与ELF深度解析:从编译到加载的全景揭秘
linux·运维·服务器
kidwjb39 分钟前
Linux内核-内核信号处理函数
linux·内核·信号处理
爱吃龙利鱼1 小时前
K8s 运维体系搭建:全组件监控与日志收集实战(victoria-metrics-k8s-stack 0.87.0)
运维·容器·kubernetes
欢醉1 小时前
踩了个大坑!K8s 挂载目录的日志,居然也在吃容器内存?
kubernetes·springcloud
沉迷学习 日益消瘦1 小时前
10-可观测性与排错
kubernetes
其实防守也摸鱼1 小时前
镜像校验完成iso完整操作流程(Windows 环境,适配 Ubuntu 22.04 / 24.04)
linux·服务器·windows·学习·ubuntu·教程
努力努力再努力wz1 小时前
【分布式系统与 RPC 框架系列】从单机瓶颈到远程调用:一文理解分布式架构与 RPC 原理
linux·网络·c++·分布式·网络协议·rpc·架构
寒水馨3 小时前
Linux下载、安装 Codex CLI(附安装包codex-x86_64-unknown-linux-musl.tar.gz)
linux·openai·终端·ai编程·codex·智能体·codex cli
冰封之寂12 小时前
Docker 资源管理终极指南:CPU、内存与 IO 的精细化控制
linux·运维·服务器·docker·云计算
xiaoye-duck12 小时前
《Linux系统编程》Linux 系统多线程(五):<线程同步与互斥>线程互斥(上):从条件变量到生产者消费者模型详解
linux·线程