企业内部连接器主机概述
  • 08 Jan 2025
  • 2 阅读时间
  • 贡献者

企业内部连接器主机概述


文章摘要

目的

了解如何利用内部部署连接器主机进行集成。

先决条件

要了解 Tulip 中的连接器主机,请先阅读本文

概述

本文旨在作为 Tulip 中预置连接器主机 (OPCH) 的参考点。连接器主机是一种服务,用于促进 Tulip 与外部网络服务、数据库和 OPC UA 服务器的连接。所有 Tulip 实例默认都有一个云连接器主机。

在确定内部部署连接器主机是否适合正确的架构时,需要考虑以下几个因素。

内部部署连接器主机的主要考虑因素

内部部署连接器主机的注意事项可分为几类:

1.网络2.基础设施管理3.性能

联网

部署内部部署连接器主机最常见的理由是,它在连接本地网络中托管的系统时具有优势。使用内部部署产品,Tulip 与外部系统的所有连接都从本地网络开始。所有来自您网络的连接都是通过安全的 WebSocket 向外连接到 Tulip。

这与云连接器主机形成鲜明对比,后者需要对服务进行入站访问。这通常是由 IT 决定是否允许从Tulip 云到服务的入站安全 WebSocket 连接,通常使用广域网路由器/防火墙上的端口转发规则。

基础设施管理

要部署内部部署连接器主机,客户需要负责几个基础设施组件。以下是基本角色和责任矩阵:

郁金香客户
提供 OPCH 的技术资源X
虚拟机托管和部署X
虚拟机监控和更新X
生成 OPCH 凭证X
部署 OPCHX
更新 OPCHX
监控 OPCHX
排除 OPCH 故障XX

客户最好能熟练掌握用于部署 Connector Host 的技术,以及用于容器管理的 Docker 等技术。

性能

作为最佳实践建议,Tulip 建议在连接 OPC UA 服务器时也使用内部连接器主机。虽然可以使用云解决方案,但随着订阅的 OPC UA 标签数量的增加,网络带宽需求可能会很大。

部署内部部署连接器主机

技术标准

当决定部署内部解决方案时,Tulip 建议使用分布式Docker映像的自助服务路径。最简单的方法是使用带有 Linux 发行版(首选 Ubuntu)的虚拟机。

Tulip 还建议每个虚拟机只托管一个内部部署连接器主机,以避免网站出现单点故障。

虚拟机要求

  • 内存 - 4GB
  • ROM - 8-16GB 磁盘大小
  • CPU - 2 核
  • Docker 版本 - 20.10+

对于网络要求,内部部署连接器主机具备以下条件:

  • 一个 IP 地址
  • DNS 解析到
  • 通过 443 端口向外访问 Tulip(IP 在列出)
  • 此处Docker 存储库的出站访问
  • 通过端口向外访问所有相关的外部系统

在此查看网络要求的完整列表

申请证书

联系郁金香支持中心(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)发布你的问题,或者看看其他人是否也遇到过类似的问题!


本文对您有帮助吗?