Return-Path: X-Original-To: apmail-mesos-user-archive@www.apache.org Delivered-To: apmail-mesos-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5B55317ED9 for ; Mon, 29 Jun 2015 22:24:18 +0000 (UTC) Received: (qmail 38399 invoked by uid 500); 29 Jun 2015 22:24:18 -0000 Delivered-To: apmail-mesos-user-archive@mesos.apache.org Received: (qmail 38346 invoked by uid 500); 29 Jun 2015 22:24:18 -0000 Mailing-List: contact user-help@mesos.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@mesos.apache.org Delivered-To: mailing list user@mesos.apache.org Received: (qmail 38336 invoked by uid 99); 29 Jun 2015 22:24:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Jun 2015 22:24:17 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of andras.kerekes@ishisystems.com designates 108.50.146.20 as permitted sender) Received: from [108.50.146.20] (HELO exchange10.ishisystems.com) (108.50.146.20) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Jun 2015 22:22:00 +0000 Received: from EXCHANGE10.ishisystems.com ([fe80::70e3:ce99:c2f:8adf]) by exchange10.ishisystems.com ([fe80::70e3:ce99:c2f:8adf%12]) with mapi id 14.02.0247.003; Mon, 29 Jun 2015 18:23:47 -0400 From: Andras Kerekes To: "user@mesos.apache.org" Subject: service discovery in Mesos on CoreOS Thread-Topic: service discovery in Mesos on CoreOS Thread-Index: AdCytlwyPjzhkU1ETf6cJJhBK1oZyg== Date: Mon, 29 Jun 2015 22:23:46 +0000 Message-ID: <98C51EDC45EB884C92D0245A18D288271928DBC5@exchange10.ishisystems.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [172.16.12.121] Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_001C_01D0B298.BC7EBCE0" MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org ------=_NextPart_000_001C_01D0B298.BC7EBCE0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_001D_01D0B298.BC7EBCE0" ------=_NextPart_001_001D_01D0B298.BC7EBCE0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, Is there a preferred way to do service discovery in Mesos via mesos-dns running on CoreOS? I'm trying to implement a simple app which consists of two docker containers and one of them (A) depends on the other (B). What I'd like to do is to tell container A to use a fix dns name (containerB.marathon.mesos in case of mesos-dns) to find the other service. There are at least 3 different ways I think it can be done, but the 3 I found all have some shortcomings. 1. Use SRV records to get the port along with the IP. Con: I'd prefer not to build the logic of handling SRV records into the app, it can be a legacy app that is difficult to modify 2. Use haproxy on slaves and connect via a well-known port on localhost. Cons: the Marathon provided script does not run on CoreOS, also I don't know how to run haproxy on CoreOS outside of a docker container. If it is running in a docker container, then how can it dynamically allocate ports on localhost if a new service is discovered in Marathon/Mesos? 3. Use dedicated port to bind the containers to. Con: I can have only as many instances of a service as many slaves I have because they bind to the same port. What other alternatives are there? Thanks, Andras ------=_NextPart_001_001D_01D0B298.BC7EBCE0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

 

Is there a = preferred way to do service discovery in Mesos via mesos-dns running on = CoreOS? I’m trying to implement a simple app which consists of two = docker containers and one of them (A) depends on the other (B). What = I’d like to do is to tell container A to use a fix dns name = (containerB.marathon.mesos in case of mesos-dns) to find the other = service. There are at least 3 different ways I think it can be done, but = the 3 I found all have some shortcomings.

 

1.       Use = SRV records to get the port along with the IP. Con: I’d prefer not = to build the logic of handling SRV records into the app, it can be a = legacy app that is difficult to modify

2.       Use = haproxy on slaves and connect via a well-known port on localhost. Cons: = the Marathon provided script does not run on CoreOS, also I don’t = know how to run haproxy on CoreOS outside of a docker container. If it = is running in a docker container, then how can it dynamically allocate = ports on localhost if a new service is discovered in = Marathon/Mesos?

