CentOS 9安装Kubernetes(k8s)集群

前言

1、版本说明

系统版本:CentOS 9

k8s版本:v1.29.5

docker版本:26.1.3

harbor:v2.9.4

2、提前准备好1台虚拟机,可以参考博客:Vmware 17安装 CentOS9

3、虚拟机提前安装好docker,参考博客:CentOS7安装docker以及docker-compose

4、如果部署k8s集群的时候使用个人的镜像仓库,请提前部署好,本人使用的是harbor搭建的私有仓库,可以参考博客:搭建Harbor镜像仓库

5、集群部署参考官方文档:使用 kubeadm 创建集群 | Kubernetes 

6、集群中的网络插件安装文档参考:Calico网络插件安装

7、以下是本人4台虚拟机的ip地址以及主机名信息,其中一台为镜像仓库

节点 主机名 ip
主节点 k8s-master 192.168.65.130
节点1 k8s-node1 192.168.65.131
节点2 k8s-node2 192.168.65.132
私有镜像仓库 k8s-harbor 192.168.65.135

三台虚拟机环境准备

克隆3台虚拟机

我这里已经安装好了一台CentOS 9的虚拟机,并且此虚拟机已经安装好了docker环境,在此虚拟机基础上克隆出来3台。

1、开始克隆

2、直接下一步

3、选择虚拟机中的当前状态,然后点击下一步

4、选择创建完整克隆,点击下一步

5、输入虚拟机名称,选择存储位置,点击完成

 6、等待克隆完成,点击关闭

7、重复步骤1-6,克隆出另外2台虚拟机,我的另外两台虚拟机名称分别为node1和 node2,克隆完成后如下,总共3台

修改虚拟机信息

修改虚拟机的 mac地址

1、点击编辑虚拟机设置

2、硬件-----网络适配器-----高级

3、点击生成,生成新的mac地址 ,然后点击确定

 4、点击处理器,勾选虚拟化引擎,然后点击确定

5、重复步骤1-4,修改另外2台虚拟机的mac地址,勾选虚拟化选项

修改虚拟机主机名、ip地址和uuid 

1、点击开启此虚拟机,启动虚拟机,使用终端登录虚拟机

2、修改虚拟机主机名称

# 修改主机名
hostnamectl set-hostname k8s-master

# 查看主机名
hostname

3、修改虚拟机ip地址和uuid

3.1、生成UUID

uuidgen

3.2、修改网卡信息

vim /etc/NetworkManager/system-connections/ens160.nmconnection
### 使用 kubeadm 在 CentOS 7.9安装配置 Kubernetes 集群 #### 准备工作 为了确保顺利部署 Kubernetes 集群,在开始之前需确认所有节点已正确设置主机名解析并关闭防火墙与 SELinux。 #### 安装必要组件 在每台服务器上执行以下命令来安装 `kubeadm`、`kubelet` 和 `kubectl`: ```bash yum install -y --setopt=obsoletes=0 \ kubeadm-1.21.10-0 \ kubelet-1.21.10-0 \ kubectl-1.21.10-0 ``` 这一步骤会下载指定版本的软件包并完成安装[^1]。 #### 启动并启用 Kubelet 服务 为了让 Kubelet 能够随系统启动自动运行,需要开启其开机自启功能: ```bash systemctl enable --now kubelet ``` 此操作可使 Kubelet 处于活动状态以便后续初始化集群时调用。 #### 安装 CRI-Dockerd 中间件 由于默认情况下 Docker 并不完全兼容最新版 Kubernetes 的容器运行时接口 (CRI),因此建议额外安装专门适配器——cri-dockerd 来解决两者之间的兼容性问题。具体做法如下所示: ```bash wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.2/cri-dockerd-0.3.2-3.el7.x86_64.rpm rpm -ivh cri-dockerd-0.3.2-3.el7.x86_64.rpm ``` 上述指令将从 GitHub 发布页面获取适用于当前系统的 RPM 文件并进行本地安装[^3]。 #### 初始化 Master 节点 当以上准备工作完成后即可着手构建主控端(Master Node)。切换到 master 主机执行下面这条命令来进行初始化过程: ```bash kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 这里指定了 Pod 网络范围参数以适应 Flannel 插件的要求;实际应用可根据需求调整相应选项[^2]。 #### 设置管理员权限 初始化成功后还需进一步配置普通用户访问权限,通常我们会创建 .kube/config 文件链接至 home 目录下方便管理: ```bash mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 这些步骤使得非 root 用户也能正常连接 API Server 进行资源管理和监控。 #### 加入 Worker 节点 最后要做的就是让其他成员加入进来形成完整的分布式架构体系。前往 worker 工作站输入由前面阶段产生的 token 字符串作为凭证完成注册动作: ```bash kubeadm join <master-ip>:<master-port> --token <token-string> ``` 注意替换尖括号内的占位符为真实有效的数值信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值