IBM Cloud Docs
Ejecución de un agente de conector

Ejecución de un agente de conector

Después de crear un Conector Satellite, complete los siguientes pasos para crear un Agente y finalizar su configuración.

Requisitos previos

Revisión de los parámetros del agente

La información de configuración se proporciona al agente a través de las siguientes variables de entorno. Cualquiera de estas variables de entorno puede establecerse directamente en un valor o establecerse en una vía de acceso de un archivo que contiene el valor. El valor de vía de acceso debe ser accesible desde dentro del contenedor y, por lo tanto, se basa en el punto de montaje y no en una vía de acceso local en el host. Consulte la tabla siguiente para ver un ejemplo.

Variables de entorno para la configuración
Variable de entorno Obligatorio Descripción
SATELLITE_CONNECTOR_ID El ID del conector de Satellite al que está enlazado el agente. Puede encontrar el ID de conector en la consola deSatellite o ejecutando el mandato ibmcloud sat connector ls.
SATELLITE_CONNECTOR_IAM_APIKEY Su clave de API IAM. Por motivos de seguridad, considere la posibilidad de almacenar la clave de API de IAM en un archivo y, a continuación, proporcionar el archivo para este valor. Nota: En entornos Windows, debe escapar la barra inclinada en la vía de acceso del archivo.
SATELLITE_CONNECTOR_TAGS No Una serie definida por el usuario que puede ser útil para identificar el agente. Esta serie puede ser cualquier valor que le resulte útil. El valor debe ser menor o igual que 256 caracteres y se trunca si tiene más de 256 caracteres. Se eliminan los siguientes caracteres: <>/{}%[]?,;@$&.
SATELLITE_CONNECTOR_DIRECT_LINK_INGRESS No El servidor Satellite Tunnel Ingress al que dirigir el tráfico del agente. Especificar un Ingress interno asegurará que todo el tráfico entre el Agente y el servidor Tunnel permanezca en su red privada.
LOG_LEVEL No Establezca el nivel de detalle de registro que desea recibir para el agente. Puede especificar uno de fatal, error, warn, debug, info o trace. El nivel por defecto es info. Normalmente, los niveles debug y trace sólo se utilizan al depurar.
PRETTY_LOG No Sólo entornos Windows. Especifique ' true ' para mostrar los registros en un formato bonito o ' false para mostrar los registros en formato JSON.

Ejecución del agente en la plataforma de contenedor

Antes de empezar, revisa los Requisitos mínimos.

Paso 1: Creación de los archivos de configuración local

Hay varias formas de pasar información de variables de entorno de configuración de agente al contenedor. El ejemplo siguiente utiliza archivos de configuración. Sin embargo, también puede utilizar el mandato docker run --env para especificar los valores.

Tenga en cuenta que si utiliza --env con la clave de API, la clave de API se expone en el entorno de contenedor y es visible en la salida del mandato docker inspect. Puede proteger la clave de API en un archivo y, a continuación, utilizar el nombre de archivo en la variable de entorno. Si opta por utilizar el nombre de archivo, debe asegurarse de que la vía de acceso de archivo que especifique en la variable de entorno esté montada en una vía de acceso de archivo en el contenedor, tal como se muestra en el ejemplo siguiente.

Los nombres de archivo que se muestran en los pasos siguientes son ejemplos y se pueden adaptar a su entorno.

  1. Cree un directorio para los archivos de configuración, en este ejemplo ~/agent/env-files.

  2. Cree un archivo en el directorio ~/agent/env-files denominado apikey con un único valor de línea de la clave de API de IBM Cloud que pueda acceder al conector Satellite.

  3. Cree un archivo en el directorio ~/agent/env-files denominado env.txt con los valores siguientes. Modifica la variable ' SATELLITE_CONNECTOR_ID ' con tu Satellite ID del conector.

    SATELLITE_CONNECTOR_ID=<Your Satellite Connector ID>
    SATELLITE_CONNECTOR_IAM_APIKEY=/agent-env-files/apikey
    SATELLITE_CONNECTOR_TAGS=sample tag
    
  4. En este punto, el directorio contiene 2 archivos y tiene un aspecto similar al del ejemplo siguiente.

    env-files$ ls
    apikey  env.txt
    
  5. Complete los pasos de la sección siguiente para extraer la imagen del agente.

Paso 2: Extraer la imagen del agente

  1. Inicie sesión en IBM Cloud® Container Registry. O inicie sesión en el repositorio directamente desde Docker con la clave de API.

    ibmcloud cr region-set icr.io
    
    docker login -u iamapikey -p <your apikey> icr.io
    
  2. Extraiga la última versión de la imagen publicada que se adapte a su arquitectura. Los valores de etiqueta aceptados son latest, latest-amd64, latest-arm64, latest-ppc64le y latest-s390x. Puede encontrar la lista de versiones publicadas en IBM Satellite Connector Agent Release History.

    docker pull icr.io/ibm/satellite-connector/satellite-connector-agent:latest
    
  3. Complete los siguientes pasos para ejecutar la imagen del agente.

