IBM Cloud Docs
Ausführen des Connector-Agenten als Service im Docker-Swarm-Modus für hohe Verfügbarkeit

Ausführen des Connector-Agenten als Service im Docker-Swarm-Modus für hohe Verfügbarkeit

Zusätzlich zum eigenständigen Betrieb des Containers, wie im vorherigen Beispiel gezeigt, können Sie den Docker Swarm-Modus verwenden, um einen Cluster von bis zu 3 Containern auf mehreren Rechnern zu betreiben, um eine hohe Verfügbarkeit des Satellite Connector-Agenten zu gewährleisten.

Um Satellite-Connectors zu konfigurieren, benötigen Sie Administratorzugriff auf den Satellite-Service in IAM-Zugriffsrichtlinien.

  1. Erstellen Sie eine Satellite Connector Agent-Erstellungsdatei mit dem Namen satellite-connector-agent.yaml auf Ihrem Swarm-Manager-System und kopieren Sie den folgenden Inhalt darauf:
    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. Erstellen Sie eine Docker-Konfiguration mit der Connector-ID Satellite.
    printf <satellite connector id value> | docker config create satellite-connector-id -
    
  3. Erstellen Sie eine Docker-Konfiguration mit der Connectorregion Satellite.
    printf <satellite connector region value> | docker config create satellite-connector-region -
    
  4. Erstellen Sie einen geheimen Docker-Schlüssel mit Ihrem IAM-API-Schlüssel.
    printf <Your IAM API key> | docker secret create satellite-connector-iam-apikey -
    

Standardmäßig legt die Swarm-Erstellungsdatei die Umgebungsvariable SATELLITE_CONNECTOR_TAGS auf den Hostnamen des Swarm-Knotens fest. Sie können diesen Wert an Ihre Anforderungen in der Erstellungsdatei anpassen. Außerdem ist die Anzahl der Replikate standardmäßig auf 3 gesetzt. Sie können diese Anzahl verringern, aber nur maximal 3 Replikate werden unterstützt.

  1. Stellen Sie den Satellite-Connectoragentenservice bereit.
    1. Stellen Sie sicher, dass Sie bei IBM Cloud® Container Registry entweder über die ibmcloud cr login-CLI oder mit Ihrem API-Schlüssel angemeldet sind. docker login -u iamapikey -p <your apikey> icr.io.
    2. Implementieren Sie den Stack.
      docker stack deploy --compose-file satellite-connector-agent.yaml --with-registry-auth satellite_connector
      
  2. Überprüfen Sie, ob der Connector-Agentenservice Satellite aktiv ist.
    docker service ps satellite_connector_agent