Kubernetes生产实践系列之八:从源代码构建Kubernetes RPM包

离线安装4:kubernetes(k8s)离线安装_kubernetes 离线安装 firewall-cmd --zone=public --add-port=10257/tcp --permanent # kube-controller-manager 自身。firewall-cmd --zone=trusted --add-source=192.168.80.60 --permanent # 信任集群中各个节点的IP。firewall-cmd --zone=public --add-port=10259/tcp --permanent # kube-scheduler 自身。 阅读详情

一、前言

从源代码构建Kubernetes的RPM可以帮助我们随时测试新的功能并且进行深度的debug。

转载自https://blog.youkuaiyun.com/cloudvtec

二、准备工作

安装go依赖

yum install epel-release -y
yum update -y && yum upgrade -y
yum install golang go-md2man go-bindata gcc bison git rpm-build vim -y
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source /root/.gvm/scripts/gvm
gvm install go1.4 -B
gvm use go1.4
gvm install go1.11.1
gvm use go1.11

安装docker

yum install -y docker
systemctl enable docker
systemctl start docker

转载自https://blog.youkuaiyun.com/cloudvtec

三、获取构建环境和进行构建

3.1 获取Fedora发布的Kubernetes构建工具仓库

git clone https://src.fedoraproject.org/cgit/rpms/kubernetes.git

kubernetes.spec 
...
%global provider                github
%global provider_tld            com
%global project                 kubernetes
%global repo                    kubernetes
# https://github.com/kubernetes/kubernetes
%global provider_prefix         %{provider}.%{provider_tld}/%{project}/%{repo}
%global import_path             k8s.io/kubernetes
%global commit                  2bba0127d85d5a46ab4b778548be28623b32d0b0
%global shortcommit              %(c=%{commit}; echo ${c:0:7})
%global con_provider            github
%global con_provider_tld        com
%global con_project             kubernetes
%global con_repo                contrib
# https://github.com/kubernetes/contrib
%global con_provider_prefix     %{con_provider}.%{con_provider_tld}/%{con_project}/%{con_repo}
%global con_commit              5b445f1c53aa8d6457523526340077935f62e691
%global con_shortcommit         %(c=%{con_commit}; echo ${c:0:7})
%global kube_version            1.10.3
%global kube_git_version        v%{kube_version}
...

从 spec 文件可以看到构建过程依赖 kubernetes 主仓库和 contrib 仓库,根据这个版本所依赖kubernetes的commit id,可以从github找到对于的commit

https://github.com/kubernetes/kubernetes/commit/2bba0127d85d5a46ab4b778548be28623b32d0b0

3.2 获取源代码

https://github.com/kubernetes/kubernetes/archive/2bba0127d85d5a46ab4b778548be28623b32d0b0/kubernetes-2bba012.tar.gz
https://github.com/kubernetes//contrib/archive/5b445f1c53aa8d6457523526340077935f62e691/contrib-5b445f1.tar.gz

3.3 构建RPM

