1

docker swarm モードで 3 つのノードがあります。

1 つのマネージャー ノードと 2 つのワーカー ノード

ここで2つの疑問がありますか?

  1. サービスを現在のノードよりも多くの数にスケーリングすると、どのような影響がありますか。( 1 つのサービスを 5 または 6 にスケーリングするとします)

  2. サービスがマネージャー ノードでのみ実行されなければならないという制約があり、マネージャー ノードの数よりも大きい数をスケーリングする場合、スケールはどうなりますか (たとえば、3 にスケーリングします)。

マネージャー ノードで実行するように docker-compose で定義された制約配置を持つマネージャー ノードで mysql サービスを実行しています。これは、ノードが 3 つしかないのに6にスケーリングしようとしたときに見られる効果です。docker service logs は 4/6 の実行を示しており、 6/6 と 5/6 を示す変動もあります

ここで docker-compose.yml

version: '3.4'

networks:
  smstake:   
    ipam:
      config:
        - subnet: 10.0.10.0/24


services:

    db:
        image: mysql:5.7
        networks:
          - smstake
        ports:
          - "3306"
        environment:
          MYSQL_ROOT_PASSWORD: password
          MYSQL_DATABASE: mydb
          MYSQL_USER: myuser
          MYSQL_PASSWORD: password
        volumes:
          - mysql_data_2:/var/lib/mysql
        deploy:
          mode: replicated
          replicas: 1
          placement:
            constraints:
              - node.role == manager
    app:
        image: SMSTAKE_VERSION
        ports:
          - 8000:80
        networks:
          - smstake
        depends_on:
          - db
        #  - migration
        deploy:
          mode: replicated
          replicas: 3

    migration:
        # build: .
        image: SMSTAKE_VERSION
        command: sh -xc "sleep 10 && pwd && php artisan migrate:fresh --seed 2>&1"
        networks:
          - smstake
        depends_on:
          - app
          - db
        deploy:
          mode: replicated
          replicas: 1
          placement:
            constraints:
              - node.role == manager
volumes:
    mysql_data_2:
4

1 に答える 1