问题描述
是否可以在没有互联网的情况下安装 Knative? 了解它需要 K8 在安装过程中从互联网上提取图像。 我可以将所有必要的图像下载到私有存储库并应用 yaml 进行安装吗?
解决方法
如果您可以预先提取 Knative 核心中使用的所有图像,那么答案是是:您可以离线安装和运行 Knative。
有很多图片,但您应该能够通过检查 Knative 文档 YAML-based installation 部分的安装清单轻松找到所有图片。
以下是构成 Knative 核心的一些图像示例(从 Knative v0.22 开始):
服务
- 服务controller
- 服务webhook
- 服务activator
- 服务autoscaler
- 服务queue sidecar
- 入口安装。例如,Kourier 需要:
- 特使proxy
- 快递controller
活动
- 活动controller
- 活动webhook
- 活动broker controller
- 活动broker ingress
- 活动broker filter
- 活动in-memory channel controller
- 活动in-memory channel dispatcher
注意:虽然我上面引用的 image
属性采用 ko://...
格式,但 Knative 文档的 YAML-based installation 部分中记录的发布清单包含实际的图像 URL。
是的,这绝对是可能的。假设现在使用 Knative Serving,您将从 https://knative.dev/docs/install/install-serving-with-yaml 获取发行版 YAML。您需要 3 个 YAML 文件:
- serving-crds.yaml
- serving-core.yaml
- $network-plugin-of-your-choice.yaml
您可以在这些 YAML 的相应部署中找到所有必要的图像。一个值得注意的例外是队列代理映像,您可以在 config-deployment
ConfigMap 中找到它。
确保预先拉取所有这些图像并将 YAML 中的坐标替换为您的私有注册表的坐标。还要确保为所使用的服务帐户授予必要的拉取权限。