在一台机器上部署多个 Connector Windows 代理
从 Windows 代理版本 1.2.0 开始,现在支持在一台 Windows 主机上安装多个代理。 要使用 >= 1.2.0
版本的 Windows 代理,服务器上需要 Microsoft.NET 3.5。
Satellite Connector 云 端点 不支持在同一 Windows 主机上运行多个代理,因为云端点入口就是运行代理的 Windows 主机。 云终端和在一台主机上运行多个 Windows 代理是互斥的功能。 如果需要使用带有 Windows 代理的云终端,建议为每台 Windows 主机安装 1 个代理。
注意事项
-
在
1.2.0
版本中,Windows Agent 的服务名称已从satelliteconnectorservice.exe
更新为SatelliteConnectorService
。 由于这一更改,您必须使用要删除的代理所附带的卸载脚本。 -
在
1.2.0
版本中,为了区分安装在一台 Windows 主机上的多个 Windows 代理,代理配置文件中引入了一个名为SATELLITE_CONNECTOR_INSTANCE_NAME
的新参数。 该参数被附加到服务名称后,用-
分隔。 要安装多个 Windows 代理,现在必须在调用安装或卸载脚本时指定一个配置文件。 -
Windows 代理在 Windows 主机上作为节点进程运行。 在 IBM Cloud 控制台和 IBM Cloud CLI 中,节点进程 ID 都附加在连接器名称之后,并用
.
分隔。 -
在早于
1.2.0
的 Windows 代理版本中,不允许为安装或卸载脚本指定配置文件。 相反,脚本会自动从同一目录中获取文件config.json
,并用它来安装或卸载单个 Windows 代理。 -
单个 Windows 代理至少需要 4 vCPU,建议使用 4 GB。 虽然这种设置可以处理多个代理,但在 4th 代理之后,性能会明显下降。 因此,运行多个代理时,建议至少使用 8 个 vCPU 和 8 GB。
-
运行属于同一个 Connector 的多个代理不会带来任何好处。 最佳做法是每个 Connector 配备一名代理。
-
安装多个 Windows 代理需要为每个代理保留 25MB 内存。
-
跨代理运行流量会增加 ~70MB 内存,每个代理的 CPU 使用率为 15%,每个代理的带宽达到 150:200 Mbps。
安装多个 Windows 代理
要在单个热点上部署多个代理,必须使用 configFile 参数。
-
从 CLI 运行以下命令下载代理
.zip
文件。ibmcloud sat agent attach --platform windows
示例输出。
Downloading agent setup tools for windows... OK Satellite connector agent for windows was successfully returned /var/folders/17/y8wr4y_x1tb4yf__g3wr6g8m0000gp/T/windows_satellite_connector_4097559421.zip
-
在 PowerShell 中运行以下命令,验证
.zip
的sha512sum
。Get-FileHash -Algorithm SHA512 -Path c:\windows_satellite_connector_1420916628.zip
-
在 PowerShell 中运行以下命令,提取
.zip
文件内容。Expand-Archive -Path 'C:\path\to\windows_satellite_connector_4097559421.zip' -DestinationPath ‘C:\path\to\extract'
-
完成下一节中的步骤,更新提取的配置文件。
-
编辑
multi_instance_config.json
文件,加入您的连接器详细信息。{ "SATELLITE_CONNECTOR_ID": "<connector_id>", "SATELLITE_CONNECTOR_IAM_APIKEY": "<api_key>", "SATELLITE_CONNECTOR_TAGS": "<tags>", "SATELLITE_CONNECTOR_INSTANCE_NAME": "<instance_name>", "LOG_LEVEL": "<log_level>", "PRETTY_LOG": <true|false> }
-
在配置文件中填入连接器详细信息和凭据。 请勿将文件命名为
config.json
。SATELLITE_CONNECTOR_INSTANCE_NAME
为必填项,必须以字符开头,只能包含字符(a-zA-Z)
、数字(0-9)
和_
,总长度必须小于 50 个字符。 -
在 PowerShell 中运行安装脚本。
./install.ps1 -configFile multi_instance_config.json
-
查看 Windows 服务器上运行的代理。 在 PowerShell 中运行以下命令
Get-Service -Name SatelliteConnectorService* | Format-Table -AutoSize
Status Name DisplayName ------ ---- ----------- Running SatelliteConnectorService SatelliteConnectorService Running SatelliteConnectorService-connector_1 SatelliteConnectorService-connector_1 Running SatelliteConnectorService-connector_2 SatelliteConnectorService-connector_2
-
查看 Windows 服务器上运行的节点进程。 在 PowerShell 中运行以下命令
get-process | Where-Object {$_ -match 'node'}
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName ------ ----- ----- ------ -- -- ----------- 24 61.05 40.44 0.89 1796 0 node 39 10.43 24.29 0.11 3436 0 node 39 10.74 29.70 0.17 4288 0 node 24 61.60 39.86 0.70 5720 0 node 24 61.44 40.64 0.81 5924 0 node 39 10.63 29.81 0.17 7932 0 node
-
获取
connector_1
的详细信息。ibmcloud sat connector get --connector-id U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkYzkwMjFpNnNlcnJxdTJlZyI
OK ID: U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkYzkwMjFpNnNlcnJxdTJlZyI Name: connector_1 CRN: crn:v1:staging:public:satellite:us-south:a/1ae4eb57181a46ceade48465196706a7:U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkYzkwMjFpNnNlcnJxdTJlZyI:: Managed From: Dallas (us-south) Resource Group ID: 60735c4daed84fcea7d3fe99c298c9b3 Resource Group Name: Default State: created Created Date: 2025-04-11 03:43:16 -0500 (48 minutes ago)
-
查看属于连接器的代理
connector_1
。ibmcloud sat agent ls --connector-id U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkYzkwMjFpNnNlcnJxdTJlZyI
OK Name Release Tags sat-link-e2e-wi/connector_1.1796 20250410-5f291315c59db895783cf54411765942806802ac_W connector_1
-
获取
connector_2
的详细信息。ibmcloud sat connector get --connector-id U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkYzlzMjF0OWFsMjQ2YXZjMCI
OK ID: U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkYzlzMjF0OWFsMjQ2YXZjMCI Name: connector_2 CRN: crn:v1:staging:public:satellite:us-south:a/1ae4eb57181a46ceade48465196706a7:U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkYzlzMjF0OWFsMjQ2YXZjMCI:: Managed From: Dallas (us-south) Resource Group ID: 60735c4daed84fcea7d3fe99c298c9b3 Resource Group Name: Default State: created Created Date: 2025-04-11 03:43:19 -0500 (50 minutes ago)
-
查看属于连接器的代理
connector_2
。ibmcloud sat agent ls --connector-id U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkYzlzMjF0OWFsMjQ2YXZjMCI
OK Name Release Tags sat-link-e2e-wi/connector_2.5924 20250410-5f291315c59db895783cf54411765942806802ac_W connector_2
卸载多个 Windows 代理
要卸载 Windows 多重代理,请运行以下命令。
.\uninstall -configFile config_connector1.json
该命令将卸载 Windows 代理,从 configFile SATELLITE_CONNECTOR_INSTANCE_NAME
。
更新多个 Windows 代理
要更新多个 Windows 代理,请卸载代理,更新配置文件,然后使用更新后的配置文件再次安装代理。
安装单一代理
查看以下步骤,使用 install.ps1
脚本只安装一个代理。
- 不要指定 configFile 参数。 这确保了代理 < 1.2.0 的向后兼容性。
- 配置文件名必须为
config.json
。 - 配置文件
config.json
不得包含SATELLITE_CONNECTOR_INSTANCE_NAME
。
要在单个热点上部署多个代理,必须使用 configFile 参数。
-
从 CLI 运行以下命令下载代理
.zip
文件。ibmcloud sat agent attach --platform windows
示例输出。
Downloading agent setup tools for windows... OK Satellite connector agent for windows was successfully returned /var/folders/17/y8wr4y_x1tb4yf__g3wr6g8m0000gp/T/windows_satellite_connector_4097559421.zip
-
在 PowerShell 中运行以下命令,验证
.zip
的sha512sum
。Get-FileHash -Algorithm SHA512 -Path c:\windows_satellite_connector_1420916628.zip
-
在 PowerShell 中运行以下命令,提取
.zip
文件内容。Expand-Archive -Path 'C:\path\to\windows_satellite_connector_4097559421.zip' -DestinationPath ‘C:\path\to\extract'
-
完成下一节中的步骤,更新提取的配置文件。
-
编辑
config.json
并输入您的连接器详细信息。{ "SATELLITE_CONNECTOR_ID": "<connector_id>", "SATELLITE_CONNECTOR_IAM_APIKEY": "<api_key>", "SATELLITE_CONNECTOR_TAGS": "<tags>", "LOG_LEVEL": "<log_level>", "PRETTY_LOG": <true|false> }
-
在 Windows 主机上运行安装命令。
./install.ps1
-
了解连接器的详细信息。
ibmcloud sat connector get --connector-id U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkbjZmMjFyOTJxdTgyZ3BzZyI
OK ID: U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkbjZmMjFyOTJxdTgyZ3BzZyI Name: connector CRN: crn:v1:staging:public:satellite:us-south:a/1ae4eb57181a46ceade48465196706a7:U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkbjZmMjFyOTJxdTgyZ3BzZyI:: Managed From: Dallas (us-south) Resource Group ID: 60735c4daed84fcea7d3fe99c298c9b3 Resource Group Name: Default State: created Created Date: 2025-04-11 04:06:33 -0500 (19 minutes ago)
-
查看属于连接器的代理。
ibmcloud sat agent ls --connector-id U2F0ZWxsaXRlQ29ubmVjdG9yOiJjdnNkbjZmMjFyOTJxdTgyZ3BzZyI
OK Name Release Tags sat-link-e2e-wi.5720 20250410-5f291315c59db895783cf54411765942806802ac_W connector
卸载单个 Windows 代理
要卸载单个代理,请运行以下命令。
.\unistall.sh
更新单个 Windows 代理
要更新 Windows 单个代理,请卸载代理、更新配置文件,然后使用更新后的配置文件再次安装代理。
常见问题及解答
- 能否将多 Windows 代理添加到现有的单 Windows 代理安装中?
- 是的,下载一个 Windows 代理压缩文件 >= 1.2.0,将其解压缩到与现有单一 Windows 代理安装不同的目录,并在配置文件中配置一个不名为
config.json
的SATELLITE_CONNECTOR_INSTANCE_NAME
,然后使用install.ps1 -configFile <agent-config-file.json>
进行安装。 - 为什么在版本 >= 1.2 中缺少
update-service.ps1
? update-service.ps1
是先卸载后重新安装,因此我们决定将其删除。 如果需要更新 Windows 代理,请卸载它,更新配置文件,然后重新安装。- 我的 Windows 主机上安装的是哪个版本的 Windows 代理?
- 在 Windows 服务器上安装代理的目录中包含一个名为
version.txt
的文件,其中包含代理版本。 如果目录中没有名为version.txt
的文件,则版本 <= 1.1.6。 - 我下载的是哪个 Agent 版本?
- 使用
ibmcloud sat agent attach --platform windows
命令下载 Windows Agent ZIP 文件并用Expand-Archive -Force -Path "$filename" -DestinationPath "."
解压缩后,会出现一个名为version.txt
的文件,其中包含代理版本。