IBM Cloud Docs
Esecuzione del tuo agent Connector come un servizio in modalità Swarm Docker per l'alta disponibilità

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.

  1. 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
    
  2. Crea una configurazione Docker con l'ID connettore Satellite.
    printf <satellite connector id value> | docker config create satellite-connector-id -
    
  3. Crea una configurazione Docker con l'area del connettore Satellite.
    printf <satellite connector region value> | docker config create satellite-connector-region -
    
  4. 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.

  1. Distribuisci il servizio dell'agent connettore Satellite.
    1. Assicurati di aver eseguito l'accesso a IBM Cloud® Container Registry utilizzando la CLI ibmcloud cr login o con la tua chiave API docker login -u iamapikey -p <your apikey> icr.io.
    2. Distribuire lo stack.
      docker stack deploy --compose-file satellite-connector-agent.yaml --with-registry-auth satellite_connector
      
  2. Verifica che il servizio agent del connettore Satellite sia in esecuzione.
    docker service ps satellite_connector_agent