Paso 3: Ejecución de la imagen de agente

  1. Para ver las versiones disponibles de la imagen de agente, ejecute el mandato siguiente.

    ibmcloud cr images --include-ibm |egrep -i "tag|satellite"
    

    Salida de ejemplo:

    Repository                                                  Tag             Digest         Namesp  Created         Size     Security status
    icr.io/ibm/satellite-connector/satellite-connector-agent    latest          63a97392e510   ibm     -               937 B    -
    icr.io/ibm/satellite-connector/satellite-connector-agent    latest-amd64    0d2b1a5773e5   ibm     1 week ago      50 MB    -
    icr.io/ibm/satellite-connector/satellite-connector-agent    latest-arm64    cb60b8d7040f   ibm     1 week ago      94 MB    -
    icr.io/ibm/satellite-connector/satellite-connector-agent    latest-ppc64le  4bcf8b1f6ea7   ibm     1 week ago      107 MB   -
    icr.io/ibm/satellite-connector/satellite-connector-agent    latest-s390x    27588d9d6143   ibm     1 week ago      94 MB    -
    icr.io/ibm/satellite-connector/satellite-connector-agent    v1.1.0          5f4e42c8d53e   ibm     2 years ago     124 MB   -
    icr.io/ibm/satellite-connector/satellite-connector-agent    v1.1.1          0caddb11b1c1   ibm     1 year ago      125 MB   -
    icr.io/ibm/satellite-connector/satellite-connector-agent    v1.1.10         52db33f1ec43   ibm     -               937 B    -
    icr.io/ibm/satellite-connector/satellite-connector-agent    v1.1.10-amd64   90c920b580fe   ibm     2 months ago    50 MB    -
    icr.io/ibm/satellite-connector/satellite-connector-agent    v1.1.10-arm64   322f92d8c373   ibm     2 months ago    94 MB    -
    icr.io/ibm/satellite-connector/satellite-connector-agent    v1.1.10-ppc64le 603b3507f20c   ibm     2 months ago    107 MB   -
    icr.io/ibm/satellite-connector/satellite-connector-agent    v1.1.10-s390x   afe670f04ea2   ibm     2 months ago    95 MB    -
    
  2. Monte el directorio env-files en el directorio /agent-env-files del contenedor utilizando la opción -v. Puede utilizar la versión más reciente o una versión específica de la imagen publicada.

    Si una variable de entorno está utilizando una vía de acceso a un archivo, dicha vía de acceso debe ser una vía de acceso de archivo dentro del contenedor. Para recuperar la vía de acceso del archivo, utilice la opción -v en el mandato docker run. La opción -v se especifica mediante la vía de acceso del directorio de variables de entorno local, seguida de la vía de acceso montada en el contenedor y separada por :. Por ejemplo, -v ~/agent/env-files:/agent-env-files, donde ~/agent/env-files es la vía de acceso local y /agent-env-files es una vía de acceso del contenedor.

    docker run -d --env-file ~/agent/env-files/env.txt -v ~/agent/env-files:/agent-env-files icr.io/ibm/satellite-connector/satellite-connector-agent:latest
    

    Ejemplo de mandato utilizando la versión 1.1.0 de la imagen, ejecute el mandato siguiente.

    docker run -d --env-file ~/agent/env-files/env.txt -v ~/agent/env-files:/agent-env-files icr.io/ibm/satellite-connector/satellite-connector-agent:v1.1.0
    
  3. Puede verificar que el túnel se establece en el conector consultando los registros del contenedor.

    docker logs CONTAINER-ID
    

    Cerca del principio del registro, puede encontrar entradas similares a los ejemplos siguientes.

    {"level":30,"time":"2023-06-20T16:12:20.133Z","pid":8,"hostname":"6b793f671c79","name":"agentOps","msgid":"A02","msg":"Load SATELLITE_CONNECTOR_ID value from SATELLITE_CONNECTOR_ID environment variable."}
    {"level":30,"time":"2023-06-20T16:12:20.138Z","pid":8,"hostname":"6b793f671c79","name":"agentOps","msgid":"A01","msg":"Load SATELLITE_CONNECTOR_IAM_APIKEY value from file /agent-env-files/apikey."}
    {"level":30,"time":"2023-06-20T16:12:20.140Z","pid":8,"hostname":"6b793f671c79","name":"agentOps","msgid":"A02","msg":"Load SATELLITE_CONNECTOR_TAGS value from SATELLITE_CONNECTOR_TAGS environment variable."}
    {"level":30,"time":"2023-06-20T16:12:20.142Z","pid":8,"hostname":"6b793f671c79","name":"connector-agent","msgid":"LA2","msg":"Connector id: U2F0ZWxsaXRlQ29ubmVjdG9yOiJjaThzdWd1ZDFwZ2RrZmUxa3UxZyI, region: us-south, release info: 20230610-dd48822928d35a84b31029a996fa9abc9d29fc93_A."}
    {"level":30,"time":"2023-06-20T16:12:20.392Z","pid":8,"hostname":"6b793f671c79","name":"tunneldns","msgid":"D04","msg":"DoTunnelDNSLookup DNS resolve c-01-ws.us-south.link.satellite.cloud.ibm.com to 169.61.31.178"}
    {"level":30,"time":"2023-06-20T16:12:21.560Z","pid":8,"hostname":"6b793f671c79","name":"utilities","msg":"MakeLinkAPICall GET /v1/connectors/U2F0ZWxsaXRlQ29ubmVjdG9yOiJjaThzdWd1ZDFwZ2RrZmUxa3UxZyI status code 200"}
    {"level":30,"time":"2023-06-20T16:12:21.563Z","pid":8,"hostname":"6b793f671c79","name":"agent_tunnel","msgid":"LAT03","msg":"Got configuration"}
    {"level":30,"time":"2023-06-20T16:12:21.565Z","pid":8,"hostname":"6b793f671c79","name":"agent_tunnel","msgid":"LAT04-wss://c-01-ws.us-south.link.satellite.cloud.ibm.com/ws","msg":"Connecting to wss://c-01-ws.us-south.link.satellite.cloud.ibm.com/ws"}
    {"level":30,"time":"2023-06-20T16:12:21.922Z","pid":8,"hostname":"6b793f671c79","name":"tunneldns","msgid":"D04","msg":"DoTunnelDNSLookup DNS resolve c-01-ws.us-south.link.satellite.cloud.ibm.com to 169.61.31.178"}
    {"level":30,"time":"2023-06-20T16:12:22.294Z","pid":8,"hostname":"6b793f671c79","name":"TunnelCore","msgid":"TC24","msg":"Tunnel open","connector_id":"U2F0ZWxsaXRlQ29ubmVjdG9yOiJjaThzdWd1ZDFwZ2RrZmUxa3UxZyI"}
    {"level":30,"time":"2023-06-20T16:12:22.299Z","pid":8,"hostname":"6b793f671c79","name":"connector_tunnel_base","msgid":"CTB26-U2F0ZWxsaXRlQ29ubmVjdG9yOiJjaThzdWd1ZDFwZ2RrZmUxa3UxZyI","msg":"Send connector information to tunnel server"}
    {"level":30,"time":"2023-06-20T16:12:22.307Z","pid":8,"hostname":"6b793f671c79","name":"connector_tunnel_base","msgid":"CTB27","msg":"Tunnel connected","connector_id":"U2F0ZWxsaXRlQ29ubmVjdG9yOiJjaThzdWd1ZDFwZ2RrZmUxa3UxZyI","cipher":{"name":"TLS_AES_256_GCM_SHA384","standardName":"TLS_AES_256_GCM_SHA384","version":"TLSv1.3"}}
    

