- 打印
目的
了解如何利用内部部署连接器主机进行集成。
先决条件
要了解 Tulip 中的连接器主机,请先阅读本文
概述
本文旨在作为 Tulip 中预置连接器主机 (OPCH) 的参考点。连接器主机是一种服务,用于促进 Tulip 与外部网络服务、数据库和 OPC UA 服务器的连接。所有 Tulip 实例默认都有一个云连接器主机。
在确定内部部署连接器主机是否适合正确的架构时,需要考虑以下几个因素。
内部部署连接器主机的主要考虑因素
内部部署连接器主机的注意事项可分为几类:
1.联网 2.基础设施管理 3.性能
联网
部署内部部署连接器主机最常见的理由是,它在连接本地网络中托管的系统时具有优势。使用内部部署产品,Tulip 与外部系统的所有连接都从本地网络开始。所有来自您网络的连接都是通过安全的 WebSocket 向外连接到 Tulip。
这与云连接器主机形成鲜明对比,后者需要对服务进行入站访问。这通常是由 IT 决定是否允许从Tulip 云到服务的入站安全 WebSocket 连接,通常使用广域网路由器/防火墙上的端口转发规则。
基础设施管理
要部署内部部署连接器主机,客户需要负责几个基础设施组件。以下是基本角色和责任矩阵:
| 提供有关 OPCH 的技术资源 | X | | 虚拟机托管和部署 | X**|**虚拟机监控和更新 | X | 生成 OPCH 证书 | X | | 部署 OPCH | X | 更新 OPCH | X | 监控 OPCH | X | 故障排除 OPCH | X | X |客户
客户最好能熟练掌握用于部署 Connector Host 的技术,以及用于容器管理的 Docker 等技术。
性能
作为最佳实践建议,Tulip 建议在连接 OPC UA 服务器时也使用内部连接器主机。虽然可以使用云解决方案,但随着订阅的 OPC UA 标签数量的增加,网络带宽需求可能会很大。
部署内部部署连接器主机
技术标准
当决定部署内部解决方案时,Tulip 建议使用分布式Docker映像的自助服务路径。最简单的方法是使用带有 Linux 发行版(首选 Ubuntu)的虚拟机。
Tulip 还建议每个虚拟机只托管一个内部部署连接器主机,以避免网站出现单点故障。
虚拟机要求
- 内存 - 4GB
- ROM - 8-16GB 磁盘大小
- CPU - 2 核
- Docker 版本 - 20.10+
对于网络要求,内部部署连接器主机具备以下条件:
在此查看网络要求的完整列表
申请证书
联系郁金香支持中心(support@tulip.co) 申请内部部署连接器主机证书,请使用以下模板,填写括号中的任何详细信息:
请求创建一个新的内部部署连接器主机。
郁金香实例:
OPCH 名称:---CH ````
Tulip 将通过安全的临时密码链接创建和共享凭证。详细信息应传输到内部管理的凭证存储中,并包括以下内容:
* 工厂
* UUID
* 机器秘密
:::(Info) (注意)**内部部署连接器主机凭据不得用于创建一个以上的连接器主机--这会导致共享凭据的所有主机出现连接问题:**
### 可用的内部部署连接器主机版本(标签)
Tulip 使用 Docker 映像标签来对 Connector Host 映像进行版本控制。以下是当前支持的内部部署连接器主机标签列表,可与 Docker`运行`和`拉动`命令结合使用。
:::(Warning) (警告)为获得最佳性能,您的 Tulip 实例版本和内部部署连接器主机版本应匹配。不保证连接器主机与实例版本向前兼容(即在 LTS7 实例上使用 LTS8 连接器主机版本):
| Tag | LTS Version | Biweekly Version | | --- | --- |`lts7`| LTS7 | r222 - r232 |`lts8`| LTS8 | r233 - r237 |`lts9`| LTS9 | r238 - r248 |`lts10`| LTS10 | r249 - r261 |`lts11`| LTS11 | r262 - r274 |`lts12`| LTS12 | r275+ | (Prod Tag Deprecation)
:::(Warning) (Prod 标签废弃)过去,`prod`标签可用于指向 OPCH 的最新版本。这种做法已被弃用。今后,`prod`标签将指向 LTS11.3 OPCH。
:::
### 部署
以下部分概述了如何在各种环境中部署内部部署连接器主机。AWS 和 Azure 都提供能够运行 Docker 映像的容器服务。
* AWS:
+ 使用 Web UI 和此指令集[:https://aws.amazon.com/getting-started/hands-on/deploy-docker-containers/](https://aws.amazon.com/getting-started/hands-on/deploy-docker-containers/)
:::(Warning) (LTS12 之前的 OPCH)在 LTS12 之前,环境变量 CONNECTORS\_HTTPS\_PROXY 和 CONNECTORS\_HTTP\_PROXY 必须分别替换为 HTTPS\_PROXY 和 HTTP\_PROXY::::
* Azure:
`az container create \ -g <AZURE中资源组的名称> \ --name <容器的名称> \ --cpu 2 \ --memory 3 \ --restart-policy Always \ --image bckca2dh98.execute-api.us-east-1.amazonaws.com/public/connector-host:<TAG> \ -e TULIP_UUID='<UUID>' \ TULIP_FACTORY='https://<YOUR SITE>.tulip.co' \ TULIP_MACHINE_SECRET='<SECRET>'\ TULIP_DEVICE_TYPE='onprem' \ CONNECTORS_HTTP_PROXY=''\ CONNECTORS_HTTP_PROXY=''`
* Linux 虚拟机::::(Warning) (Pre-LTS12 OPCH) 在 LTS12 之前,环境变量 CONNECTORS\_HTTPS\_PROXY 和 CONNECTORS\_HTTP\_PROXY 必须分别替换为 HTTPS\_PROXY 和 HTTP\_PROXY:::
`docker run -d \ -name tulip-connector-host \ -e TULIP_FACTORY='https://<FACTORY>.tulip.\ -e TULIP_UUID='<UUID>' \ -e TULIP_MACHINE_SECRET='<SECRET>' \ -e TULIP_DEVICE_TYPE='onprem' \ -e CONNECTORS_HTTP_PROXY=''\ -e CONNECTORS_HTTPS_PROXY=''\ -e EXIT_ON_DISCONNECT=true \ --restart=always \ --net=host \ --mount type=volume,source=tuliplog,target=/log \ bckca2dh98.execute-api.us-east-1.amazonaws.com/public/connector-host:<TAG>。`
## 升级内部部署连接器主机
Tulip 根据我们的长期支持 (LTS) 发布计划发布内部部署连接器主机的更新。要升级服务,请按照以下说明操作:
:::(Info) (注意)**OPCH 的升级过程将导致停机,同时 pod 将停止并重新创建:**
1. 获取最新版本的内部部署连接器主机 Docker 映像。
`docker pull bckca2dh98.execute-api.us-east-1.amazonaws.com/public/connector-host:<TAG>`2.运行下面的命令获取 Docker 容器 ID。
`docker ps`3.如果可以访问`TULIP_FACTORY`、TULIP`_UUID` 和`TULIP_MACHINE_SECRET`,请转到第 4 步。如果没有,请运行以下命令,并将命令输出存储在安全位置。
`docker exec <container-id> env`4.停止现有的 Docker 容器。
`docker stop <container-id>`5.删除现有的 Docker 容器。
`docker rm <container-id>`6.利用存储的凭证集运行标准的`Docker run`命令。
:::(Warning) (Pre-LTS12 OPCH) 在 LTS12 之前,环境变量 CONNECTORS\_HTTPS\_PROXY 和 CONNECTORS\_HTTP\_PROXY 必须分别替换为 HTTPS\_PROXY 和 HTTP\_PROXY::`docker run -d \ --name tulip-connector-host \ -e TULIP_FACTORY='https://<FACTORY>.\ -e TULIP_UUID='<UUID>' \ -e TULIP_MACHINE_SECRET='<SECRET>' \ -e TULIP_DEVICE_TYPE='onprem' \ -e CONNECTORS_HTTP_PROXY=''。\ -e CONNECTORS_HTTPS_PROXY=''`\`-e EXIT_ON_DISCONNECT=true \ --restart=always \ --net=host \ --mount type=volume,source=tuliplog,target=/log \ bckca2dh98.execute-api.us-east-1.amazonaws.com/public/connector-host:<TAG>`7.确认新的 Docker 容器处于活动状态。
```
``` docker ps ```
```
## 其他参考资料
### 为 Docker 启用日志旋转
对于未使用 Docker 日志旋转的现有内部部署连接器主机,请按照[此处](https://support.tulip.co/docs/enabling-log-rotations-for-existing-on-premise-connector-host-container)记录的说明操作,以确保磁盘空间得到妥善维护。
---
找到您想要的了吗?
你也可以前往[community.tulip.co](https://community.tulip.co/?utm_source=intercom&utm_medium=article-link&utm_campaign=all)发布你的问题,或者看看其他人是否也遇到过类似的问题!