如何在本地下载和存储 k3s,这样我就可以避免 github 或互联网调用

Posted

技术标签:

【中文标题】如何在本地下载和存储 k3s,这样我就可以避免 github 或互联网调用【英文标题】:How to download & store k3s locally so that I can avoid github or internet calls 【发布时间】:2021-12-21 09:58:53 【问题描述】:

我目前正在使用命令curl -sfL https://get.k3s.io 下载k3s。脚本 get.k3s.io 正在使用第三方互联网调用 URL:

GITHUB_URL=https://github.com/k3s-io/k3s/releases
STORAGE_URL=https://storage.googleapis.com/k3s-ci-builds

我想避免上述对 URL 的调用,并希望将相同的 k3s 包本地存储在我的个人 github 项目位置并从那里下载/读取它。有人可以告诉我编辑此脚本或在本地下载和存储 k3s 的步骤/过程吗?

【问题讨论】:

【参考方案1】:

K3s GitHub 页面有 Manual Download 的说明。您只需从 releases 下载适当的版本,然后像使用任何其他二进制文件一样使用它。

默认情况下,下载的二进制文件不可执行。在使用它之前,您必须这样做

chmod +x k3s

如果您希望k3s 在系统范围内可用,您需要将其放在正确的位置(例如/usr/local/bin

sudo mv k3s /usr/local/bin

如果您跳过上述步骤,请在以下步骤中将k3s 替换为./k3s

sudo k3s server &
# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
sudo k3s kubectl get nodes

# On a different node run the below. NODE_TOKEN comes from
# /var/lib/rancher/k3s/server/node-token on your server
sudo k3s agent --server https://myserver:6443 --token $NODE_TOKEN

[source]

您也可以clone the repository,并将脚本中的 URL 替换为您的存储库。但是,我不确定它的效果如何。

STORAGE_URL 变量用于下载特定的提交版本。要使其工作 INSTALL_K3S_COMMIT 必须事先设置环境变量。除非您是开发人员或 QA,否则您不必为此担心。

【讨论】:

@p10I :您的手动下载方式与rancher.com/docs/k3s/latest/en/installation/install-options/… 有何不同?在牧场主页面rancher.com/docs/k3s/latest/en/installation/airgap/… 上也建议了一些气隙安装 不是。这是完全相同的程序。 @p10l :我关注了你的 ans 链接。从Assets 在我的linux ubuntu 机器上下载k3s 后跟命令sudo k3s server & 后,它给了我错误k3s: command not found。我需要从Assets 下载什么?不清楚。 我假设你知道如何处理 linux 二进制文件。更新了我的答案以添加有关如何使其可执行的说明。 我会看看我能做什么,但是,因为这是一个不同的问题,它应该在不同的主题中处理。如果您发现我对这个问题的回答有帮助,请考虑 accepting it,这样问题就不会一直无人回答,将来遇到类似问题的人会更容易找到解决方案。

以上是关于如何在本地下载和存储 k3s,这样我就可以避免 github 或互联网调用的主要内容,如果未能解决你的问题,请参考以下文章

k3s本地体验记录

k3s本地体验记录

k3s本地体验记录

最全实践 - Linux 安装 K8s (Local K3s、Minikube、K8s Cluster 等)

如何部署Golang应用

如何让g ++搜索特定目录中的头文件?