IBM Cloud Docs
在一台机器上部署多个 Connector Windows 代理

在一台机器上部署多个 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 参数。

  1. 从 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
    
  2. 在 PowerShell 中运行以下命令,验证 .zipsha512sum

    Get-FileHash -Algorithm SHA512 -Path c:\windows_satellite_connector_1420916628.zip
    
  3. 在 PowerShell 中运行以下命令,提取 .zip 文件内容。

    Expand-Archive -Path 'C:\path\to\windows_satellite_connector_4097559421.zip' -DestinationPath ‘C:\path\to\extract'
    
  4. 完成下一节中的步骤,更新提取的配置文件。

  5. 编辑 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>
    }
    
  6. 在配置文件中填入连接器详细信息和凭据。 请勿将文件命名为 config.jsonSATELLITE_CONNECTOR_INSTANCE_NAME 为必填项,必须以字符开头,只能包含字符 (a-zA-Z)、数字 (0-9)_,总长度必须小于 50 个字符。

  7. 在 PowerShell 中运行安装脚本。

    ./install.ps1 -configFile multi_instance_config.json
    
  8. 查看 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
    
  9. 查看 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
    
  10. 获取 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)
    
  11. 查看属于连接器的代理 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
    
  12. 获取 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)
    
  13. 查看属于连接器的代理 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 参数。

  1. 从 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
    
  2. 在 PowerShell 中运行以下命令,验证 .zipsha512sum

    Get-FileHash -Algorithm SHA512 -Path c:\windows_satellite_connector_1420916628.zip
    
  3. 在 PowerShell 中运行以下命令,提取 .zip 文件内容。

    Expand-Archive -Path 'C:\path\to\windows_satellite_connector_4097559421.zip' -DestinationPath ‘C:\path\to\extract'
    
  4. 完成下一节中的步骤,更新提取的配置文件。

  5. 编辑 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>
    }
    
  6. 在 Windows 主机上运行安装命令。

    ./install.ps1
    
  7. 了解连接器的详细信息。

    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)
    
  8. 查看属于连接器的代理。

    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.jsonSATELLITE_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 的文件,其中包含代理版本。