
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 12bookworm的 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_NAMEDebian GNU/Linux 12 (bookworm)。以root登录 jumpbox教程所有命令都以root执行ssh rootjumpbox安装后续步骤会用到的命令行工具。此命令会更新 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 个组件kubectl、kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy、kubeletcrictlv1.32.0tar.gz 归档runcv1.3.0-rc.1按架构下载runc.amd64或runc.arm64CNI plugins v1.6.2tgz 归档containerd v2.1.0-beta.0tar.gz 归档etcd v3.6.0-rc.3tar.gz 归档。用下面命令查看当前机器架构对应的清单dpkg --print-architecture会自动输出amd64或arm64无需手改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到对应目录。ARCH由dpkg --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/clientetcdctl、kubectldownloads/controlleretcd、kube-apiserver、kube-controller-manager、kube-schedulerdownloads/workercrictl、containerd 解压出的文件、kubelet、kube-proxy、重命名后的runcdownloads/cni-pluginsCNI 插件归档全部解压完成后执行文档给出的清理命令。注意该命令会删除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),仅供参考