是否可以在没有互联网的情况下安装 Knative?了解它需要 K8 在安装过程中从互联网上提取图像。我可以将所有必要的图像下载到私有存储库并应用 yaml 进行安装吗?
3 回答
如果您可以预先拉取 Knative 核心中使用的所有镜像,那么答案是肯定的:您可以离线安装和运行 Knative。
这是相当多的图像,但您应该能够通过检查Knative 文档的基于 YAML 的安装部分的安装清单轻松找到所有这些图像。
以下是构成 Knative 核心的一些图像示例(截至 Knative v0.22):
服务
三项赛
注意:虽然image
我上面引用的属性是 format ko://...
,但在 Knative 文档的基于 YAML 的安装部分中记录的发布清单包含实际的图像 URL。
是的,这绝对是可能的。假设现在使用 Knative Serving,您将从https://knative.dev/docs/install/install-serving-with-yaml获取发布版 YAML 。您需要 3 个 YAML 文件:
- 服务-crds.yaml
- 服务核心.yaml
- $network-plugin-of-your-choice.yaml
您可以在这些 YAML 的相应部署中找到所有必要的图像。一个值得注意的例外是队列代理映像,您可以在config-deployment
ConfigMap 中找到它。
确保预拉所有这些图像并将 YAML 中的坐标替换为您的私有注册表的坐标。还要确保为使用的服务帐户授予必要的拉取权限。
如果您问这个问题,我假设您可能正在从事政府工作或类似的工作。您要求我们提供有关操作的实际代码。事情就是这样。您将不得不 docker 保存所有图像。您可以通过搜索每个 kubernetes 清单来找到它们。每个容器镜像都将在 yaml 中以 image: 为前缀。然后你可以把所有东西都涂上焦油,然后把它带到你需要的地方。你正在着手一项非常漫长而烦人的任务。