器皿
Apstra Server 应用由以下容器组成:
-
NGINX:提供用户界面和 REST API。与 NGINX 交互的两种方法都是基于请求的,因此是无状态的。
-
Metadb/Centraldb:此容器运行的进程负责管理 Apstra 分布式发布-订阅交换矩阵的代理生命周期和元数据。
-
Sysdb:此容器运行管理系统运行状态的进程。共有 3 个进程:(1) MainSysDB 托管蓝图数据;(2)遥测SysDB托管采集设备遥测数据;(3) CachacaSysDB 托管 IBA 的数据。保留 MainSysDB 和 CachacaSysDB 数据。当 MainSysDB 发生故障时,其数据将从检查点恢复,并从文件系统中重做日志。我们会定期重新收集和计算设备遥测数据和 IBA 数据。
-
身份验证:此容器对传入请求进行身份验证,包括所有 API 请求。服务器进程可以联系外部认证源,如 LDAP。服务器进程是容器的入口点。如果服务器进程终止,容器将重新启动。
-
控制器代理:此容器运行运行 Apstra 业务逻辑的进程,包括构建蓝图、管理资源分配、渲染设备配置等。这些代理从 SysDB 进程获取输入/输出状态。它们被编写为幂等和重启安全。如果代理发生故障,代理将重新启动,从 SysDB 获取最新状态,并从该点继续处理。
-
异机代理:Apstra 会在控制器虚拟机上为以异机模式管理的每台设备生成一个容器。容器运行设备代理,从该设备收集遥测数据。它们将数据发布到 TelemetrySysDB。
-
凭据:此容器存储 Apstra 向远程服务器进行身份验证所需的用户名/密码(原始,未经过哈希处理)。例如,我们管理的网络交换机的登录用户名/密码。它目前由offbox和onbox代理管理器使用。不允许管理员使用“acons”等工具浏览“凭据”sysdb。此资源只能由内部 Apstra 进程访问。
admin@Apstra-server:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b2209f10d499 Apstra:3.3.0-730 "/usr/bin/Apstra_launch..." 3 weeks ago Up 3 weeks ibaf2c112cf 64d822b8903a Apstra:3.3.0-730 "/usr/bin/Apstra_launch..." 3 weeks ago Up 3 weeks Apstra_sysdb_1 ae7ef4f91841 Apstra:3.3.0-730 "/usr/bin/Apstra_launch..." 3 weeks ago Up 3 weeks Apstra_auth_1 916b80178197 Apstra:3.3.0-730 "/usr/bin/Apstra_launch..." 3 weeks ago Up 3 weeks Apstra_metadb_1 44807f97d463 nginx:1.14.2-upload-echo "nginx -g 'daemon of..." 3 weeks ago Up 3 weeks Apstra_nginx_1 09a7205d3cd7 Apstra:3.3.0-730 "/usr/bin/Apstra_launch..." 3 weeks ago Up 3 weeks Apstra_controller_1 admin@Apstra-server:~$