3.       Use = dedicated port to bind the containers to. Con: I can have only as many = instances of a service as many slaves I have because they bind to the = same port.

 

What other alternatives are there?

 

Thanks,

= Andras

------=_NextPart_001_001D_01D0B298.BC7EBCE0-- ------=_NextPart_000_001C_01D0B298.BC7EBCE0 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" 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 HQ4EFgQUkmFrguGioKpP7GfxwqP3tIAAwewwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYB Af8CAQAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMBEGA1UdIAQKMAgwBgYEVR0gADBE BgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vQWRkVHJ1c3RFeHRlcm5h bENBUm9vdC5jcmwwNQYIKwYBBQUHAQEEKTAnMCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2Vy dHJ1c3QuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQAbKm6sVcE6q4jF2O3NVfOqa2ErwAkQI5kPxWZq b7H1tLV3Xg8CYQDffQX+ErOkgIAA/PsdW2pyAgpBvAW6wVjVJsLq1U2E+/6CmM9YG+MiY5xS+LsF Nqt9WKXeqztj5drVc+/s4Pt74qP/8EIjnMq2jU0+5EsYA7KoLdTYu0JLkGmFENumNzToe+ABEKWc yjrHn0+ING6KZdAairup3MrKNtH0/MJkKTWv1rGncRHSA0Oxjz6a7J4yU/R2ksqGNAe5LMrmHErY mQ3BhuKQkvtaQmojIRDpZcf11bt+6oyFIAJi6tE6ByxZxZkz8jiJ5bbpFnofeRT2ShAaJvp8ivub MIIF6zCCBNOgAwIBAgIQBRZpWkQZCBMqhocl9WM+KjANBgkqhkiG9w0BAQsFADCBmzELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxQTA/BgNVBAMTOENPTU9ETyBTSEEtMjU2IENsaWVudCBB dXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTE1MDMxMTAwMDAwMFoXDTE2MDMx MDIzNTk1OVowgdwxDjAMBgNVBBETBTA3MzExMRUwEwYDVQQKEwxJc2hpIFN5c3RlbXMxJDAiBgNV BAkTG0hhcmJvcnNpZGUgRmluYW5jaWFsIENlbnRlcjEVMBMGA1UECRMMMzAxIFBsYXphIDEwMQsw CQYDVQQIEwJOSjEUMBIGA1UEBxMLSmVyc2V5IENpdHkxCzAJBgNVBAYTAlVTMRcwFQYDVQQDEw5B bmRyYXMgS2VyZWtlczEtMCsGCSqGSIb3DQEJARYeYW5kcmFzLmtlcmVrZXNAaXNoaXN5c3RlbXMu Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg/FIwF9wyd7wQZpj0peV9iVvWSAZ em7yas8slHBMN7Mr5+X/kTxm0doq6g5NB9boMDYXh4I51SeW7B0sc2oSSUQyB0MQyfzuQJ3IFVUQ zz1O+RpKFeucUtfpgwS9lpxTEB83sKbB4GXMPQv/xeTtOiKRDirXgZskXRPE8aisnAEam6rMrSH0 r5kkH8ss/eea8bQj/0YzZVLdb/SBUED4h1DPiDRyKpCYEI0d+y+GgwyF4BAHOniExyfZ3mC8lUad B3+3T3NUts3Wbt2r/YNZICw3ThJhwnmJZzblWQ/cchrHyTWSky/NdGgU+ofuEImXLNkZUz/3vGQx YKAL9CrYzQIDAQABo4IB5jCCAeIwHwYDVR0jBBgwFoAUkmFrguGioKpP7GfxwqP3tIAAwewwHQYD VR0OBBYEFEhAMtwqlhSPtOuNt4HuXdOgsEuUMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAA MB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjBGBgNVHSAEPzA9MDsGDCsGAQQBsjEBAgED BTArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8ubmV0L0NQUzBdBgNVHR8EVjBU MFKgUKBOhkxodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9TSEEyNTZDbGllbnRBdXRoZW50 aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3JsMIGQBggrBgEFBQcBAQSBgzCBgDBYBggrBgEFBQcw AoZMaHR0cDovL2NydC5jb21vZG9jYS5jb20vQ09NT0RPU0hBMjU2Q2xpZW50QXV0aGVudGljYXRp b25hbmRTZWN1cmVFbWFpbENBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2Eu Y29tMCkGA1UdEQQiMCCBHmFuZHJhcy5rZXJla2VzQGlzaGlzeXN0ZW1zLmNvbTANBgkqhkiG9w0B AQsFAAOCAQEAhms7SSJ31oAno/0pYxcZSdJU4RjpocXAR7dzkeuA8MmjAFVdHNmY2xYc0unfsEaM 5XSNdg7EvvEQq9KCxqzdJPl9SSP98C/xgPwLZ+x5uPpuIiFX1PlujEu+lbIGoDvRJE8GrpR2QZ58 puWUEL+3xZoerGvpcY0ilbKH7CicDTt2xBkIabHqvIY+VQ2+OtQ1Dfhq3zc5qYirgdJy8Jo7p2CL V2UCQk9zWjnzDxlzJOMYmmR2tspNCgW1F1yQ9fxEjR1N1Q1P6Fdzw0qd/BXZLV1QmOZPO6FmHhED kKlP7ee36lAiV6cYVah1mbrU8WIsnxeSi8I1OsvoavLqzKQL4DGCBHEwggRtAgEBMIGwMIGbMQsw CQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3Jk MRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDFBMD8GA1UEAxM4Q09NT0RPIFNIQS0yNTYgQ2xp ZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0ECEAUWaVpEGQgTKoaHJfVjPiow CQYFKw4DAhoFAKCCApUwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcN MTUwNjI5MjIyMzQ2WjAjBgkqhkiG9w0BCQQxFgQUlfmj6dAVXWC026z58+zcPcC6r5cwgasGCSqG SIb3DQEJDzGBnTCBmjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAoGCCqGSIb3DQMHMAsGCWCG SAFlAwQBAjAOBggqhkiG9w0DAgICAIAwBwYFKw4DAgcwDQYIKoZIhvcNAwICAUAwDQYIKoZIhvcN AwICASgwBwYFKw4DAhowCwYJYIZIAWUDBAIDMAsGCWCGSAFlAwQCAjALBglghkgBZQMEAgEwgcEG CSsGAQQBgjcQBDGBszCBsDCBmzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hl c3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxQTA/BgNV BAMTOENPTU9ETyBTSEEtMjU2IENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWls IENBAhAFFmlaRBkIEyqGhyX1Yz4qMIHDBgsqhkiG9w0BCRACCzGBs6CBsDCBmzELMAkGA1UEBhMC R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE ChMRQ09NT0RPIENBIExpbWl0ZWQxQTA/BgNVBAMTOENPTU9ETyBTSEEtMjU2IENsaWVudCBBdXRo ZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhAFFmlaRBkIEyqGhyX1Yz4qMA0GCSqGSIb3 DQEBAQUABIIBAH+DbnmVpO4YTIbsEppQoKuuPLGD3C7YBADp+6dYqjex3RTjj8wo0DUIp665/aYS +DXMxmrV5QUsDDiafk5LWwKuVoMppJF1UlYcQVzywG8wI27ZRRQRjFy7wqFju2xjJEX6iVpiPHmi 8cQHq7UQCEFLYB/3+Qxqg68R8GgeIx+tmHt1hsB40u+rFOFrdZhrfJD/Qe2s2ftWPQpfk5KuXBYZ j0mBNfke6NkrqpcNZHaKWlrSdSeFFIlGt48Bu9HLFzRXrMyfHJMheCILKO8dMcG86U/5naF1fOVK QpxWXt+pmi5WVC2T0fkepmH4qL99eda+8T7Y1hMJJQnW3vNnQ+EAAAAAAAA= ------=_NextPart_000_001C_01D0B298.BC7EBCE0--