news 2026/9/9 23:44:40

Kubernetes The Hard Way 如何在 Jumpbox 上下载并整理 K8s 组件二进制包?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Kubernetes The Hard Way 如何在 Jumpbox 上下载并整理 K8s 组件二进制包?

Kubernetes The Hard Way 如何在 Jumpbox 上下载并整理 K8s 组件二进制包?

【免费下载链接】kubernetes-the-hard-wayBootstrap Kubernetes the hard way. No scripts.项目地址: https://gitcode.com/GitHub_Trending/ku/kubernetes-the-hard-way

在 Kubernetes The Hard Way 中搭建集群时,所有机器(server、node-0、node-1)都要使用同一套 Kubernetes 组件二进制文件。docs/02-jumpbox.md 给出的做法是:先把二进制包统一下载到jumpbox(管理机)的downloads目录里,只下载一次,之后各机器直接从 jumpbox 分发,避免每台机器重复下载、节省带宽。本文覆盖这个环节:在 Debian 12(bookworm)的 ARM64 或 AMD64 机器上,以root用户登录 jumpbox,完成工具安装、克隆仓库、下载并解压整理全部组件二进制包,最后安装kubectl并验证版本。

准备条件:Debian 12 的 Jumpbox 与基础工具

根据 docs/01-prerequisites.md,本教程要求 4 台运行 Debian 12 (bookworm) 的 ARM64 或 AMD64 虚拟机或物理机,其中 jumpbox 作为管理主机,最低配置为 1 CPU、512MB 内存、10GB 存储。可以用cat /etc/os-release确认系统版本,文档示例中PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"

root登录 jumpbox(教程所有命令都以root执行):

ssh root@jumpbox

安装后续步骤会用到的命令行工具。此命令会更新 apt 索引并安装wget curl vim openssl git,需要 root 权限和网络:

{ apt-get update apt-get -y install wget curl vim openssl git }

克隆教程仓库作为工作目录

二进制包下载地址和配置模板都放在教程仓库里,需要先克隆。命令需联网执行:

git clone --depth 1 \ https://gitcode.com/GitHub_Trending/ku/kubernetes-the-hard-way.git

进入仓库目录,它就是后续所有教程命令的工作目录:

cd kubernetes-the-hard-way

如果执行后续命令时不确定自己是否在正确位置,用pwd核对,文档示例输出为:

/root/kubernetes-the-hard-way

确认要下载的组件清单

仓库根目录的 downloads-amd64.txt 和 downloads-arm64.txt 分别列出两种架构下要下载的组件地址,两者内容一致,仅 URL 中的amd64/arm64不同。清单包含 11 个条目:

  • Kubernetesv1.32.3的 6 个组件:kubectlkube-apiserverkube-controller-managerkube-schedulerkube-proxykubelet
  • crictlv1.32.0(tar.gz 归档);
  • runcv1.3.0-rc.1(按架构下载runc.amd64runc.arm64);
  • CNI plugins v1.6.2(tgz 归档);
  • containerd v2.1.0-beta.0(tar.gz 归档);
  • etcd v3.6.0-rc.3(tar.gz 归档)。

用下面命令查看当前机器架构对应的清单(dpkg --print-architecture会自动输出amd64arm64,无需手改):

cat downloads-$(dpkg --print-architecture).txt

下载全部二进制包

使用wget按清单把二进制包批量下载到 jumpbox 的downloads目录,参数--https-only限制只走 HTTPS,--show-progress显示进度,--timestamping是文档原命令保留的参数:

wget -q --show-progress \ --https-only \ --timestamping \ -P downloads \ -i downloads-$(dpkg --print-architecture).txt

文档提示:全部组件合计超过 500MB,下载耗时取决于网络速度。完成后用ls确认文件都在:

ls -oh downloads

解压并按用途整理到 downloads 子目录

下载下来的文件有 4 个压缩归档和 7 个散文件。下面这个脚本块完成三件事:按用途建好downloads/{client,cni-plugins,controller,worker}四个子目录,解压 4 个归档,再把二进制文件mv到对应目录。ARCHdpkg --print-architecture自动解析,脚本中的路径均可直接执行:

