Kubernetes 集成

Kubernetes 是一种开源容器编排引擎,用于自动部署、扩展和管理容器化应用程序。

Kubernetes 云提供程序插件允许您轻松地与可通过 Kubernetes API(例如,AWS、Azure 或 Google Cloud)访问的公共云或私有云生态系统集成。

Kubernetes 云提供程序配置文件允许您指定可为基于 Kubernetes 的虚拟执行服务器选择的映像列表。将此类执行服务器分配给 Silk Central 执行时,将部署运行该执行的新 Kubernetes Pod(基于选定映像),然后再次将其删除。

Kubernetes 中的必需代理

作为先决条件,您需要在 Kubernetes 云环境中启动支持方法 HTTP CONNECT(SSL 隧道)的 HTTP 代理。此代理可确保仅对远程云服务公开一个可从 Silk Central 连接的公共端口,以便为 Silk Central 与使用 Kubernetes 运行的执行服务器之间的加密流量建立隧道。确保在 Silk Central 中将代理配置为位置代理(首选)或系统代理。有关更多信息,请参阅配置系统代理编辑位置。建议指定一个位置代理,并在此位置中创建基于 Kubernetes 的虚拟执行服务器。

注: 与物理执行服务器相反,无需更改映像的执行服务器端口配置。使用 Docker 映像程序包构建映像时,安全端口仍为 19125。Silk Central 将为每个侦听端口 443 并将流量转发到端口 19125 的执行服务器创建类型为 ClusterIP 的 Kubernetes 服务。

在 Kubernetes 中启动示例代理

Silk Central 随附一个批处理文件,可用于在 Kubernetes 中启动示例代理。

要使用该批处理文件,请从 Silk Central工具菜单中下载 Docker 映像程序包。解压缩该程序包并双击 kubernetesStartTinyProxy.cmd。该批处理文件会部署一个含有 tinyproxy 映像且名为 tinyproxy 的 Pod。有关更多信息,请参阅 https://tinyproxy.github.io/

注: 此代理只是一个示例代理。实际使用的代理不属于 Silk Central Kubernetes 集成的一部分。您可以使用任何支持 HTTP CONNECT 的代理。出于演示目的,该示例不会限制对代理的访问。请确保完全按照安全要求来配置已使用的代理,例如,通过限制客户端 IP 地址以及仅允许连接到端口 443。

此外,该示例批处理文件还会应用 tinyproxy-service.yaml,以创建类型为 NodePort 且名为 tinyproxyservice 的 Kubernetes 服务。该服务会在将转发到实际代理端口 8888 的此节点上创建一个公共端口 30888。这意味着您需要在 Silk Central 中指定端口 30888 才能访问代理。您可能需要根据 Kubernetes 基础结构将服务调整为其他类型。

构建安全的执行服务器 Docker 映像

要构建 Docker 映像,请从 Silk Central 中的工具菜单中下载 Docker 映像程序包,然后对其进行解压缩。打开命令提示符,导航到程序包目录,然后输入以下命令:

docker build -t silkcentral-execserver:21.0

此命令将在本地 Docker 存储库中为 Linux 构建 Docker 映像silkcentral-execserver:21.0(使用默认 Dockerfile)。要为 Windows 容器构建映像,请使用文件 Dockerfile-Windows