- 打印
目的
了解如何利用内部部署连接器主机进行集成。
先决条件
要了解 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) (NOTE)
**On-Premise Connector Host credentials should not be used to create more than one Connector Host - this would result in connectivity problems for all hosts sharing credentials.**
:::
### 可用的内部部署连接器主机版本(标签)
Tulip 使用 Docker 映像标签来对 Connector Host 映像进行版本控制。以下是当前支持的内部部署连接器主机标签列表,可与 Docker`run`和`pull`命令结合使用。
:::(Warning) (WARNING)
For best performance, your Tulip Instance version and the On-Premise Connector Host version should match. The Connector Host is not guaranteed to be forward-compatible with instance versions (i.e. an LTS8 connector host version on an LTS7 instance).
:::
| 标签 | LTS 版本 | 双周版本 |
| --- | --- | --- |
| `lts7` | LTS7 | r222 - r232 |
| `lts8` | LTS8 | r233 - r237 |
| `lts9` | LTS9 | r238 - r248 |
| `lts10` | LTS10 | R249 - R261 |
| `lts11` | LTS11 | R262 - R274 |
| `lts12` | LTS12 | r275-r287 |
| `lts13` | LTS13 | r288+ |
:::(Warning) (Prod Tag Deprecation)
Historically, the `prod` tag could be used to point at the most recent version of OPCH. This has been deprecated. Going forward, the `prod` tag will point at 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) (Pre-LTS12 OPCH)
Prior to LTS12, the environment variables CONNECTORS\_HTTPS\_PROXY and CONNECTORS\_HTTP\_PROXY must be replaced with HTTPS\_PROXY and HTTP\_PROXY, respectively
:::
* 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)
Prior to LTS12, the environment variables CONNECTORS\_HTTPS\_PROXY and CONNECTORS\_HTTP\_PROXY must be replaced with HTTPS\_PROXY and HTTP\_PROXY, respectively
:::
`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) (NOTE)
**The upgrade process for an OPCH will result in downtime while the pod is stopped and recreated.**
:::
1. 获取最新版本的内部部署连接器主机 Docker 映像。
`docker pull bckca2dh98.execute-api.us-east-1.amazonaws.com/public/connector-host:<TAG>2`. 运行以下命令获取 Docker 容器 ID。
`docker ps3`.如果可以访问`TULIP_FACTORY`、`TULIP_UUID` 和`TULIP_MACHINE_SECRET`,请转到第 4 步。如果没有,请运行以下命令,并将命令输出存储在安全位置。
`docker exec <container-id> env4`.停止现有的 Docker 容器。
`docker stop <container-id> 5`.删除现有的 Docker 容器。
`docker rm <container-id>6`.利用存储的凭证集运行标准的`Docker run`命令。
:::(Warning) (Pre-LTS12 OPCH)
Prior to LTS12, the environment variables CONNECTORS\_HTTPS\_PROXY and CONNECTORS\_HTTP\_PROXY must be replaced with HTTPS\_PROXY and HTTP\_PROXY, respectively
`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>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)发布你的问题,或者看看其他人是否也遇到过类似的问题!