{ ARCH=$(dpkg --print-architecture) mkdir -p downloads/{client,cni-plugins,controller,worker} tar -xvf downloads/crictl-v1.32.0-linux-${ARCH}.tar.gz \ -C downloads/worker/ tar -xvf downloads/containerd-2.1.0-beta.0-linux-${ARCH}.tar.gz \ --strip-components 1 \ -C downloads/worker/ tar -xvf downloads/cni-plugins-linux-${ARCH}-v1.6.2.tgz \ -C downloads/cni-plugins/ tar -xvf downloads/etcd-v3.6.0-rc.3-linux-${ARCH}.tar.gz \ -C downloads/ \ --strip-components 1 \ etcd-v3.6.0-rc.3-linux-${ARCH}/etcdctl \ etcd-v3.6.0-rc.3-linux-${ARCH}/etcd mv downloads/{etcdctl,kubectl} downloads/client/ mv downloads/{etcd,kube-apiserver,kube-controller-manager,kube-scheduler} \ downloads/controller/ mv downloads/{kubelet,kube-proxy} downloads/worker/ mv downloads/runc.${ARCH} downloads/worker/runc }

整理后的目录布局为:

  • downloads/clientetcdctlkubectl
  • downloads/controlleretcdkube-apiserverkube-controller-managerkube-scheduler
  • downloads/workercrictl、containerd 解压出的文件、kubeletkube-proxy、重命名后的runc
  • downloads/cni-plugins:CNI 插件

归档全部解压完成后,执行文档给出的清理命令。注意:该命令会删除downloads目录下所有.gz归档文件(即 crictl、containerd、cni-plugins、etcd 四个压缩包),只保留解压后的二进制,请先确认上一步已完成再执行:

rm -rf downloads/*gz

最后给四个子目录下的所有二进制文件加上可执行权限:

{ chmod +x downloads/{client,cni-plugins,controller,worker}/* }

安装 kubectl 并验证

kubectl是客户端工具,先装到 jumpbox 上,集群建好后用于与 Kubernetes 控制面交互。把整理好的kubectl复制到/usr/local/bin/(需要 root 权限写入系统目录):

{ cp downloads/client/kubectl /usr/local/bin/ }

用以下命令验证安装:

kubectl version --client

文档示例输出如下(示例结果,与清单中的 v1.32.3 一致):

Client Version: v1.32.3 Kustomize Version: v5.5.0

能打印出客户端版本,说明 jumpbox 上的二进制包下载、整理和kubectl安装都已就绪,后续教程会从这里向 server 与 worker 节点分发这些二进制文件。

下一步

按 docs/02-jumpbox.md 的指引,接下来进入 Provisioning Compute Resources:配置机器数据库、SSH 免密登录和主机名。

【免费下载链接】kubernetes-the-hard-wayBootstrap Kubernetes the hard way. No scripts.项目地址: https://gitcode.com/GitHub_Trending/ku/kubernetes-the-hard-way

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 23:44:12

长沙AI新媒体培训哪家好,梦想蓝途13年以上行业师资,小班制分层次教学,实战项目陪跑

正文摘要本文从师资行业资历、小班分层教学、实战项目陪跑、产业资质背书四个维度,拆解长沙 AI 内容创作培训的教学质量差异,结合机构师资配置与培养模式,为学习 AI 图文视频制作的大学生、创作者提供客观参考依据。信息来源:长沙…

作者头像 李华
网站建设 2026/9/9 23:43:44

STM32F407 SPI读取AD7606 8通道同步采样ADC实战指南

简介:面向STM32嵌入式开发者的AD7606串行采集工程,基于Cortex-M4内核的STM32F4系列,重点演示如何配置SPI总线参数,与十六位高精度模数转换器完成通信,实现多通道模拟电压信号的采集、解析与换算,适合工业控…

作者头像 李华
网站建设 2026/9/9 23:43:27

用15个Claude智能体重构研发流程:多Agent协作实战指南

"一个人要干一整个公司的活"这话换在五年前我是打死不信的,直到我认真跟这个由YC掌门人带火的开源玩法死磕了两周,用一整套Claude智能体矩阵把原本至少需要七八个人的研发流程硬生生扛了下来。这篇文章不聊虚的,就讲15个硬核Agent怎…

作者头像 李华
网站建设 2026/9/9 23:42:35

IB网卡安全驱动与虚拟化流程详解:从驱动安装到SR-IOV性能验证

IB 网卡这东西,插进服务器以后如果不装驱动,那就是一块昂贵的废铁;装好了驱动但没规划好虚拟化流程,到了生产环境又会变成一块“定时炸弹”。我在 HPC 集群和数据中心运维这块折腾了多年,InfiniBand 网卡(以…

作者头像 李华
网站建设 2026/9/9 23:39:49

分布式事务实战:解冻支付场景下的TCC、幂等与最终一致性设计

先讲一个我凌晨两点被电话叫醒的案子。监控群里连续刷出十几条资金流水不平的告警,客服那边也炸了锅,有用户说订单取消了但钱一直没回来,另一拨人却反馈钱退了但订单还卡在支付中不敢动。两个方向上看起来完全相反的问题,最后都指…

作者头像 李华