Esecuzione di un agent del connettore
Dopo aver creato un connettore Satellite, segui i passaggi riportati di seguito per creare un agente e completare la configurazione.
Prerequisiti
- Crea un connettore Satellite.
- Installa la CLI.
- Facoltativo: crea un ID servizio. Gli ID servizio sono consigliati rispetto all'utilizzo delle singole credenziali utente.
- Assicurarsi che l'utente o l'ID del servizio che esegue l'agente abbia il ruolo Viewer Platform Satellite in IAM.
- Crea una chiave API utilizzando il tuo proprio accesso o il tuo ID servizio. Questa chiave API viene utilizzata dall'agent del connettore.
- Assicurarsi che l'ambiente di elaborazione soddisfi i requisiti minimi ( Minimum requirements ) per eseguire l'immagine agent.
- Rivedere i parametri agent.
Revisione dei parametri agent
Le informazioni di configurazione vengono fornite all'agent tramite le variabili di ambiente riportate di seguito. Ognuna di queste variabili di ambiente può essere impostata direttamente su un valore o su un percorso di un file che contiene il valore. Il valore del percorso deve essere accessibile dall'interno del contenitore e pertanto si basa sul punto di montaggio e non su un percorso locale sull'host. Si veda la tabella seguente per un esempio.
| Variabile di ambiente | Obbligatorio | Descrizione |
|---|---|---|
SATELLITE_CONNECTOR_ID |
Sì | L'ID del connettore Satellite a cui è collegato l'agent. Puoi trovare il tuo ID connettore nella consoleSatellite o eseguendo il comando ibmcloud sat connector ls. |
SATELLITE_CONNECTOR_IAM_APIKEY |
Sì | La chiave API IAM. Per motivi di sicurezza, considera la possibilità di archiviare la chiave API IAM in un file e quindi fornire il file per questo valore. Nota: in ambienti Windows, è necessario eseguire l'escape della barra nel percorso file. |
SATELLITE_CONNECTOR_TAGS |
No | Una stringa definita dall'utente che può essere utile per identificare il proprio agente. Questa stringa può essere qualsiasi valore che si trova utile. Il valore deve essere inferiore o uguale a 256 caratteri e viene troncato se supera
i 256 caratteri. Vengono rimossi i seguenti caratteri: <>/{}%[]?,;@$&. |
SATELLITE_CONNECTOR_DIRECT_LINK_INGRESS |
No | Il server Satellite Tunnel Ingress verso cui indirizzare il traffico dell'agente. Specificando un ingresso interno, si garantisce che tutto il traffico tra l'agente e il server Tunnel rimanga nella rete privata. |
LOG_LEVEL |
No | Impostare il livello di dettaglio di registrazione che si desidera ricevere per l'agente. È possibile specificare uno tra fatal, error, warn, debug, info o trace.
Il livello predefinito è info. Di solito, i livelli debug e trace vengono utilizzati solo durante il debug. |
PRETTY_LOG |
No | Solo ambienti Windows. Specificare 'true per mostrare i registri in un formato carino o 'false per mostrare i registri in formato JSON. |
Esecuzione dell'agent sulla piattaforma del contenitore
Prima di iniziare, consultate i requisiti minimi.
Passo 1: creazione dei file di configurazione locali
Esistono diversi modi per passare le informazioni sulla variabile di ambiente di configurazione dell'agent al contenitore. Il seguente esempio utilizza i file di configurazione. Tuttavia, è possibile utilizzare il comando docker run --env per specificare i valori.
Tieni presente che se utilizzi --env con la tua chiave API, la chiave API è esposta all'ambiente del contenitore ed è visibile sull'output del comando docker inspect. Puoi proteggere la tua chiave API in un file e
quindi utilizzare il nome file nella variabile di ambiente. Se si sceglie di utilizzare il nome file, è necessario accertarsi che il percorso file specificato nella variabile di ambiente sia montato in un percorso file nel contenitore, come
mostrato nel seguente esempio.
I nomi file mostrati nei seguenti passi sono esempi e possono essere personalizzati per il proprio ambiente.
-
Creare una directory per i file di configurazione, in questo esempio
~/agent/env-files. -
Crea un file nella directory
~/agent/env-filesdenominataapikeycon un valore di riga singola della tua chiave API IBM Cloud che può accedere al connettore Satellite. -
Creare un file nella directory
~/agent/env-filesdenominataenv.txtcon i seguenti valori. Modificare la variabile 'SATELLITE_CONNECTOR_IDcon il proprio Satellite ID del connettore.SATELLITE_CONNECTOR_ID=<Your Satellite Connector ID> SATELLITE_CONNECTOR_IAM_APIKEY=/agent-env-files/apikey SATELLITE_CONNECTOR_TAGS=sample tag -
A questo punto, la directory contiene 2 file e sembra simile al seguente esempio.
env-files$ ls apikey env.txt -
Completa la procedura nella seguente sezione per eseguire il pull dell'immagine agent.
Passo 2: estrazione dell'immagine dell'agent
-
Accedi a IBM Cloud® Container Registry. In alternativa, accedi al repository direttamente da Docker con la tua chiave API.
ibmcloud cr region-set icr.iodocker login -u iamapikey -p <your apikey> icr.io -
Estrarre l'ultima versione dell'immagine pubblicata adatta alla propria architettura. I valori accettati per i tag sono
latest,latest-amd64,latest-arm64,latest-ppc64leelatest-s390x. L'elenco delle versioni pubblicate è disponibile all'indirizzo IBM Satellite Connector Agent Release History.docker pull icr.io/ibm/satellite-connector/satellite-connector-agent:latest -
Seguire i passaggi riportati di seguito per eseguire l'immagine dell'agente.
Passo 3: esecuzione dell'immagine agent
-
Per visualizzare le versioni disponibili dell'immagine dell'agent, eseguire il seguente comando.
ibmcloud cr images --include-ibm |egrep -i "tag|satellite"Output di esempio:
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 - -
Montare la directory
env-filesnella directory/agent-env-filesdel contenitore utilizzando l'opzione-v. È possibile utilizzare la versione più recente o una versione specifica dell'immagine pubblicata.Se una variabile di ambiente utilizza un percorso per un file, tale percorso deve essere un percorso file all'interno del contenitore. Per richiamare il percorso file, utilizzare l'opzione
-vsul comandodocker run. L'opzione-vviene specificata dal percorso della directory della variabile di ambiente locale, seguito dal percorso montato nel contenitore e separato da:. Ad esempio,-v ~/agent/env-files:/agent-env-files, dove~/agent/env-filesè il tuo percorso locale e/agent-env-filesè un percorso nel tuo contenitore.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:latestComando di esempio che utilizza la versione 1.1.0 dell'immagine, esegui questo comando.
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 -
Puoi verificare che il tunnel venga stabilito sul tuo connettore esaminando i log del contenitore.
docker logs CONTAINER-IDAll'inizio del log, è possibile trovare voci simili ai seguenti esempi.
{"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"}}
Dopo aver impostato un agente, è possibile creare endpoint e ACL per gestire l'accesso a tali endpoint. Per ulteriori informazioni, vedi Creazione e gestione degli endpoint del connettore.
Esecuzione dell'agent su Windows
Esaminare la seguente procedura per eseguire l'agent del connettore su Windows.
Prima di iniziare, consultate i requisiti minimi.
Passo 1: scaricamento dei file dell'agent del connettore dalla CLI
-
Dalla CLI, immetti il seguente comando per scaricare il file
.zipdell'agente.ibmcloud sat agent attach --platform windowsOutput di esempio.
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 -
Verificate il
sha512sumdel.zipeseguendo il seguente comando in PowerShell.Get-FileHash -Algorithm SHA512 -Path c:\windows_satellite_connector_1420916628.zip -
Eseguire il seguente comando in PowerShell per estrarre il contenuto del file
.zip.Expand-Archive -Path 'C:\path\to\windows_satellite_connector_4097559421.zip' -DestinationPath ‘C:\path\to\extract' -
Completare i passi riportati nella sezione seguente per aggiornare i file di configurazione estratti.
Fase 2: aggiornamento del file config.json
Le informazioni di configurazione vengono fornite all'agent tramite le seguenti variabili di ambiente nel file config.json estratto nel passo precedente. Esaminare i parametri seguenti per l'immagine agent.
-
Aggiornare
config.jsonestratto in precedenza con i valori appropriati per ciascun parametro.È necessario eseguire l'escape della barra nel percorso file.
Esempio
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 }Esempio
config.jsoncon valori popolati.{ "SATELLITE_CONNECTOR_ID":"U2F0ZWxsaXRlQ29ubmVjdG9yOiJjanM4cnRzZjFsN2c0M3U4cmp1MBA", "SATELLITE_CONNECTOR_IAM_APIKEY":"C:\\path\\to\\apikey", "SATELLITE_CONNECTOR_TAGS":"sample tag", "LOG_LEVEL": "info", "PRETTY_LOG": true } -
Salva il file.
-
Completare i passi riportati nella seguente sezione per avviare l'agent.
Passo 3: avvio dell'agent
-
Avviare l'agent eseguendo il comando
installin PowerShell..\installSe si avvia l'agente e si riceve un errore Windows
Microsoft Defender SmartScreen, questo è previsto. Gli script di installazione in testo semplice non sono firmati. Si consiglia di affidarsi al passaggio di verifica delsha512sumdopo aver scaricato l'agente. -
Verificare che l'agente sia installato eseguendo il comando
Get-Servicein PowerShell.Get-Service 'SatelliteConnectorService' -
Visualizzare i log dell'agent eseguendo il comando
Get-Contentin PowerShell.Get-Content 'C:\path\to\extract\logs\{satelliteconnectorservice_{{yyyymmdd}}.out.log}' -
Facoltativo: Arrestare l'agent eseguendo il comando
uninstallin PowerShell..\uninstall
Dopo aver impostato un agente, è possibile creare endpoint e ACL per gestire l'accesso a tali endpoint. Per ulteriori informazioni, vedi Creazione e gestione degli endpoint del connettore.
Aggiornamento dell'agent su Windows
È possibile utilizzare il comando update-service nel pacchetto agente per applicare le modifiche alla configurazione dell'agente. Quando si esegue il comando, l'agent viene arrestato, disinstallato e reinstallato. Segui i passaggi
riportati di seguito per aggiornare il tuo agente.
-
Prima di effettuare l'aggiornamento, esaminare le modifiche nel registro delle modifiche dell'agente di Windows Connector e verificare se l'ultima versione è più recente dell'agente in esecuzione.
Il numero di versione corrente si trova nel file
version.txtall'interno del pacchetto dell'agente in esecuzione. Se non viene trovato alcun fileversion.txto se il numero della versione corrente è inferiore a quello della versione più recente, è disponibile una versione più recente da aggiornare. -
Se è disponibile una versione più recente dell'agente e si desidera utilizzarla, scaricare la versione più recente seguendo le istruzioni riportate in Fase 1: Download dei file dell'agente Connector dalla CLI prima di procedere con i passaggi successivi.
-
Modificare i parametri di configurazione nel file
config.json.Esempio
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 }Esempio
config.jsoncon valori popolati.{ "SATELLITE_CONNECTOR_ID":"U2F0ZWxsaXRlQ29ubmVjdG9yOiJjanM4cnRzZjFsN2c0M3U4cmp1MBA", "SATELLITE_CONNECTOR_IAM_APIKEY":"C:\\path\\to\\apikey", "SATELLITE_CONNECTOR_TAGS":"sample tag", "LOG_LEVEL": "info", "PRETTY_LOG": true } -
Eseguire il comando
update-servicein PowerShell..\update-service -
Verificare che l'agente sia installato eseguendo il comando
Get-Servicein PowerShell.Get-Service 'SatelliteConnectorService' -
Visualizzare i log dell'agent eseguendo il comando
Get-Contentin PowerShell.Get-Content 'C:\path\to\extract\logs\{satelliteconnectorservice_{{yyyymmdd}}.out.log}'
Passi successivi
Dopo aver creato un agent Connector, puoi creare endpoint per la connessione dalla rete privata IBM Cloud a una risorsa in esecuzione sulla tua ubicazione. È anche possibile controllare gli endpoint di accesso creando regole dell'elenco di controllo accessi. Per ulteriori informazioni, vedi Creazione e gestione degli endpoint del connettore.