2

アプリケーションからの要求に応じて数回展開されるコンテナーがあります。コンテナー間の違いは環境変数に依存し、異なる bd (PostgreSQL) と異なるテーブルを指します (テーブルはヘルス チェックのパス プロパティを表します)。 )。DC/OS 1.8 に最初のサービスを展開すると、うまく機能しますが、残りの展開は機能しません。

app.jsonの見た目は次のとおりです。

{
  "volumes": null,
  "id": "/data-microservices/ms1",
  "cmd": null,
  "args": null,
  "user": null,
  "env": {
    "DATABASE_URL": "postgres://<username>:<password>@<host>:5432/<dbname>",
    "TABLE": "<thetable>"
  },
  "instances": 1,
  "cpus": 0.1,
  "mem": 65,
  "disk": 0,
  "gpus": 0,
  "backoffSeconds": 1,
  "backoffFactor": 1.15,
  "maxLaunchDelaySeconds": 3600,
  "container": {
    "docker": {
      "image": "imtachu/data-microservice",
      "forcePullImage": true,
      "privileged": false,
      "portMappings": [
        {
          "containerPort": 8080,
          "protocol": "tcp"
        }
      ],
      "network": "BRIDGE"
    }
  },
  "healthChecks": [
    {
      "protocol": "HTTP",
      "path": "/api/<thetable>",
      "gracePeriodSeconds": 10,
      "intervalSeconds": 2,
      "timeoutSeconds": 10,
      "maxConsecutiveFailures": 10,
      "ignoreHttp1xx": false
    }
  ],
  "readinessChecks": null,
  "dependencies": null,
  "upgradeStrategy": {
    "minimumHealthCapacity": 1,
    "maximumOverCapacity": 1
  },
  "labels": {
    "HAPROXY_GROUP": "external",
    "HAPROXY_0_VHOST": "dcos2-PublicSlaveL-KWSCFODW1ME5-878889582.us-east-1.elb.amazonaws.com"
  },
  "acceptedResourceRoles": null,
  "residency": null,
  "secrets": null,
  "taskKillGracePeriodSeconds": null,
  "portDefinitions": [
    {
      "protocol": "tcp",
      "labels": {}
    }
  ],
  "requirePorts": false
}

これまでのところ、hostPortプロパティを変更してHAPROXY_0_VHOSTをに変更しようとしHAPROXY_1_VHOSTrequirePortsので、各コンテナを異なるポートで実行できるかもしれません。

最初にテーブル A を指すサービスをデプロイしてから、テーブル B を指す別のサービスをデプロイしようとしましたが、動作は同じです。最初にデプロイされたサービスは常に機能し、残りは機能しません。

4

0 に答える 0