2016-04-14 6 views
2

Ich kämpfe darin, wie man Kontingente in Mesos mit aktivierten Aktoren bekommt.Wie setze/lösche ich Kontingente in Mesos mit aktivierten AIs?

Ich verwende Mesos-Version 0.27.2.

Ich habe drei Masters follwing Fahnen mit:

  • --ip = some-ip \
  • --logging_level = INFO \
  • --advertise_ip = some-ip \
  • - -port = 5050 \
  • --advertise_port = 5050 \
  • --registry = replicated_log \
  • --quorum = 2 \
  • --zk = some-zookepyer-url \
  • --cluster = AlisterDevelopment \
  • --log_dir =/var/log/Mesos/Master \
  • --work_dir =/var/lib/Mesos/Master \
  • --offer_timeout = 1mins \
  • --hostname = some-Hostname \
  • --credentials = file: /// etc/Mesos-Master/Passwörter \
  • --acls = Datei: /// etc/mesos-master/acls \
  • --authenticate_slaves

meine acls wie folgt aussehen:

{ 
    "permissive": false, 
    "run_tasks": [ 
    { 
     "principals": { "values": ["ase", "core", "opss", "jenkins"] }, 
     "users": { "values": ["jenkins"] } 
    } 
    ], 
    "register_frameworks": [ 
    { 
     "principals": { "values": ["ase"] }, 
     "roles": { "values": ["ase"] } 
    }, 
    { 
     "principals": { "values": ["opss"] }, 
     "roles": { "values": ["opss"] } 
    }, 
    { 
     "principals": { "values": ["core"] }, 
     "roles": { "values": ["core"] } 
    }, 
    { 
     "principals": { "values": ["jenkins"] }, 
     "roles": { "values": ["jenkins"] } 
    } 
    ], 
    "set_quotas": [ 
    { 
     "principals": { 
     "values": ["ase", "core", "opss", "jenkins"] 
     }, 
     "roles": { 
     "values": ["ase", "core", "opss", "jenkins"] 
     } 
    } 
    ], 
    "remove_quotas": [ 
    { 
     "principals": { 
     "values": ["ase", "core", "opss", "jenkins"] 
     }, 
     "quota_principals": { 
     "values": ["ase", "core", "opss", "jenkins"] 
     } 
    } 
    ] 
} 

für die Prinzipien ase, Kern und ops gibt es Passwörter in der Credentials-Datei, und mit diesen Anmeldeinformationen Frameworks Registrierung funktioniert gut, ebenso Registrieren von Slaves.

Wenn Sie jedoch versuchen, Quoten mit curl hinzuzufügen, erhalte ich als Antwort 403 Verboten.

Der obige Befehl funktioniert gut, wenn acls nicht aktiviert sind.

Sobald wieder aktiviert, schlägt das Löschen des Kontingents erneut mit 403 Forbidden fehl.

Was ich in den Mesos-Master-Logs zu sehen ist:

I0414 10:59:39.396838  9 http.cpp:501] HTTP GET for /master/state.json from 192.168.7.14:35248 with User-Agent='Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0' 
I0414 10:59:40.019409  8 http.cpp:501] HTTP POST for /master/quota from 192.168.7.14:35258 with User-Agent='curl/7.35.0' 
I0414 10:59:40.031294  8 quota_handler.cpp:446] Authorizing principal 'ANY' to request quota for role 'ase' 

für das Hinzufügen und:

I0414 13:07:23.521467  9 http.cpp:501] HTTP DELETE for /master/quota/ase from 192.168.7.14:50685 with User-Agent='curl/7.35.0' 
I0414 13:07:23.523748  9 quota_handler.cpp:472] Authorizing principal 'ANY' to remove quota set by 'ANY' 

wenn Quoten zu löschen versuchen.

Die Frage ist, wie bekomme ich Curl oder Mesos zu erkennen, dass ich in diesem Fall als Haupt opss arbeite?

Antwort

1

Sie haben den Parameter --authenticate_http = true nicht in der mesos-Masterkonfiguration festgelegt.

+0

thx, das war eigentlich das Problem. Noch mit einer Frage zu antworten ist seltsam;) – rekie

Verwandte Themen