Después de configurar un agente, puede crear puntos finales y ACL para gestionar el acceso a dichos puntos finales. Para obtener más información, consulte Creación y gestión de puntos finales de conector.

Ejecutar el agente en Windows

Revise los pasos siguientes para ejecutar un agente de conector en Windows.

Antes de empezar, revisa los Requisitos mínimos.

Paso 1: Descarga de los archivos del agente de conector desde la CLI

  1. Desde la CLI, ejecute el mandato siguiente para descargar el archivo .zip del agente.

    ibmcloud sat agent attach --platform windows
    

    Salida de ejemplo.

    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. Verifique el sha512sum del .zip ejecutando el siguiente comando en PowerShell.

    Get-FileHash -Algorithm SHA512 -Path c:\windows_satellite_connector_1420916628.zip
    
  3. Ejecute el mandato siguiente en PowerShell para extraer el contenido del archivo .zip.

    Expand-Archive -Path 'C:\path\to\windows_satellite_connector_4097559421.zip' -DestinationPath ‘C:\path\to\extract'
    
  4. Realice los pasos de la sección siguiente para actualizar los archivos de configuración que ha extraído.

Paso 2: Actualizar el archivo config.json

La información de configuración se proporciona al agente a través de las siguientes variables de entorno en el archivo config.json que ha extraído en el paso anterior. Revise los parámetros siguientes para la imagen de agente.

  1. Actualice el config.json que ha extraído anteriormente con los valores adecuados para cada parámetro.

    Debe escapar la barra inclinada en la vía de acceso del archivo.

    Ejemplo config.json.

    {
      "SATELLITE_CONNECTOR_ID":"<Your Satellite Connector ID>",
      "SATELLITE_CONNECTOR_IAM_APIKEY":"<Your API Key>",
      "SATELLITE_CONNECTOR_TAGS":"sample tag",
      "LOG_LEVEL": "info",
      "PRETTY_LOG": true
    }
    

    Ejemplo config.json con valores rellenados.

    {
      "SATELLITE_CONNECTOR_ID":"U2F0ZWxsaXRlQ29ubmVjdG9yOiJjanM4cnRzZjFsN2c0M3U4cmp1MBA",
      "SATELLITE_CONNECTOR_IAM_APIKEY":"C:\\path\\to\\apikey",
      "SATELLITE_CONNECTOR_TAGS":"sample tag",
      "LOG_LEVEL": "info",
      "PRETTY_LOG": true
    }
    
  2. Guarde el archivo.

  3. Complete los pasos de la sección siguiente para iniciar el agente.