mkdir -p /root/rpmbuild/SOURCES/
mv ~/kubernetes/* /root/rpmbuild/SOURCES/
cd /root/rpmbuild/SOURCES/
rpmbuild -ba kubernetes.spec

3.4 查看构建结果

 
[root@k8s-tools SOURCES]# ls -l ../RPMS/x86_64/
total 145348
-rw-r--r--. 1 root root    41872 Oct 30 04:56 kubernetes-1.10.3-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 28983340 Oct 30 04:58 kubernetes-client-1.10.3-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 20025212 Oct 30 04:58 kubernetes-kubeadm-1.10.3-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 49244240 Oct 30 04:57 kubernetes-master-1.10.3-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 28641836 Oct 30 04:57 kubernetes-node-1.10.3-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 21887636 Oct 30 04:57 kubernetes-unit-test-1.10.3-1.el7.x86_64.rpm

转载自https://blog.youkuaiyun.com/cloudvtec

 

 

采用rpm离线部署kubernetes1.30.0至1.34.0使用calico网络 1、修改主机名/hosts文件2、修改hosts文件每台机器上执行EOF3、关闭防火墙每台机器上执行:4、关闭SELINUX配置每台机器上执行:sestatus5、安装ipset、ipvsadm6、关闭swap交换区#临时关闭Swap分区swapoff -a#永久关闭Swap分区swap.#查看下7、配置ssh免密登录ssh-keygen 一直回车复制id_rsa.pub在其他机器创建/root/.ssh目录。 阅读详情

相关推荐

Kubernetes集群组件安装(rpm安装)

节点规划 k8s-m :192.168.2.50 k8s-n1 :192.168.2.51 k8s-n2 :192.168.2.52 准备YUM源 curl http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.re

bjgaocp的博客 820

Kubernetes生产实践系列之九:通过RPM安装Kubernetes HA集群

一、前言

cloudvtech的博客 703

kubernetes的rpm安装包编译过程

本文编译出的安装包不是kubeadm.rpm,kubelet.rpm,kubectl.rpm。而是kubernetes-master.rpm,kubernetes-node.rpm,kubernetes-client.rpm。 在https://src.fedoraproject.org/rpms/kubernetes 有rpm编译源码,目前上面最新版本是kubernetes1.9.1,前一个版

newcrane的博客 2429

[Kubernetes] Kubernetes 源码编译 RPM 安装包

一、 背景           本文在基于博客 http://blog.youkuaiyun.com/shida_csdn/article/details/78415946 实现 Kubernetes 源码编译基础上,           进一步实现将可执行程序编译生成 RPM 安装程序。 二、 实现步骤   2.1   下载打包程序源码 # git clone https://github.com

shida's blog 1778

从Linux到K8s:Docker容器化与Kubernetes集群实战指南

容器化技术通过操作系统级虚拟化实现应用与运行环境的隔离,其核心原理是基于Linux内核的命名空间和控制组机制。这种技术为现代软件部署带来了革命性价值,显著提升了资源利用率、部署效率和跨环境一致性。在微服务架构、持续集成和云原生应用等场景中,容器化已成为基础支撑技术。Docker作为最流行的容器运行时,简化了镜像构建和容器管理流程;而Kubernetes则进一步解决了容器编排、服务发现和自动扩缩容等分布式系统难题。本文聚焦Docker镜像管理和Kubernetes集群搭建等热词内容,通过完整实战演示帮助读者掌

weixin_33691700的博客 532

k8s-v1.23.4-arm版本的离线包

适用于银河麒麟sever-V10操作系统 arm架构 k8s-v1.23.4版本 离线安装 包含k8s依赖项,组件镜像包,k8s-rpm包,yaml文件 安装过程word版

kubernetes手动构建rpm包+kubeadm安装

本次构建kubernetes的rpm包使用的是kubernetes-server-linux-amd64.tar.gz里面的.spec文件进行构建。因为kubernetes-server-linux-amd64.tar.gz包里面自带了每个组件的docker镜像。相比于从GitHub上面clo...

954

kubernetes1.10.3rpm 包

kubernetes 1.10.3 rpm 包 kubernetes 1.10.3 rpm 包

通过kubernetes release制作k8s rpm包

安装k8s集群组件最舒适的方法是通过yum install去安装,这种安装方法简单,一般也都能够正常安装。自己在尝试安装k8s集群时,首先要去寻找yum源,制作repo文件,才能安装指定k8s版本。但是即使我们这一通操作下来还是会存在各种各样的问题,最经典的问题是被“墙”,好吧,求人不如求己,我们可以通过kubernetes release制作k8s 的kubelet、kubeadm、kubect...

polarwu的博客 2710

Kubernetes 1.8.1 RPM包

在安装Kubernetes,最大的问题就是无法连接到资源库下载Kubernetes 1.8.1 RPM。 有了RPM 包,安装就非常容易了。

kubernetes rpm安装包

kubernetes rpm安装包

k8s rpm安装包本地构建——麒麟系统也适用(记录)

Source0~7 是需要的资源文件,建议提前下载到当前目录,并将其内容修改为下载好的包名,将步骤(1)中kubernetes/server/bin目录下kubelet、kubectl、kubeadm的二进制文件拷贝到当前目录。将修改好配置文件及下载好资源文件的release-0.16.2/packages/rpm目录下所有内容,分别拷贝到/root/rpmbuild/SOURCES/${ARCH}和/root/rpmbuild/SPEC目录。该命令会在/root下创建工作目录rpmbuild,结构如下。

weixin_45150455的博客 2016

k8s 安装包快捷安装方式包

k8s 安装包快捷安装方式包

openEuler Jenkins构建与安装检查终极指南:确保RPM包可正常构建和安装

前往项目官网免费下载:[https://ar.openeuler.org/ar/](https://ar.openeuler.org/ar/?utm_source=csdn_blog) 在openEuler社区中,确保软件包质量是至关重要的任务。本文将为您详细介绍如何使用openEuler Jenkins门禁系统进行RPM包的构建与安装检查,帮助开发者确保提交的代码能够顺利构建成可安装的软件包。

gitblog_06853的博客 136

lenovo联想拯救者Legion Y9000P 2022款2023款2024款笔记本电脑(82RF,82WK,82WQ,83DE,83DF)原装出厂Windows11预装OEM系统镜像下载

联想原装出厂系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office办公软件、联想电脑管家、联想浏览器、联想软件商店、legionzone控制中心等预装程序。链接:https://pan.baidu.com/s/1YBji_oh7xOkq-NxnS8Mm8g?链接:https://pan.baidu.com/s/1S7_enXmuoja1a9ASvUT5Fg?拯救者Legion Y9000P IRX9H 2024款【83DE】原厂Win11系统包。

QQ17855069的博客 6507

echarts的坐标轴处理算法

参考原文:https://www.cnblogs.com/vicky-li/p/11653415.html。2、可用于双轴的情况,指定splitNumber,保证左右两边的线没有交叉显示的情况。1、设置echarts显示的最大最小值,让数据显示比较有起伏。处理echarts的一些问题。

HYeeee的博客 800

比手动打包快10倍:AI驱动的RPM构建流水线

实际操作时发现,相比自己搭建CI/CD流水线,这种托管方案省去了配置Jenkins和Nexus的麻烦,特别适合快速验证新技术方案。| 总耗时 | 140min | 9.7min | 14x || 依赖下载耗时 | 47min | 2.8min | 17x || 编译构建耗时 | 68min | 6.4min | 10x || 指标 | 传统方式 | AI辅助方案 | 提升倍数 |

JetRaven12的博客 661

双有源桥DC-DC变换器:原理、软开关与移相控制深度解析

隔离型DC-DC变换器是电力电子系统的核心部件,通过高频变压器实现电气隔离与电压匹配,保障系统安全与灵活适配。其工作原理基于功率半导体器件的开关动作,通过调制策略控制能量传输。该技术的核心价值在于实现高效、高功率密度的电能转换,并支持双向能量流动,这对于提升系统整体能效和运行灵活性至关重要。在新能源储能、电动汽车V2G及数据中心供电等场景中,双向能量流成为刚性需求,推动了如双有源桥等先进拓扑的应用。本文聚焦于双有源桥这一实现高效双向隔离变换的“明星”方案,深入剖析其利用移相控制实现软开关的机理。通过分析谐振

weixin_34195142的博客 378

查看rpm的部署路径_国内 Kubernetes 离线安装镜像,rpm包获取方式

关于 Kubernetes 安装的文档,网上一大堆,我这里就不班门弄斧了。但是当我们需要离线部署的时候总的获取 k8s相关的安装包 镜像包:kube-apiserverkube-schedulerkube-controller-managerkube-proxypauseetcdcorednsrpm包:kubeadmkubeletkubectlkubernetes-cnicri-tools (用于...

weixin_42651281的博客 580

ArcGIS渔网分割实战:用Create Fishnet快速生成1km×1km网格(附GDP数据分析案例)

本文详细解析了ArcGIS中Create Fishnet工具在渔网分割中的应用,从基础操作到GDP空间分析全流程。通过1km×1km网格的创建与优化,实现经济数据的空间标准化和可视化表达,解决数据融合与分析的三大核心痛点。

weixin_29250403的博客 295

第3章 zynq MII转GMII的配置和EMIO UART0的配置

本文介绍了在Vivado工程中实现MII转GMII接口适配的过程,同时配置EMIO UART0接口。主要内容包括:修改PS IP核添加UART0接口,使用concat IP核进行信号整合,调整GMII信号引脚连接,添加约束文件定义引脚映射,并最终生成bit流文件。通过详细的操作截图和TCL约束代码,展示了从硬件配置到生成可编程文件的完整流程,为Zynq平台开发提供了实用参考。

qq_36517072的博客 903

kubernetes ARM版 离线部署k8s

在ARM架构的硬件上离线部署Kubernetes以及KubeSphere,你需要提前准备所有必要的二进制文件、镜像和其他资源,因为ARM架构下的软件包可能与x86架构不同。

weixin_43674738的博客 3038

180.在 Vue3 中使用 OpenLayers 实现多个多边形的绘制、编辑、删除与清空

【摘要】本文介绍如何在Vue3+TypeScript环境下使用OpenLayers实现多边形地图交互功能。通过Composition API封装核心逻辑,实现了多边形绘制、编辑、删除及清空等操作。关键技术包括:使用VectorLayer管理图形数据,Draw/Modify/Select交互控制,以及通过ref()管理交互状态。文中提供了完整代码示例,并解决了交互对象叠加问题,为开发GIS应用提供了基础模块。该方案支持扩展为数据库存储、后端交互等高级功能。

小彭的博客 769

如何下载kubenetes最新的rpm包?

一,新增aliyun的软件仓库 tee /etc/yum.repos.d/kubernetes.repo <<-'EOF' [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgchec...

weixin_30933531的博客 1160

点云数据处理:体素滤波算法

体素滤波是一种简单而有效的点云数据处理方法,可用于去除离群点和平滑点云表面。体素滤波是一种常用的点云数据处理算法,用于去除离群点并平滑点云表面。在本文中,我们将介绍CloudCompare和PCL(Point Cloud Library)中的体素滤波算法,并提供相应的源代码示例。PCL是一个专门用于点云处理的开源库,提供了一系列高效的点云处理算法和工具。然后,我们创建了一个。方法执行体素滤波,并将滤波后的点云保存为"filtered_cloud.ply"文件。方法来执行体素滤波,指定体素大小为0.01。

ZyqfCss的博客 388

从传统业务到 AI Skill:产品经理也能看懂的能力改造指南(含完整案例)

从传统业务到 AI Skill:产品经理也能看懂的能力改造指南(含完整案例)

专注于编程、AI、人工智能等多个领域内容研究和分析 639
上一篇: Kubernetes生产实践系列之七:通过etcd备份和恢复Kubernetes集群状态
下一篇: Kubernetes生产实践系列之九:通过RPM安装Kubernetes HA集群
cloudvtech
博客等级 码龄9年 533粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值