Esecuzione del tuo agent Connector come un servizio in modalità Swarm Docker per l'alta disponibilità
Oltre a eseguire il contenitore stand-alone come mostrato nell'esempio precedente, è possibile usare la modalità Docker Swarm per eseguire un cluster di massimo 3 contenitori su più macchine per fornire un'alta disponibilità dell'agente Satellite Connector.
Per configurare i connettori Satellite, devi disporre dell'accesso di amministratore al servizio Satellite nelle politiche di accesso IAM.
- Creare un file di composizione dell'agent connettore Satellite denominato
satellite-connector-agent.yaml
sul proprio sistema Swarm manager e copiarvi il seguente contenuto:version: '3.9' services: agent: image: icr.io/ibm/satellite-connector/satellite-connector-agent:latest environment: - SATELLITE_CONNECTOR_ID=/satellite-connector-id - SATELLITE_CONNECTOR_IAM_APIKEY=/run/secrets/satellite-connector-iam-apikey - SATELLITE_CONNECTOR_TAGS={{.Node.Hostname}} deploy: replicas: 3 restart_policy: condition: any update_config: parallelism: 2 delay: 20s failure_action: rollback order: start-first resources: limits: cpus: '0.40' memory: 500M reservations: cpus: '0.04' memory: 200M configs: - source: satellite-connector-id uid: '1000' gid: '1000' mode: 0400 - source: satellite-connector-region uid: '1000' gid: '1000' mode: 0400 secrets: - source: satellite-connector-iam-apikey uid: '1000' gid: '1000' mode: 0400 logging: driver: "json-file" options: max-size: ${JSON_FILE_MAX_SIZE:-1m} max-file: ${JSON_FILE_MAX_FILE:-10} configs: satellite-connector-id: external: true satellite-connector-region: external: true secrets: satellite-connector-iam-apikey: external: true networks: default: external: true name: bridge
- Crea una configurazione Docker con l'ID connettore Satellite.
printf <satellite connector id value> | docker config create satellite-connector-id -
- Crea una configurazione Docker con l'area del connettore Satellite.
printf <satellite connector region value> | docker config create satellite-connector-region -
- Crea un segreto Docker con la tua chiave API IAM.
printf <Your IAM API key> | docker secret create satellite-connector-iam-apikey -
Per impostazione predefinita, il file di composizione Swarm imposta la variabile di ambiente di SATELLITE_CONNECTOR_TAGS
sul nome host del nodo Swarm. È possibile adattare questo valore alle proprie esigenze all'interno del file di
composizione. Inoltre, il numero di repliche è impostato su 3 per impostazione predefinita. È possibile regolare questo numero più in basso, ma sono supportate solo un massimo di 3 repliche.
- Distribuisci il servizio dell'agent connettore Satellite.
- Assicurati di aver eseguito l'accesso a IBM Cloud® Container Registry utilizzando la CLI
ibmcloud cr login
o con la tua chiave APIdocker login -u iamapikey -p <your apikey> icr.io
. - Distribuire lo stack.
docker stack deploy --compose-file satellite-connector-agent.yaml --with-registry-auth satellite_connector
- Assicurati di aver eseguito l'accesso a IBM Cloud® Container Registry utilizzando la CLI
- Verifica che il servizio agent del connettore Satellite sia in esecuzione.
docker service ps satellite_connector_agent