openeuler/k8s-install发布工具详解:如何一键构建在线/离线安装包
【免费下载链接】k8s-installCloud native infrastructuer (base on Kubernetes) multiple baseline maintain/installation/configuratgion/security-update, online/offline package publish tool.项目地址: https://gitcode.com/openeuler/k8s-install
前往项目官网免费下载:https://ar.openeuler.org/ar/
openEuler / k8s-install是一款强大的云原生基础设施工具,专注于Kubernetes的多基线维护、安装配置及安全更新,提供便捷的在线/离线包发布功能。本文将详细介绍如何使用这一工具快速构建符合需求的安装包,助力开发者和运维人员轻松部署Kubernetes集群。
🌟 核心功能与优势
openeuler/k8s-install发布工具为Kubernetes部署提供了全方位支持,其核心优势包括:
- 多环境适配:支持openEuler 22.03LTS至25.03等多个版本,以及ctyunos系列操作系统
- 灵活部署选项:同时支持在线安装(通过yum源)和离线部署(预打包镜像与依赖)
- 多版本管理:支持Kubernetes 1.20.2、1.25.3和1.29.1等多个稳定版本
- 容器运行时支持:兼容containerd、docker和crio等主流容器运行时
- 架构兼容性:同时支持x86_64和aarch64架构
📋 环境准备与安装
1. 环境要求
在使用发布工具前,请确保您的环境满足以下条件:
- 操作系统:openEuler 22.03LTS/23.09/24.03LTS/25.03或ctyunos2/3/4系列
- 架构:x86_64或aarch64
- 网络:在线模式需联网,离线模式需提前准备离线包
- 权限:需要root权限执行安装操作
2. 获取项目源码
首先克隆项目仓库到本地:
git clone https://gitcode.com/openeuler/k8s-install cd k8s-install项目结构清晰,主要包含以下关键目录和文件:
- 配置文件:config/目录下包含各类配置模板,如kubeadm-template.yaml、flannel.yaml等
- 发布脚本:publish.sh是构建安装包的核心脚本
- 版本定义:variable.sh定义了各Kubernetes版本的组件信息
- 安装脚本:k8s-install和k8s-install-offline分别为在线和离线安装脚本
🚀 在线安装包构建流程
1. 在线安装包特点
在线安装包体积小,通过yum源动态获取依赖,适用于网络条件良好的环境。构建在线安装包的主要步骤包括:
- 配置软件源
- 定义Kubernetes版本和组件
- 生成rpm安装包
- 测试并发布到软件源
2. 执行在线发布
使用publish.sh脚本构建在线安装包,需要指定三个必要参数:
-b:Kubernetes基线版本(120代表1.20,125代表1.25,129代表1.29)-d:目标操作系统(如oe2403代表openEuler 24.03)-a:架构类型(x86_64或aarch64)
示例命令:
./publish.sh -b 129 -d oe2403 -a x86_64该命令将为openEuler 24.03系统构建Kubernetes 1.29版本的x86_64架构在线安装包。
📦 离线安装包构建流程
1. 离线安装包特点
离线安装包包含所有必要的rpm包和容器镜像,适用于无网络或网络受限环境。构建离线安装包的主要步骤包括:
- 配置坚果云网盘(用于存储离线资源)
- 下载所需rpm包和容器镜像
- 打包所有组件为tgz压缩包
- 测试离线部署功能
2. 配置坚果云(首次使用)
离线包构建需要坚果云存储资源,配置步骤如下:
cd config # 修改坚果云配置文件 sed -i 's/^username=.*/username="your_username"/' jianguoyun.config sed -i 's/^password=.*/password="your_app_password"/' jianguoyun.config注意:password需填写坚果云应用密码,而非登录密码。获取方式:登录坚果云 → 账户信息 → 安全选项 → 添加应用 → 复制应用密码
3. 执行离线发布
同样使用publish.sh脚本构建离线安装包:
./publish.sh -b 125 -d ctl3 -a aarch64该命令将为ctyunos3系统构建Kubernetes 1.25版本的aarch64架构离线安装包。构建完成后,可在坚果云的k8s-install-rpms/ctl3/125路径下找到生成的aarch64.tgz压缩包。
⚙️ 自定义配置说明
openeuler/k8s-install允许用户根据需求自定义多种配置,主要配置文件位于config/目录:
1. 软件源配置
通过修改repo文件可以更换软件源,例如将默认的华为源替换为网易源:
cd config sed -i 's/repo\.huawei\.com/mirrors.163.com/g' openEuler2403.repo2. 容器运行时配置
daemon.json文件用于配置docker运行时,可添加或修改镜像仓库地址:
{ "insecure-registries": [ "docker.ctyun.cn:60001", "docker-hb02.ctyun.cn:60001" ] }3. 网络插件配置
flannel.yaml文件用于配置网络插件,可修改镜像地址和版本:
image: registry.cn-hangzhou.aliyuncs.com/k8s-install-flannel/flannel:v0.25.1同时需要修改variable.sh中对应的版本定义:
export FLANNEL_VERSION="v0.25.1" export FLANNEL_CNI_PLUGIN_VERSION="v1.4.1-flannel1"✅ 验证与测试
1. 在线安装测试
添加测试yum源后执行安装:
# 添加测试源 cat > /etc/yum.repos.d/test.repo << EOF [test] name=test repo baseurl=https://your_test_repo_url enabled=1 gpgcheck=0 EOF # 安装测试 yum makecache && yum install -y k8s-install k8s-install -d oe2403 -b 129 -t containerd -n master2. 离线安装测试
下载离线包并解压测试:
# 解压离线包 tar zxvf x86_64.tgz cd k8s-install-offline # 执行离线安装 ./k8s-install-offline -d oe2403 -b 129 -t containerd -n master验证集群状态:
kubectl get nodes kubectl get pods -A📝 总结
openeuler/k8s-install发布工具通过简洁的命令行操作,实现了Kubernetes安装包的一键构建,无论是在线还是离线环境都能轻松应对。其灵活的配置选项和多版本支持,使其成为openEuler生态中部署Kubernetes的理想选择。通过本文介绍的方法,您可以快速构建符合需求的安装包,加速云原生基础设施的部署流程。
无论是新手用户还是资深开发者,都能通过这个强大的工具显著提升Kubernetes部署效率,专注于业务应用的开发与运维,而非环境配置的繁琐工作。现在就尝试使用openeuler/k8s-install,体验一键构建Kubernetes安装包的便捷吧!
【免费下载链接】k8s-installCloud native infrastructuer (base on Kubernetes) multiple baseline maintain/installation/configuratgion/security-update, online/offline package publish tool.项目地址: https://gitcode.com/openeuler/k8s-install
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考