IBM Cloud Docs
高可用性のための Docker Swarm モードでサービスとしてコネクター・エージェントを実行する

高可用性のための Docker Swarm モードでサービスとしてコネクター・エージェントを実行する

前の例で示したようにコンテナをスタンドアロンで実行することに加えて、 Docker Swarm モードを使用して複数のマシン上で最大 3 つのコンテナのクラスタを実行し、 Satellite Connector エージェントの高可用性を提供することができます。

Satellite コネクターを構成するには、IAM アクセス・ポリシー内の Satellite サービスに対する管理者権限が必要です。

  1. Swarm マネージャー・システムで Satellite コネクター・エージェントを作成し、 satellite-connector-agent.yaml という名前のファイルを作成して、以下の内容をそこにコピーします。
    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. Satellite コネクター ID を使用して Docker 構成を作成します。
    printf <satellite connector id value> | docker config create satellite-connector-id -
    
  3. Satellite コネクター地域を使用して Docker 構成を作成します。
    printf <satellite connector region value> | docker config create satellite-connector-region -
    
  4. IAM API キーを使用して Docker 秘密を作成します。
    printf <Your IAM API key> | docker secret create satellite-connector-iam-apikey -
    

デフォルトでは、Swarm 構成ファイルにより、 SATELLITE_CONNECTOR_TAGS 環境変数が Swarm ノードのホスト名に設定されます。 この値は、compose ファイル内のニーズに合わせて調整できます。 さらに、レプリカの数はデフォルトで 3 に設定されています。 この数値を低く調整することはできますが、サポートされるレプリカは最大 3 つのみです。

  1. Satellite コネクター・エージェント・サービスをデプロイします。
    1. ibmcloud cr login CLI または API キー docker login -u iamapikey -p <your apikey> icr.io を使用して IBM Cloud® Container Registry にログインしていることを確認します。
    2. スタックをデプロイします。
      docker stack deploy --compose-file satellite-connector-agent.yaml --with-registry-auth satellite_connector
      
  2. Satellite コネクター・エージェント・サービスが実行中であることを確認します。
    docker service ps satellite_connector_agent