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.
- 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
- Erstellen Sie eine Docker-Konfiguration mit der Connector-ID Satellite.
printf <satellite connector id value> | docker config create satellite-connector-id -
- Erstellen Sie eine Docker-Konfiguration mit der Connectorregion Satellite.
printf <satellite connector region value> | docker config create satellite-connector-region -
- 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.
- Stellen Sie den Satellite-Connectoragentenservice bereit.
- 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
. - Implementieren Sie den Stack.
docker stack deploy --compose-file satellite-connector-agent.yaml --with-registry-auth satellite_connector
- Stellen Sie sicher, dass Sie bei IBM Cloud® Container Registry entweder über die
- Überprüfen Sie, ob der Connector-Agentenservice Satellite aktiv ist.
docker service ps satellite_connector_agent