Paso 3: Iniciar el agente

  1. Inicie el agente ejecutando el mandato install en PowerShell.

    .\install
    

    Si inicia el agente y recibe un error de Windows Microsoft Defender SmartScreen, esto es lo esperado. Los scripts de instalación en texto plano no están firmados. Sugerimos confiar en el paso para verificar el sha512sum después de descargar el agente.

  2. Verifique que el agente está instalado ejecutando el comando Get-Service en PowerShell.

    Get-Service 'Satellite Connector Service'
    
  3. Visualice los registros del agente ejecutando el mandato Get-Content en PowerShell.

    Get-Content 'C:\path\to\extract\logs\{satelliteconnectorservice_{{yyyymmdd}}.out.log}'
    
  4. Opcional: Detenga el agente ejecutando el mandato uninstall en PowerShell.

    .\uninstall
    

Después de configurar un agente, puede crear puntos finales y ACL para gestionar el acceso a dichos puntos finales. Para obtener más información, consulte Creación y gestión de puntos finales de conector.

Actualización del agente en Windows

Puede utilizar el comando update-service en el paquete del agente para aplicar cambios de configuración a su agente. Cuando ejecuta el mandato, el agente se detiene, se desinstala y se vuelve a instalar. Complete los siguientes pasos para actualizar su agente.

  1. Antes de actualizar, revise los cambios en el Registro de cambios del agente de Conector Windows y compruebe si la última versión es más reciente que su agente actualmente en ejecución.

    Puede encontrar su número de versión actual en el archivo version.txt dentro del paquete del agente para su agente actualmente en ejecución. Si no se encuentra ningún archivo version.txt o su número de versión actual es inferior al número de versión más reciente, hay una versión más reciente disponible para actualizar.

  2. Si existe una versión más reciente del agente y desea utilizarla, descargue la última versión siguiendo las instrucciones de Paso 1: Descarga de los archivos del agente de Connector desde la CLI antes de continuar con los siguientes pasos.

  3. Modifique los parámetros de configuración en el archivo config.json.

    Ejemplo config.json.

    {
      "SATELLITE_CONNECTOR_ID":"<Your Satellite Connector ID>",
      "SATELLITE_CONNECTOR_IAM_APIKEY":"<Your API Key>",
      "SATELLITE_CONNECTOR_TAGS":"<tags>",
      "LOG_LEVEL": "info",
      "PRETTY_LOG": true
    }
    

    Ejemplo config.json con valores rellenados.

    {
      "SATELLITE_CONNECTOR_ID":"U2F0ZWxsaXRlQ29ubmVjdG9yOiJjanM4cnRzZjFsN2c0M3U4cmp1MBA",
      "SATELLITE_CONNECTOR_IAM_APIKEY":"C:\\path\\to\\apikey",
      "SATELLITE_CONNECTOR_TAGS":"sample tag",
      "LOG_LEVEL": "info",
      "PRETTY_LOG": true
    }
    
  4. Ejecute el mandato update-service en PowerShell.

    .\update-service
    
  5. Verifique que el agente está instalado ejecutando el comando Get-Service en PowerShell.

    Get-Service 'Satellite Connector Service'
    
  6. Visualice los registros del agente ejecutando el mandato Get-Content en PowerShell.

    Get-Content 'C:\path\to\extract\logs\{satelliteconnectorservice_{{yyyymmdd}}.out.log}'
    

Próximos pasos

Después de crear un agente de conector, puede crear puntos finales para conectarse desde la red privada de IBM Cloud a un recurso que se ejecuta en la ubicación. También puede controlar el acceso a los puntos finales creando reglas de lista de control de acceso. Para obtener más información, consulte Creación y gestión de puntos finales de conector.