2017-10-18 5 views
0

J'ai un cluster Mesos/Marathon en cours d'exécution, mais l'adresse IP des instances en cours d'exécution n'est pas propagée à Marathon-UI ou au proxy traefik.L'adresse IP des instances en cours d'exécution n'est pas propagée

Mes mesos setup:

ExecStart=/bin/bash -c "/usr/sbin/mesos-slave \ 
      --hostname=$(/usr/bin/hostname) \ 
      --work_dir=/var/lib/mesos \ 
      --master=zk://xxx.net:2181,yyy:2181,zzz:2181/mesos \ 
      --log_dir=/var/log/mesos \ 
      --executor_registration_timeout=10mins \ 
      --containerizers=docker,mesos \ 
      --docker=$(which docker) \ 
      --ip=$(ifconfig eth0 | grep -oP 'inet \K\S+')" 

Mon treafik conf:

logLevel = "INFO" 
[web] 
address = ":8088" 
[marathon] 
endpoint = "http://xxx:8080" 
watch = true 
domain = "xxx" 
exposedByDefault = true 
groupsAsSubDomains = true 
forceTaskHostname = true 

[accessLog] 

enter image description here enter image description here

MISE À JOUR: La définition de l'application est:

{ 
    "id": "/web", 
    "cmd": null, 
    "cpus": 1, 
    "mem": 64, 
    "disk": 0, 
    "instances": 1, 
    "acceptedResourceRoles": [ 
    "*" 
    ], 
    "container": { 
    "type": "DOCKER", 
    "volumes": [], 
    "docker": { 
     "image": "ldaume/caddy", 
     "network": "BRIDGE", 
     "portMappings": [ 
     { 
      "containerPort": 2015, 
      "hostPort": 0, 
      "servicePort": 10001, 
      "protocol": "tcp", 
      "labels": {} 
     } 
     ], 
     "privileged": false, 
     "parameters": [], 
     "forcePullImage": false 
    } 
    }, 
    "portDefinitions": [ 
    { 
     "port": 10001, 
     "protocol": "tcp", 
     "labels": {} 
    } 
    ] 
} 

L'application est accessible si j'utilise le DNS Marathon avec le port donné.

+0

Pouvez-vous spécifier la version de Marathon que vous utilisez et ajouter une définition d'application désinfectée? L'équipe d'Ivan on the Marathon dit "Si c'est Marathon 1.5.x, alors la réponse est probablement facile, parce que Marathon est obsolète, et qu'il y a des changements en rapport avec le réseautage en 1.5, probablement la même chose pour traefik". Bien que ce ne soit pas la même chose pour traefik considérant la réponse ci-dessous. –

+0

De cause @JudithMalnick. J'utilise Mesos 1.4 avec Marathon 1.4.8 (essayé 1.5.1 auparavant) sur Debian Stretch (9) et traefik 1.4 – Lenny

+0

Sweet, merci! Pourriez-vous ajouter votre application ou définition de pod? –

Répondre

0

J'ai la même configuration que vous et j'ai les rapports de la mienne correctement. J'utilise 1.4 traefik. config Traefik est très simple:

################################################################ 
# Global configuration 
################################################################ 

defaultEntryPoints = ["http"] 


################################################################ 
# Web configuration backend 
################################################################ 

[web] 
    address = ":8081" 

################################################################ 
# Marathon configuration backend 
################################################################ 


[marathon] 
    endpoint = "http://172.31.xx.xx:8080" 

    domain = "marathon.localhost" 

    watch = true 

...... Ce est une configuration AWS en utilisant des conteneurs docker où le point final est interne VPC IP, pas externe AWS IP.