如何在隔离(air-gapped)环境中部署 Elastic... 笔记

如何在隔离(air-gapped)环境中部署 Elastic Agent

在断网或高度受限的网络中部署 Elastic Agent,由于无法直接从互联网下载组件,带来了严峻的挑战。这个手动过程涉及为每个版本重复下载二进制文件、端点制品和安全签名,导致效率低下和潜在的错误。为解决此问题,我们开发了一个名为 artifacts-bundler 的工具来自动化收集这些必需文件。bundler 提供了两种主要的部署策略:创建单个 tarball 通过 Web 服务器分发,或构建一个独立的 Docker 镜像。这两种方法都将 Elastic Agent 二进制文件、安全端点制品、APM 服务器、Fleet Server 和清单文件整合到一个可管理的包中。然后,可以通过网络或 USB 驱动器等物理介质将此包传输到目标环境。传输后,可以通过 NGINX 等 Web 服务器提取并提供 tarball,需要正确配置文件访问和 ETag 支持,这对于端点更新至关重要。或者,可以在容器化环境中直接加载和运行 Docker 镜像。对于 Kubernetes,可以使用提供的清单进行部署。关键的好处是重新配置 Elastic Stack 以指向此本地制品服务器。在 Kibana 中,Agent Binary Download URL 会在 Fleet 设置中更新。对于 Elastic Defend Endpoint 安全,每个平台的全局制品下载源也会类似地进行调整。这确保了所有代理部署、更新和安全签名获取都从内部可访问的镜像提供。该工具及其源代码可在 GitHub 上找到,为离线 Elastic 部署提供了强大的解决方案。