IBM Cloud Docs
Ejecución del agente de conector como un servicio en modalidad Swarm de Docker para alta disponibilidad

Ejecución del agente de conector como un servicio en modalidad Swarm de Docker para alta disponibilidad

Además de ejecutar el contenedor de forma autónoma como se muestra en el ejemplo anterior, puede utilizar el modo Docker Swarm para ejecutar un clúster de hasta 3 contenedores en varias máquinas para proporcionar una alta disponibilidad del agente Satellite Connector.

Para configurar Satellite Connectors, debe tener acceso de administrador al servicio Satellite en las políticas de acceso de IAM.

  1. Cree un archivo de composición de agente de conector Satellite llamado satellite-connector-agent.yaml en el sistema del gestor Swarm y copie el contenido siguiente en él:
    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. Cree una configuración de Docker con el ID de conector Satellite.
    printf <satellite connector id value> | docker config create satellite-connector-id -
    
  3. Cree una configuración de Docker con la región de conector Satellite.
    printf <satellite connector region value> | docker config create satellite-connector-region -
    
  4. Cree un secreto de Docker con la clave de API de IAM.
    printf <Your IAM API key> | docker secret create satellite-connector-iam-apikey -
    

De forma predeterminada, el archivo de composición Swarm establece la variable de entorno SATELLITE_CONNECTOR_TAGS en el nombre de host del nodo Swarm. Puede ajustar este valor para que se ajuste a sus necesidades dentro del archivo de composición. Además, el número de réplicas se establece en 3 de forma predeterminada. Puede ajustar este número más abajo, pero sólo se da soporte a un máximo de 3 réplicas.

  1. Despliegue el servicio de agente de conector Satellite.
    1. Asegúrese de que ha iniciado sesión en IBM Cloud® Container Registry utilizando la CLI de ibmcloud cr login o con la clave de API docker login -u iamapikey -p <your apikey> icr.io.
    2. Despliegue la pila.
      docker stack deploy --compose-file satellite-connector-agent.yaml --with-registry-auth satellite_connector
      
  2. Verifique que el servicio de agente de conector Satellite esté en ejecución.
    docker service ps satellite_connector_agent