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
- Cree un conector Satellite.
- Instale la CLI.
- Opcional: Cree un ID de servicio. Los ID de servicio se recomiendan en vez de utilizar credenciales de usuario individuales.
- Asegúrese de que el usuario o ID de servicio que ejecuta el agente tiene el rol de plataforma Visor Satellite en IAM.
- Cree una clave de API utilizando su propio inicio de sesión o su ID de servicio. Esta clave de API la utiliza el agente de conector.
- Asegúrese de que el entorno informático cumple los Requisitos mínimos para ejecutar la imagen del agente.
- Revise los parámetros del agente.
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.
Variable de entorno | Obligatorio | Descripción |
---|---|---|
SATELLITE_CONNECTOR_ID |
Sí | 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 |
Sí | 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.
-
Cree un directorio para los archivos de configuración, en este ejemplo
~/agent/env-files
. -
Cree un archivo en el directorio
~/agent/env-files
denominadoapikey
con un único valor de línea de la clave de API de IBM Cloud que pueda acceder al conector Satellite. -
Cree un archivo en el directorio
~/agent/env-files
denominadoenv.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
-
En este punto, el directorio contiene 2 archivos y tiene un aspecto similar al del ejemplo siguiente.
env-files$ ls apikey env.txt
-
Complete los pasos de la sección siguiente para extraer la imagen del agente.
Paso 2: Extraer la imagen del agente
-
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
-
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
ylatest-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
-
Complete los siguientes pasos para ejecutar la imagen del agente.
Paso 3: Ejecución de la imagen de agente
-
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 -
-
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 mandatodocker 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
-
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
-
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
-
Verifique el
sha512sum
del.zip
ejecutando el siguiente comando en PowerShell.Get-FileHash -Algorithm SHA512 -Path c:\windows_satellite_connector_1420916628.zip
-
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'
-
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.
-
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 }
-
Guarde el archivo.
-
Complete los pasos de la sección siguiente para iniciar el agente.
Paso 3: Iniciar el agente
-
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 elsha512sum
después de descargar el agente. -
Verifique que el agente está instalado ejecutando el comando
Get-Service
en PowerShell.Get-Service 'Satellite Connector Service'
-
Visualice los registros del agente ejecutando el mandato
Get-Content
en PowerShell.Get-Content 'C:\path\to\extract\logs\{satelliteconnectorservice_{{yyyymmdd}}.out.log}'
-
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.
-
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 archivoversion.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. -
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.
-
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 }
-
Ejecute el mandato
update-service
en PowerShell..\update-service
-
Verifique que el agente está instalado ejecutando el comando
Get-Service
en PowerShell.Get-Service 'Satellite Connector Service'
-
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.