You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mesos.apache.org by Marc Roos <M....@f1-outsourcing.eu> on 2017/10/13 21:38:42 UTC

Mesos containerizer with marathon

I was watching this video https://youtu.be/rHUngcGgzVM?t=1515 of using 
mesos for docker images. And it looks like I can run the influxdb docker 
image with
mesos-execute --master=192.168.10.151:5050 --name=influxdb 
--docker_image=influxdb --shell=false

However I have problems launching the application via the marathon 
webinterface, could this be related to that marathon is looking for the 
dockerd?

Delayed(0 of 1 instances)
State
    TASK_FAILED 
Message
    Abnormal executor termination: unknown container
Without any stderr/stdout

{
  "id": "/influxdb",
  "cmd": null,
  "cpus": 1,
  "mem": 128,
  "disk": 200,
  "instances": 1,
  "acceptedResourceRoles": [],
  "container": {
    "type": "DOCKER",
    "volumes": [],
    "docker": {
      "image": "influxdb",
      "network": "BRIDGE",
      "portMappings": [
        {
          "containerPort": 8086,
          "hostPort": 0,
          "servicePort": 10001,
          "protocol": "tcp",
          "name": "httpapi",
          "labels": {}
        },
        {
          "containerPort": 25829,
          "hostPort": 0,
          "servicePort": 10002,
          "protocol": "tcp",
          "name": "collectd",
          "labels": {}
        }
      ],
      "privileged": false,
      "parameters": [],
      "forcePullImage": false
    }
  },
  "portDefinitions": [
    {
      "port": 10001,
      "protocol": "tcp",
      "name": "default",
      "labels": {}
    },
    {
      "port": 10002,
      "protocol": "tcp",
      "labels": {}
    }
  ]
}

centos7
mesos-1.4.0-2.0.1.x86_64
marathon-1.4.8-1.0.660.el7.x86_64
mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
Getting the images directly from /tmp

PS. Just 'playing' 2 days with mesos test environment, so pardon if 
terminology is not correct.

Re: Enabling marathon for cni networks

Posted by Tomek Janiszewski <ja...@gmail.com>.
Take a look here
https://mesosphere.github.io/marathon/docs/networking.html#enabling-container-mode
Or if you are running older version of Marathon here
https://mesosphere.github.io/marathon/docs/ip-per-task.html

pon., 11 gru 2017 o 13:29 użytkownik Marc Roos <M....@f1-outsourcing.eu>
napisał:

>
> I have a default marathon setup that attaches containers to the host
> network.
>
> Where should I put this configuration of NetworkInfo? In
> /etc/marathon/conf?
>
>
> http://mesos.apache.org/documentation/cni/#attaching-containers-to-cni-networks
>

Enabling marathon for cni networks

Posted by Marc Roos <M....@f1-outsourcing.eu>.
I have a default marathon setup that attaches containers to the host 
network. 

Where should I put this configuration of NetworkInfo? In 
/etc/marathon/conf?

http://mesos.apache.org/documentation/cni/#attaching-containers-to-cni-networks

RE: How to add static ip to application

Posted by Marc Roos <M....@f1-outsourcing.eu>.
 
I got it. I had the "ns" option in the mesos-dns config, when I 
commented it out, I started being able to resolve

[marc@m01 mesos]# dig +short @192.168.10.151 influxdb.marathon.mesos
192.168.10.153
[marc@m01 mesos]# dig +short @192.168.10.151 mesos-dns.marathon.mesos
192.168.10.151




-----Original Message-----
From: Tomek Janiszewski [mailto:janiszt@gmail.com] 
Sent: maandag 11 december 2017 11:57
To: user@mesos.apache.org
Subject: Re: How to add static ip to application

You can achieve it with Mesos-DNS. Here is a small overview how to do it 
https://stackoverflow.com/a/37822870/1387612

pon., 11 gru 2017 o 11:48 użytkownik Marc Roos 
<M....@f1-outsourcing.eu> napisał:



	Ok should this be available in mesos/marathon also, because I did 
not
	install dcos yet?
	
	
	
	
	-----Original Message-----
	From: Alvaro Brandon [mailto:alvarobrandon@gmail.com]
	Sent: maandag 11 december 2017 11:46
	To: user@mesos.apache.org
	Subject: Re: How to add static ip to application
	
	You can consider influxdb.marathon.agentip.dcos.thisdcos.directory 
as
	the static IP. This will allow you to do exactly what you are 
saying.
	
	
	If for any reason a DNS name is not enough and you want an IP for 
the
	service like 10.158.79.241, I'm pretty sure that there is no way of
	doing so.
	
	
	2017-12-11 11:39 GMT+01:00 Marc Roos <M....@f1-outsourcing.eu>:
	
	
	
	
	        Is it possible to configure just a static ip for now, just 
for the
	        purpose of my education? I want to see if I can access the 
task on
	this
	        ip when I am starting it on different hosts.
	
	
	
	
	
	        -----Original Message-----
	        From: Alvaro Brandon [mailto:alvarobrandon@gmail.com
	<ma...@gmail.com> ]
	        Sent: maandag 11 december 2017 11:20
	        To: user@mesos.apache.org
	        Subject: Re: How to add static ip to application
	
	        I think its DNS what you need. The DNS name for your task 
can be
	used as
	        an static reference to the influxdb instance, independently 
of the
	host.
	
	
	        https://docs.mesosphere.com/1.10/networking/dns-overview/
	<https://docs.mesosphere.com/1.10/networking/dns-overview/>
	
	
	        Take a look at the link, but I think you can use
	        influxdb.marathon.agentip.dcos.thisdcos.directory as the 
task's
	address
	
	        2017-12-11 11:11 GMT+01:00 Marc Roos 
<M....@f1-outsourcing.eu>:
	
	
	
	                For now I would like to have the ip bound to the
	                application/task/container, no matter on what host 
the
	application
	        will
	                be started. And in this case I would like to be 
able to
	access the
	                influxdb server as if I would have been created a 
dedicated
	vm for
	        it.
	
	                Is there some page explaining the syntax of 
ipAddress? This
	are not
	                working, I tried also with removing the 
portDefinitions
	section.
	
	
	                        {
	                          "id": "/influxdb",
	                          "cmd": null,
	                          "cpus": 0.5,
	                          "mem": 128,
	                          "disk": 0,
	                          "instances": 1,
	                          "acceptedResourceRoles": [],
	                          "container": {
	                            "type": "MESOS",
	                            "volumes": [],
	                            "docker": {
	                              "image": "influxdb",
	                              "credential": null,
	                              "forcePullImage": false
	                            }
	                          },
	                        "ipAddress": {},
	                          "portDefinitions": [
	                            {
	                              "port": 10001,
	                              "protocol": "tcp",
	                              "labels": {}
	                            }
	                          ]
	                        }
	
	
	                -----Original Message-----
	                From: Tomek Janiszewski [mailto:janiszt@gmail.com]
	                Sent: maandag 11 december 2017 10:41
	                To: user@mesos.apache.org
	                Subject: Re: How to add static ip to application
	
	                What do you mean by "bind to a static IP"?
	
	                1.      IP Per Container?
	                
https://mesosphere.github.io/marathon/docs/ip-per-task.html
	<https://mesosphere.github.io/marathon/docs/ip-per-task.html>
	        
<https://mesosphere.github.io/marathon/docs/ip-per-task.html
	<https://mesosphere.github.io/marathon/docs/ip-per-task.html> >
	                2.      IP of one dedicated host?
	                
https://mesosphere.github.io/marathon/docs/constraints.html
	<https://mesosphere.github.io/marathon/docs/constraints.html>
	        
<https://mesosphere.github.io/marathon/docs/constraints.html
	<https://mesosphere.github.io/marathon/docs/constraints.html> >
	                3.      Layer 3/4 loadbalancer that will create 
Virtual IP
	(VIP)?
	
	
	
	                niedz., 10 gru 2017 o 23:33 użytkownik Marc Roos
	                <M....@f1-outsourcing.eu> napisał:
	
	
	
	
	                        I downloaded the influxdb docker image and 
am
	running it
	        from
	                Marathon,
	                        I would like to bind it to a static ip. 
What would
	be the
	        'best'
	                way to
	                        do this? Sorry for if this is a very basic
	question. Link
	        to an
	                        appropriate howto is also welcome.
	
	
	
	                        {
	                          "id": "/influxdb",
	                          "cmd": null,
	                          "cpus": 0.5,
	                          "mem": 128,
	                          "disk": 0,
	                          "instances": 1,
	                          "acceptedResourceRoles": [],
	                          "container": {
	                            "type": "MESOS",
	                            "volumes": [],
	                            "docker": {
	                              "image": "influxdb",
	                              "credential": null,
	                              "forcePullImage": false
	                            }
	                          },
	                          "portDefinitions": [
	                            {
	                              "port": 10001,
	                              "protocol": "tcp",
	                              "labels": {}
	                            }
	                          ]
	                        }
	
	
	
	                        I have a default setup on centos7:
	                        marathon-1.4.8-1.0.660.el7.x86_64
	
	        
mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
	                        chronos-2.5.0-0.1.20170816233446.el7.x86_64
	                        mesos-1.4.0-2.0.1.x86_64
	
	                        Running mesos-dns in Marathon
	
	
	
	
	
	                        ​
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	



Re: How to add static ip to application

Posted by Tomek Janiszewski <ja...@gmail.com>.
You can achieve it with Mesos-DNS. Here is a small overview how to do it
https://stackoverflow.com/a/37822870/1387612

pon., 11 gru 2017 o 11:48 użytkownik Marc Roos <M....@f1-outsourcing.eu>
napisał:

>
> Ok should this be available in mesos/marathon also, because I did not
> install dcos yet?
>
>
>
>
> -----Original Message-----
> From: Alvaro Brandon [mailto:alvarobrandon@gmail.com]
> Sent: maandag 11 december 2017 11:46
> To: user@mesos.apache.org
> Subject: Re: How to add static ip to application
>
> You can consider influxdb.marathon.agentip.dcos.thisdcos.directory as
> the static IP. This will allow you to do exactly what you are saying.
>
>
> If for any reason a DNS name is not enough and you want an IP for the
> service like 10.158.79.241, I'm pretty sure that there is no way of
> doing so.
>
>
> 2017-12-11 11:39 GMT+01:00 Marc Roos <M....@f1-outsourcing.eu>:
>
>
>
>
>         Is it possible to configure just a static ip for now, just for the
>         purpose of my education? I want to see if I can access the task on
> this
>         ip when I am starting it on different hosts.
>
>
>
>
>
>         -----Original Message-----
>         From: Alvaro Brandon [mailto:alvarobrandon@gmail.com
> <ma...@gmail.com> ]
>         Sent: maandag 11 december 2017 11:20
>         To: user@mesos.apache.org
>         Subject: Re: How to add static ip to application
>
>         I think its DNS what you need. The DNS name for your task can be
> used as
>         an static reference to the influxdb instance, independently of the
> host.
>
>
>         https://docs.mesosphere.com/1.10/networking/dns-overview/
> <https://docs.mesosphere.com/1.10/networking/dns-overview/>
>
>
>         Take a look at the link, but I think you can use
>         influxdb.marathon.agentip.dcos.thisdcos.directory as the task's
> address
>
>         2017-12-11 11:11 GMT+01:00 Marc Roos <M....@f1-outsourcing.eu>:
>
>
>
>                 For now I would like to have the ip bound to the
>                 application/task/container, no matter on what host the
> application
>         will
>                 be started. And in this case I would like to be able to
> access the
>                 influxdb server as if I would have been created a dedicated
> vm for
>         it.
>
>                 Is there some page explaining the syntax of ipAddress? This
> are not
>                 working, I tried also with removing the portDefinitions
> section.
>
>
>                         {
>                           "id": "/influxdb",
>                           "cmd": null,
>                           "cpus": 0.5,
>                           "mem": 128,
>                           "disk": 0,
>                           "instances": 1,
>                           "acceptedResourceRoles": [],
>                           "container": {
>                             "type": "MESOS",
>                             "volumes": [],
>                             "docker": {
>                               "image": "influxdb",
>                               "credential": null,
>                               "forcePullImage": false
>                             }
>                           },
>                         "ipAddress": {},
>                           "portDefinitions": [
>                             {
>                               "port": 10001,
>                               "protocol": "tcp",
>                               "labels": {}
>                             }
>                           ]
>                         }
>
>
>                 -----Original Message-----
>                 From: Tomek Janiszewski [mailto:janiszt@gmail.com]
>                 Sent: maandag 11 december 2017 10:41
>                 To: user@mesos.apache.org
>                 Subject: Re: How to add static ip to application
>
>                 What do you mean by "bind to a static IP"?
>
>                 1.      IP Per Container?
>
> https://mesosphere.github.io/marathon/docs/ip-per-task.html
> <https://mesosphere.github.io/marathon/docs/ip-per-task.html>
>         <https://mesosphere.github.io/marathon/docs/ip-per-task.html
> <https://mesosphere.github.io/marathon/docs/ip-per-task.html> >
>                 2.      IP of one dedicated host?
>
> https://mesosphere.github.io/marathon/docs/constraints.html
> <https://mesosphere.github.io/marathon/docs/constraints.html>
>         <https://mesosphere.github.io/marathon/docs/constraints.html
> <https://mesosphere.github.io/marathon/docs/constraints.html> >
>                 3.      Layer 3/4 loadbalancer that will create Virtual IP
> (VIP)?
>
>
>
>                 niedz., 10 gru 2017 o 23:33 użytkownik Marc Roos
>                 <M....@f1-outsourcing.eu> napisał:
>
>
>
>
>                         I downloaded the influxdb docker image and am
> running it
>         from
>                 Marathon,
>                         I would like to bind it to a static ip. What would
> be the
>         'best'
>                 way to
>                         do this? Sorry for if this is a very basic
> question. Link
>         to an
>                         appropriate howto is also welcome.
>
>
>
>                         {
>                           "id": "/influxdb",
>                           "cmd": null,
>                           "cpus": 0.5,
>                           "mem": 128,
>                           "disk": 0,
>                           "instances": 1,
>                           "acceptedResourceRoles": [],
>                           "container": {
>                             "type": "MESOS",
>                             "volumes": [],
>                             "docker": {
>                               "image": "influxdb",
>                               "credential": null,
>                               "forcePullImage": false
>                             }
>                           },
>                           "portDefinitions": [
>                             {
>                               "port": 10001,
>                               "protocol": "tcp",
>                               "labels": {}
>                             }
>                           ]
>                         }
>
>
>
>                         I have a default setup on centos7:
>                         marathon-1.4.8-1.0.660.el7.x86_64
>
>         mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
>                         chronos-2.5.0-0.1.20170816233446.el7.x86_64
>                         mesos-1.4.0-2.0.1.x86_64
>
>                         Running mesos-dns in Marathon
>
>
>
>
>
>                         ​
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

RE: How to add static ip to application

Posted by Marc Roos <M....@f1-outsourcing.eu>.
 
Ok should this be available in mesos/marathon also, because I did not 
install dcos yet?




-----Original Message-----
From: Alvaro Brandon [mailto:alvarobrandon@gmail.com] 
Sent: maandag 11 december 2017 11:46
To: user@mesos.apache.org
Subject: Re: How to add static ip to application

You can consider influxdb.marathon.agentip.dcos.thisdcos.directory as 
the static IP. This will allow you to do exactly what you are saying.


If for any reason a DNS name is not enough and you want an IP for the 
service like 10.158.79.241, I'm pretty sure that there is no way of 
doing so.


2017-12-11 11:39 GMT+01:00 Marc Roos <M....@f1-outsourcing.eu>:




	Is it possible to configure just a static ip for now, just for the
	purpose of my education? I want to see if I can access the task on 
this
	ip when I am starting it on different hosts.
	




	-----Original Message-----
	From: Alvaro Brandon [mailto:alvarobrandon@gmail.com 
<ma...@gmail.com> ]
	Sent: maandag 11 december 2017 11:20
	To: user@mesos.apache.org
	Subject: Re: How to add static ip to application
	
	I think its DNS what you need. The DNS name for your task can be 
used as
	an static reference to the influxdb instance, independently of the 
host.
	
	
	https://docs.mesosphere.com/1.10/networking/dns-overview/ 
<https://docs.mesosphere.com/1.10/networking/dns-overview/> 
	
	
	Take a look at the link, but I think you can use
	influxdb.marathon.agentip.dcos.thisdcos.directory as the task's 
address
	
	2017-12-11 11:11 GMT+01:00 Marc Roos <M....@f1-outsourcing.eu>:
	
	
	
	        For now I would like to have the ip bound to the
	        application/task/container, no matter on what host the 
application
	will
	        be started. And in this case I would like to be able to 
access the
	        influxdb server as if I would have been created a dedicated 
vm for
	it.
	
	        Is there some page explaining the syntax of ipAddress? This 
are not
	        working, I tried also with removing the portDefinitions 
section.
	
	
	                {
	                  "id": "/influxdb",
	                  "cmd": null,
	                  "cpus": 0.5,
	                  "mem": 128,
	                  "disk": 0,
	                  "instances": 1,
	                  "acceptedResourceRoles": [],
	                  "container": {
	                    "type": "MESOS",
	                    "volumes": [],
	                    "docker": {
	                      "image": "influxdb",
	                      "credential": null,
	                      "forcePullImage": false
	                    }
	                  },
	                "ipAddress": {},
	                  "portDefinitions": [
	                    {
	                      "port": 10001,
	                      "protocol": "tcp",
	                      "labels": {}
	                    }
	                  ]
	                }
	
	
	        -----Original Message-----
	        From: Tomek Janiszewski [mailto:janiszt@gmail.com]
	        Sent: maandag 11 december 2017 10:41
	        To: user@mesos.apache.org
	        Subject: Re: How to add static ip to application
	
	        What do you mean by "bind to a static IP"?
	
	        1.      IP Per Container?
	        https://mesosphere.github.io/marathon/docs/ip-per-task.html 
<https://mesosphere.github.io/marathon/docs/ip-per-task.html> 
	<https://mesosphere.github.io/marathon/docs/ip-per-task.html 
<https://mesosphere.github.io/marathon/docs/ip-per-task.html> >
	        2.      IP of one dedicated host?
	        https://mesosphere.github.io/marathon/docs/constraints.html 
<https://mesosphere.github.io/marathon/docs/constraints.html> 
	<https://mesosphere.github.io/marathon/docs/constraints.html 
<https://mesosphere.github.io/marathon/docs/constraints.html> >
	        3.      Layer 3/4 loadbalancer that will create Virtual IP 
(VIP)?
	
	
	
	        niedz., 10 gru 2017 o 23:33 użytkownik Marc Roos
	        <M....@f1-outsourcing.eu> napisał:
	
	
	
	
	                I downloaded the influxdb docker image and am 
running it
	from
	        Marathon,
	                I would like to bind it to a static ip. What would 
be the
	'best'
	        way to
	                do this? Sorry for if this is a very basic 
question. Link
	to an
	                appropriate howto is also welcome.
	
	
	
	                {
	                  "id": "/influxdb",
	                  "cmd": null,
	                  "cpus": 0.5,
	                  "mem": 128,
	                  "disk": 0,
	                  "instances": 1,
	                  "acceptedResourceRoles": [],
	                  "container": {
	                    "type": "MESOS",
	                    "volumes": [],
	                    "docker": {
	                      "image": "influxdb",
	                      "credential": null,
	                      "forcePullImage": false
	                    }
	                  },
	                  "portDefinitions": [
	                    {
	                      "port": 10001,
	                      "protocol": "tcp",
	                      "labels": {}
	                    }
	                  ]
	                }
	
	
	
	                I have a default setup on centos7:
	                marathon-1.4.8-1.0.660.el7.x86_64
	
	mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
	                chronos-2.5.0-0.1.20170816233446.el7.x86_64
	                mesos-1.4.0-2.0.1.x86_64
	
	                Running mesos-dns in Marathon
	
	
	
	
	
	                ​
	
	
	
	
	
	
	
	
	
	
	
	




Re: How to add static ip to application

Posted by Alvaro Brandon <al...@gmail.com>.
You can consider influxdb.marathon.agentip.dcos.thisdcos.directory as the
static IP. This will allow you to do exactly what you are saying.

If for any reason a DNS name is not enough and you want an IP for the
service like 10.158.79.241, I'm pretty sure that there is no way of doing
so.


2017-12-11 11:39 GMT+01:00 Marc Roos <M....@f1-outsourcing.eu>:

>
>
> Is it possible to configure just a static ip for now, just for the
> purpose of my education? I want to see if I can access the task on this
> ip when I am starting it on different hosts.
>
>
>
>
> -----Original Message-----
> From: Alvaro Brandon [mailto:alvarobrandon@gmail.com]
> Sent: maandag 11 december 2017 11:20
> To: user@mesos.apache.org
> Subject: Re: How to add static ip to application
>
> I think its DNS what you need. The DNS name for your task can be used as
> an static reference to the influxdb instance, independently of the host.
>
>
> https://docs.mesosphere.com/1.10/networking/dns-overview/
>
>
> Take a look at the link, but I think you can use
> influxdb.marathon.agentip.dcos.thisdcos.directory as the task's address
>
> 2017-12-11 11:11 GMT+01:00 Marc Roos <M....@f1-outsourcing.eu>:
>
>
>
>         For now I would like to have the ip bound to the
>         application/task/container, no matter on what host the application
> will
>         be started. And in this case I would like to be able to access the
>         influxdb server as if I would have been created a dedicated vm for
> it.
>
>         Is there some page explaining the syntax of ipAddress? This are not
>         working, I tried also with removing the portDefinitions section.
>
>
>                 {
>                   "id": "/influxdb",
>                   "cmd": null,
>                   "cpus": 0.5,
>                   "mem": 128,
>                   "disk": 0,
>                   "instances": 1,
>                   "acceptedResourceRoles": [],
>                   "container": {
>                     "type": "MESOS",
>                     "volumes": [],
>                     "docker": {
>                       "image": "influxdb",
>                       "credential": null,
>                       "forcePullImage": false
>                     }
>                   },
>                 "ipAddress": {},
>                   "portDefinitions": [
>                     {
>                       "port": 10001,
>                       "protocol": "tcp",
>                       "labels": {}
>                     }
>                   ]
>                 }
>
>
>         -----Original Message-----
>         From: Tomek Janiszewski [mailto:janiszt@gmail.com]
>         Sent: maandag 11 december 2017 10:41
>         To: user@mesos.apache.org
>         Subject: Re: How to add static ip to application
>
>         What do you mean by "bind to a static IP"?
>
>         1.      IP Per Container?
>         https://mesosphere.github.io/marathon/docs/ip-per-task.html
> <https://mesosphere.github.io/marathon/docs/ip-per-task.html>
>         2.      IP of one dedicated host?
>         https://mesosphere.github.io/marathon/docs/constraints.html
> <https://mesosphere.github.io/marathon/docs/constraints.html>
>         3.      Layer 3/4 loadbalancer that will create Virtual IP (VIP)?
>
>
>
>         niedz., 10 gru 2017 o 23:33 użytkownik Marc Roos
>         <M....@f1-outsourcing.eu> napisał:
>
>
>
>
>                 I downloaded the influxdb docker image and am running it
> from
>         Marathon,
>                 I would like to bind it to a static ip. What would be the
> 'best'
>         way to
>                 do this? Sorry for if this is a very basic question. Link
> to an
>                 appropriate howto is also welcome.
>
>
>
>                 {
>                   "id": "/influxdb",
>                   "cmd": null,
>                   "cpus": 0.5,
>                   "mem": 128,
>                   "disk": 0,
>                   "instances": 1,
>                   "acceptedResourceRoles": [],
>                   "container": {
>                     "type": "MESOS",
>                     "volumes": [],
>                     "docker": {
>                       "image": "influxdb",
>                       "credential": null,
>                       "forcePullImage": false
>                     }
>                   },
>                   "portDefinitions": [
>                     {
>                       "port": 10001,
>                       "protocol": "tcp",
>                       "labels": {}
>                     }
>                   ]
>                 }
>
>
>
>                 I have a default setup on centos7:
>                 marathon-1.4.8-1.0.660.el7.x86_64
>
> mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
>                 chronos-2.5.0-0.1.20170816233446.el7.x86_64
>                 mesos-1.4.0-2.0.1.x86_64
>
>                 Running mesos-dns in Marathon
>
>
>
>
>
>                 ​
>
>
>
>
>
>
>
>
>
>
>
>

RE: How to add static ip to application

Posted by Marc Roos <M....@f1-outsourcing.eu>.
 

Is it possible to configure just a static ip for now, just for the 
purpose of my education? I want to see if I can access the task on this 
ip when I am starting it on different hosts.




-----Original Message-----
From: Alvaro Brandon [mailto:alvarobrandon@gmail.com] 
Sent: maandag 11 december 2017 11:20
To: user@mesos.apache.org
Subject: Re: How to add static ip to application

I think its DNS what you need. The DNS name for your task can be used as 
an static reference to the influxdb instance, independently of the host.


https://docs.mesosphere.com/1.10/networking/dns-overview/


Take a look at the link, but I think you can use 
influxdb.marathon.agentip.dcos.thisdcos.directory as the task's address

2017-12-11 11:11 GMT+01:00 Marc Roos <M....@f1-outsourcing.eu>:



	For now I would like to have the ip bound to the
	application/task/container, no matter on what host the application 
will
	be started. And in this case I would like to be able to access the
	influxdb server as if I would have been created a dedicated vm for 
it.
	
	Is there some page explaining the syntax of ipAddress? This are not
	working, I tried also with removing the portDefinitions section.
	
	
	        {
	          "id": "/influxdb",
	          "cmd": null,
	          "cpus": 0.5,
	          "mem": 128,
	          "disk": 0,
	          "instances": 1,
	          "acceptedResourceRoles": [],
	          "container": {
	            "type": "MESOS",
	            "volumes": [],
	            "docker": {
	              "image": "influxdb",
	              "credential": null,
	              "forcePullImage": false
	            }
	          },
	        "ipAddress": {},
	          "portDefinitions": [
	            {
	              "port": 10001,
	              "protocol": "tcp",
	              "labels": {}
	            }
	          ]
	        }
	
	
	-----Original Message-----
	From: Tomek Janiszewski [mailto:janiszt@gmail.com]
	Sent: maandag 11 december 2017 10:41
	To: user@mesos.apache.org
	Subject: Re: How to add static ip to application
	
	What do you mean by "bind to a static IP"?
	
	1.      IP Per Container?
	https://mesosphere.github.io/marathon/docs/ip-per-task.html 
<https://mesosphere.github.io/marathon/docs/ip-per-task.html> 
	2.      IP of one dedicated host?
	https://mesosphere.github.io/marathon/docs/constraints.html 
<https://mesosphere.github.io/marathon/docs/constraints.html> 
	3.      Layer 3/4 loadbalancer that will create Virtual IP (VIP)?
	


	niedz., 10 gru 2017 o 23:33 użytkownik Marc Roos
	<M....@f1-outsourcing.eu> napisał:
	
	
	
	
	        I downloaded the influxdb docker image and am running it 
from
	Marathon,
	        I would like to bind it to a static ip. What would be the 
'best'
	way to
	        do this? Sorry for if this is a very basic question. Link 
to an
	        appropriate howto is also welcome.
	
	
	
	        {
	          "id": "/influxdb",
	          "cmd": null,
	          "cpus": 0.5,
	          "mem": 128,
	          "disk": 0,
	          "instances": 1,
	          "acceptedResourceRoles": [],
	          "container": {
	            "type": "MESOS",
	            "volumes": [],
	            "docker": {
	              "image": "influxdb",
	              "credential": null,
	              "forcePullImage": false
	            }
	          },
	          "portDefinitions": [
	            {
	              "port": 10001,
	              "protocol": "tcp",
	              "labels": {}
	            }
	          ]
	        }
	
	
	
	        I have a default setup on centos7:
	        marathon-1.4.8-1.0.660.el7.x86_64
	        
mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
	        chronos-2.5.0-0.1.20170816233446.el7.x86_64
	        mesos-1.4.0-2.0.1.x86_64
	
	        Running mesos-dns in Marathon
	
	
	
	
	
	        ​
	
	
	
	
	
	
	
	




Re: How to add static ip to application

Posted by Alvaro Brandon <al...@gmail.com>.
I think its DNS what you need. The DNS name for your task can be used as an
static reference to the influxdb instance, independently of the host.

<goog_371056882>
https://docs.mesosphere.com/1.10/networking/dns-overview/

Take a look at the link, but I think you can use
influxdb.marathon.agentip.dcos.thisdcos.directory
as the task's address

2017-12-11 11:11 GMT+01:00 Marc Roos <M....@f1-outsourcing.eu>:

>
> For now I would like to have the ip bound to the
> application/task/container, no matter on what host the application will
> be started. And in this case I would like to be able to access the
> influxdb server as if I would have been created a dedicated vm for it.
>
> Is there some page explaining the syntax of ipAddress? This are not
> working, I tried also with removing the portDefinitions section.
>
>
>         {
>           "id": "/influxdb",
>           "cmd": null,
>           "cpus": 0.5,
>           "mem": 128,
>           "disk": 0,
>           "instances": 1,
>           "acceptedResourceRoles": [],
>           "container": {
>             "type": "MESOS",
>             "volumes": [],
>             "docker": {
>               "image": "influxdb",
>               "credential": null,
>               "forcePullImage": false
>             }
>           },
>         "ipAddress": {},
>           "portDefinitions": [
>             {
>               "port": 10001,
>               "protocol": "tcp",
>               "labels": {}
>             }
>           ]
>         }
>
>
> -----Original Message-----
> From: Tomek Janiszewski [mailto:janiszt@gmail.com]
> Sent: maandag 11 december 2017 10:41
> To: user@mesos.apache.org
> Subject: Re: How to add static ip to application
>
> What do you mean by "bind to a static IP"?
>
> 1.      IP Per Container?
> https://mesosphere.github.io/marathon/docs/ip-per-task.html
> 2.      IP of one dedicated host?
> https://mesosphere.github.io/marathon/docs/constraints.html
> 3.      Layer 3/4 loadbalancer that will create Virtual IP (VIP)?
>
>
> niedz., 10 gru 2017 o 23:33 użytkownik Marc Roos
> <M....@f1-outsourcing.eu> napisał:
>
>
>
>
>         I downloaded the influxdb docker image and am running it from
> Marathon,
>         I would like to bind it to a static ip. What would be the 'best'
> way to
>         do this? Sorry for if this is a very basic question. Link to an
>         appropriate howto is also welcome.
>
>
>
>         {
>           "id": "/influxdb",
>           "cmd": null,
>           "cpus": 0.5,
>           "mem": 128,
>           "disk": 0,
>           "instances": 1,
>           "acceptedResourceRoles": [],
>           "container": {
>             "type": "MESOS",
>             "volumes": [],
>             "docker": {
>               "image": "influxdb",
>               "credential": null,
>               "forcePullImage": false
>             }
>           },
>           "portDefinitions": [
>             {
>               "port": 10001,
>               "protocol": "tcp",
>               "labels": {}
>             }
>           ]
>         }
>
>
>
>         I have a default setup on centos7:
>         marathon-1.4.8-1.0.660.el7.x86_64
>         mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
>         chronos-2.5.0-0.1.20170816233446.el7.x86_64
>         mesos-1.4.0-2.0.1.x86_64
>
>         Running mesos-dns in Marathon
>
>
>
>
>
>         ​
>
>
>
>
>
>
>
>

RE: How to add static ip to application

Posted by Marc Roos <M....@f1-outsourcing.eu>.
 
For now I would like to have the ip bound to the 
application/task/container, no matter on what host the application will 
be started. And in this case I would like to be able to access the 
influxdb server as if I would have been created a dedicated vm for it. 

Is there some page explaining the syntax of ipAddress? This are not 
working, I tried also with removing the portDefinitions section.


	{
	  "id": "/influxdb",
	  "cmd": null,
	  "cpus": 0.5,
	  "mem": 128,
	  "disk": 0,
	  "instances": 1,
	  "acceptedResourceRoles": [],
	  "container": {
	    "type": "MESOS",
	    "volumes": [],
	    "docker": {
	      "image": "influxdb",
	      "credential": null,
	      "forcePullImage": false
	    }
	  },
        "ipAddress": {},
	  "portDefinitions": [
	    {
	      "port": 10001,
	      "protocol": "tcp",
	      "labels": {}
	    }
	  ]
	}


-----Original Message-----
From: Tomek Janiszewski [mailto:janiszt@gmail.com] 
Sent: maandag 11 december 2017 10:41
To: user@mesos.apache.org
Subject: Re: How to add static ip to application

What do you mean by "bind to a static IP"?

1.	IP Per Container? 
https://mesosphere.github.io/marathon/docs/ip-per-task.html
2.	IP of one dedicated host? 
https://mesosphere.github.io/marathon/docs/constraints.html
3.	Layer 3/4 loadbalancer that will create Virtual IP (VIP)? 


niedz., 10 gru 2017 o 23:33 użytkownik Marc Roos 
<M....@f1-outsourcing.eu> napisał:




	I downloaded the influxdb docker image and am running it from 
Marathon,
	I would like to bind it to a static ip. What would be the 'best' 
way to
	do this? Sorry for if this is a very basic question. Link to an
	appropriate howto is also welcome.
	
	
	
	{
	  "id": "/influxdb",
	  "cmd": null,
	  "cpus": 0.5,
	  "mem": 128,
	  "disk": 0,
	  "instances": 1,
	  "acceptedResourceRoles": [],
	  "container": {
	    "type": "MESOS",
	    "volumes": [],
	    "docker": {
	      "image": "influxdb",
	      "credential": null,
	      "forcePullImage": false
	    }
	  },
	  "portDefinitions": [
	    {
	      "port": 10001,
	      "protocol": "tcp",
	      "labels": {}
	    }
	  ]
	}
	
	
	
	I have a default setup on centos7:
	marathon-1.4.8-1.0.660.el7.x86_64
	mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
	chronos-2.5.0-0.1.20170816233446.el7.x86_64
	mesos-1.4.0-2.0.1.x86_64
	
	Running mesos-dns in Marathon
	
	
	
	
	
	​
	
	
	
	
	



Re: How to add static ip to application

Posted by Tomek Janiszewski <ja...@gmail.com>.
What do you mean by "bind to a static IP"?

   1. IP Per Container?
   https://mesosphere.github.io/marathon/docs/ip-per-task.html
   2. IP of one dedicated host?
   https://mesosphere.github.io/marathon/docs/constraints.html
   3. Layer 3/4 loadbalancer that will create Virtual IP (VIP)?


niedz., 10 gru 2017 o 23:33 użytkownik Marc Roos <M....@f1-outsourcing.eu>
napisał:

>
>
> I downloaded the influxdb docker image and am running it from Marathon,
> I would like to bind it to a static ip. What would be the 'best' way to
> do this? Sorry for if this is a very basic question. Link to an
> appropriate howto is also welcome.
>
>
>
> {
>   "id": "/influxdb",
>   "cmd": null,
>   "cpus": 0.5,
>   "mem": 128,
>   "disk": 0,
>   "instances": 1,
>   "acceptedResourceRoles": [],
>   "container": {
>     "type": "MESOS",
>     "volumes": [],
>     "docker": {
>       "image": "influxdb",
>       "credential": null,
>       "forcePullImage": false
>     }
>   },
>   "portDefinitions": [
>     {
>       "port": 10001,
>       "protocol": "tcp",
>       "labels": {}
>     }
>   ]
> }
>
>
>
> I have a default setup on centos7:
> marathon-1.4.8-1.0.660.el7.x86_64
> mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
> chronos-2.5.0-0.1.20170816233446.el7.x86_64
> mesos-1.4.0-2.0.1.x86_64
>
> Running mesos-dns in Marathon
>
>
>
>
>
> ​
>
>
>
>
>

How to add static ip to application

Posted by Marc Roos <M....@f1-outsourcing.eu>.

I downloaded the influxdb docker image and am running it from Marathon, 
I would like to bind it to a static ip. What would be the 'best' way to 
do this? Sorry for if this is a very basic question. Link to an 
appropriate howto is also welcome.



{
  "id": "/influxdb",
  "cmd": null,
  "cpus": 0.5,
  "mem": 128,
  "disk": 0,
  "instances": 1,
  "acceptedResourceRoles": [],
  "container": {
    "type": "MESOS",
    "volumes": [],
    "docker": {
      "image": "influxdb",
      "credential": null,
      "forcePullImage": false
    }
  },
  "portDefinitions": [
    {
      "port": 10001,
      "protocol": "tcp",
      "labels": {}
    }
  ]
}



I have a default setup on centos7:
marathon-1.4.8-1.0.660.el7.x86_64
mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
chronos-2.5.0-0.1.20170816233446.el7.x86_64
mesos-1.4.0-2.0.1.x86_64

Running mesos-dns in Marathon


	
	

​





RE: Mesos acceptedResourceRoles slave_public

Posted by Marc Roos <M....@f1-outsourcing.eu>.
 
Hi Harpreet, 

Thanks for the detailed response, it is much appreciated (I am a bit 
emberassed with my late reply)

Background information is that I am just getting familiar with the mesos 
cluster. In my test setup, I am trying to get to learn assigning ip 
adresses to applications with cni, and experiment with persistant 
storage. I am trying to keep things simple by just installing some 
necessary rpm's. (maybe later switch to dcos) I am sticking for now also 
with the mesos containerizer and am not installing any docker rpms.

I was trying to get public ip access to applications working via cni 
(read somewhere the necessity for slave_public). 
At the moment the only contraint I am using is for mesosDNS, 
hostname:CLUSTER:m01.local. I hope it is possible in this test 
environment not to have to use roles right now, and stick with default 
settings.








-----Original Message-----
From: Harpreet Singh [mailto:harpreet.surdy@gmail.com] 
Sent: maandag 23 oktober 2017 21:48
To: user@mesos.apache.org
Subject: Re: Mesos acceptedResourceRoles slave_public

Hi Marc

The slave_public is a DC/OS construct and has no inherent significance 
in Mesos/Marathon. My guess is that you launched Marathon with default 
configuration where --mesos_role flag defaults to None ( ref 
https://mesosphere.github.io/marathon/docs/command-line-flags.html) . 
Hence Marathon does not recognize the role slave_public and hence might 
be complaining. 

Instead of explaining how to configure marathon/mesos to use a 
slave_public role I must first ask What problem are you trying to 
actually solve?

If the answer to that question is that you want to launch certain apps 
on certain nodes in the cluster instead of others due to some reason 
then do explore the possibility of using attributes/constraints (ref: 
https://mesosphere.github.io/marathon/docs/constraints.html). Let me 
know if you have questions configuring attributes on mesos and then 
using constraints on Marathon. 

But if you are already familiar with constraints and you consciously 
made a choice of not using them and using roles for a particular reason 
then you would have to do a couple of things to make it work : 

1) Make resource reservation for the desired role in Mesos so that 
Marathon can be offered the resources with that role
2) Configure Marathon to use that particular resource role 

If you have not done either of these steps it would not work. 

Expanding on these two points in above detail : 

1) Making resource reservation in Mesos
I would once again stress that make sure you cannot solve this problem 
with attributes because I’m of the opinion that there is value to not 
having to statically partition your cluster resources unless there is no 
better way out. If you are sold on the idea on using static resource 
reservations then you can configure resources on your agent node using 
the --resources flag (ref: 
http://mesos.apache.org/documentation/latest/reservation/) and carve out 
resources for the desired role (Ref 
http://mesos.apache.org/documentation/latest/roles/). I purposely did 
not use the term slave_publicfor role because you can name it to 
whatever you desire. Also note that --roles flag for Mesos master is 
deprecated no longer required to be specified. Lets assume you used 
custom_role as a the role.

2) Configuring Marathon to use the custom role Please note that even 
though Mesos now supports a single framework accepting offers from 
mutiple roles (https://issues.apache.org/jira/browse/MESOS-1763), 
Marathon has not caught upto this 
(https://jira.mesosphere.com/browse/MARATHON-2775) yet. So as of today 
Marathon can only get offers for one customer role and unreserved (*) 
resources. 

*	Configuring --mesos_role flag
	Unless you specify --mesos_role custom_role Marathon is only going 
to accept offers from * resources. If you specify --mesos_role 
custom_role apps launched on Marathon would be able to accept offers 
from both * as well as custom_role. 
*	Configuring --default_accepted_resource_roles flag
	Another important flag to be aware of here is 
--default_accepted_resource_roles. This flag dictates the deafult for 
"acceptedResourceRoles" attribute as a comma-separated list of strings. 
Any app definition which does not specify this attribute explicitly uses 
this value for launching new tasks.

So you can use the correct mix of --mesos_role and 
--default_accepted_resource_roles to get desired behaviour. e.g. : 

—mesos_role	 —default_accepted_resource_roles	 
acceptedResourceRoles	 resources used	 
<unspecified>	 <unspecified>	 <unspecified>	 *	 
custom_role	 <unspecified>	 <unspecified>	 * or custom_role	
 
custom_role	 *,custom_role	 <unspecified>	 * or custom_role	
 
custom_role	 *	 custom_role	 custom_role	 

You can extrapolate the examples from the table above to come up with 
all possibilities and use the one that fits your needs.

Let me know if you have followup questions. 

Cheers
Harpreet

On Fri, Oct 20, 2017 at 2:00 PM, Marc Roos <M....@f1-outsourcing.eu> 
wrote:


	Thanks :) But I am runing a test setup of 3 nodes on CentOS7, 
should
	have written this with first post.
	
	Linux m01 3.10.0-693.2.2.el7.x86_64
	mesos-1.4.0-2.0.1.x86_64
	marathon-1.4.8-1.0.660.el7.x86_64
	containernetworking-cni-0.5.1-1.el7.x86_64
	mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
	chronos-2.5.0-0.1.20170816233446.el7.x86_64
	





	-----Original Message-----
	From: Bruce Campbell [mailto:Bruce.Campbell@microsoft.com 
<ma...@microsoft.com> ]
	Sent: vrijdag 20 oktober 2017 18:41
	To: user@mesos.apache.org
	Subject: RE: Mesos acceptedResourceRoles slave_public
	
	In acs engine if you define a ports list, the agent will be 
deployed as
	slave_public.
	
	Example of a public linux agent:
	
	   "agentPoolProfiles": [
	      {
	        "name": "wpub6",
	        "count": 3,
	        "vmSize": "Standard_DS2_v2",
	        "dnsPrefix": "wpub6",
	        "ports": [
	             80,
	             443,
	             8080,
	             3389
	          ],
	          "customNodeLabels" : {
	            "foo" : "bar",
	            "att1" : "value1"
	          }
	      },
	
	
	},
	
	-----Original Message-----
	From: Marc Roos [mailto:M.Roos@f1-outsourcing.eu 
<ma...@f1-outsourcing.eu> ]
	Sent: Friday, October 20, 2017 9:29 AM
	To: user <us...@mesos.apache.org>
	Subject: Mesos acceptedResourceRoles slave_public
	
	
	I added "acceptedResourceRoles": ["slave_public"] to a json 
application
	config in marathon. And it complains that the agents/slaves are not
	configured for this. I see some manuals on how to reconfigure via 
dc/os.
	
	I just wondered could this be an easy setting like something like 
this
	
	echo "appc,docker" > /etc/mesos-slave/image_providers
	
	
	
	
	
	

​



Re: Mesos acceptedResourceRoles slave_public

Posted by Harpreet Singh <ha...@gmail.com>.
Hi Marc

The slave_public is a DC/OS construct and has no inherent significance in
Mesos/Marathon. My guess is that you launched Marathon with default
configuration where --mesos_role flag defaults to None ( ref
https://mesosphere.github.io/marathon/docs/command-line-flags.html) . Hence
Marathon does not recognize the role slave_public and hence might be
complaining.

Instead of explaining how to configure marathon/mesos to use a slave_public
role I must first ask *What problem are you trying to actually solve?*

If the answer to that question is that you want to launch certain apps on
certain nodes in the cluster instead of others due to some reason then do
explore the possibility of using attributes/constraints (ref:
https://mesosphere.github.io/marathon/docs/constraints.html). Let me know
if you have questions configuring attributes on mesos and then using
constraints on Marathon.

But if you are already familiar with constraints and you consciously made a
choice of not using them and using roles for a particular reason then you
would have to do a couple of things to make it work :

1) Make resource reservation for the desired role in Mesos so that Marathon
can be offered the resources with that role
2) Configure Marathon to use that particular resource role

If you have not done either of these steps it would not work.

Expanding on these two points in above detail :

*1) Making resource reservation in Mesos*
I would once again stress that make sure you cannot solve this problem with
attributes because I’m of the opinion that there is value to not having to
statically partition your cluster resources unless there is no better way
out. If you are sold on the idea on using static resource reservations then
you can configure resources on your agent node using the --resources flag
(ref: http://mesos.apache.org/documentation/latest/reservation/) and carve
out resources for the desired role (Ref
http://mesos.apache.org/documentation/latest/roles/). I purposely did not
use the term slave_publicfor role because you can name it to whatever you
desire. Also note that --roles flag for Mesos master is deprecated no
longer required to be specified. Lets assume you used custom_role as a the
role.

*2) Configuring Marathon to use the custom role*
Please note that even though Mesos now supports a single framework
accepting offers from mutiple roles (
https://issues.apache.org/jira/browse/MESOS-1763), Marathon has not caught
upto this (https://jira.mesosphere.com/browse/MARATHON-2775) yet. So as of
today Marathon can only get offers for one customer role and unreserved (*)
resources.

   - Configuring --mesos_role flag
   Unless you specify --mesos_role custom_role Marathon is only going to
   accept offers from * resources. If you specify --mesos_role custom_role
   apps launched on Marathon would be able to accept offers from both * as
   well as custom_role.
   - Configuring --default_accepted_resource_roles flag
   Another important flag to be aware of here is
   --default_accepted_resource_roles. This flag dictates the deafult for
   "acceptedResourceRoles" attribute as a comma-separated list of strings.
   Any app definition which does not specify this attribute explicitly uses
   this value for launching new tasks.

So you can use the correct mix of --mesos_role and
--default_accepted_resource_roles to get desired behaviour. e.g. :
—mesos_role —default_accepted_resource_roles acceptedResourceRoles resources
used
<unspecified> <unspecified> <unspecified> *
custom_role <unspecified> <unspecified> * or custom_role
custom_role *,custom_role <unspecified> * or custom_role
custom_role * custom_role custom_role

You can extrapolate the examples from the table above to come up with all
possibilities and use the one that fits your needs.

Let me know if you have followup questions.

Cheers
Harpreet

On Fri, Oct 20, 2017 at 2:00 PM, Marc Roos <M....@f1-outsourcing.eu> wrote:


> Thanks :) But I am runing a test setup of 3 nodes on CentOS7, should
> have written this with first post.
>
> Linux m01 3.10.0-693.2.2.el7.x86_64
> mesos-1.4.0-2.0.1.x86_64
> marathon-1.4.8-1.0.660.el7.x86_64
> containernetworking-cni-0.5.1-1.el7.x86_64
> mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
> chronos-2.5.0-0.1.20170816233446.el7.x86_64
>
>
>
>
>
> -----Original Message-----
> From: Bruce Campbell [mailto:Bruce.Campbell@microsoft.com]
> Sent: vrijdag 20 oktober 2017 18:41
> To: user@mesos.apache.org
> Subject: RE: Mesos acceptedResourceRoles slave_public
>
> In acs engine if you define a ports list, the agent will be deployed as
> slave_public.
>
> Example of a public linux agent:
>
>    "agentPoolProfiles": [
>       {
>         "name": "wpub6",
>         "count": 3,
>         "vmSize": "Standard_DS2_v2",
>         "dnsPrefix": "wpub6",
>         "ports": [
>              80,
>              443,
>              8080,
>              3389
>           ],
>           "customNodeLabels" : {
>             "foo" : "bar",
>             "att1" : "value1"
>           }
>       },
>
>
> },
>
> -----Original Message-----
> From: Marc Roos [mailto:M.Roos@f1-outsourcing.eu]
> Sent: Friday, October 20, 2017 9:29 AM
> To: user <us...@mesos.apache.org>
> Subject: Mesos acceptedResourceRoles slave_public
>
>
> I added "acceptedResourceRoles": ["slave_public"] to a json application
> config in marathon. And it complains that the agents/slaves are not
> configured for this. I see some manuals on how to reconfigure via dc/os.
>
> I just wondered could this be an easy setting like something like this
>
> echo "appc,docker" > /etc/mesos-slave/image_providers
>
>
>
>
>
> ​

RE: Mesos acceptedResourceRoles slave_public

Posted by Marc Roos <M....@f1-outsourcing.eu>.
 
Thanks :) But I am runing a test setup of 3 nodes on CentOS7, should 
have written this with first post.

Linux m01 3.10.0-693.2.2.el7.x86_64
mesos-1.4.0-2.0.1.x86_64
marathon-1.4.8-1.0.660.el7.x86_64
containernetworking-cni-0.5.1-1.el7.x86_64
mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
chronos-2.5.0-0.1.20170816233446.el7.x86_64





-----Original Message-----
From: Bruce Campbell [mailto:Bruce.Campbell@microsoft.com] 
Sent: vrijdag 20 oktober 2017 18:41
To: user@mesos.apache.org
Subject: RE: Mesos acceptedResourceRoles slave_public

In acs engine if you define a ports list, the agent will be deployed as 
slave_public.

Example of a public linux agent:

   "agentPoolProfiles": [
      {
        "name": "wpub6",
        "count": 3,
        "vmSize": "Standard_DS2_v2",
        "dnsPrefix": "wpub6",
        "ports": [
             80,
             443,
             8080,
             3389
          ],
          "customNodeLabels" : {
            "foo" : "bar",
            "att1" : "value1"
          }
      },

     
},

-----Original Message-----
From: Marc Roos [mailto:M.Roos@f1-outsourcing.eu]
Sent: Friday, October 20, 2017 9:29 AM
To: user <us...@mesos.apache.org>
Subject: Mesos acceptedResourceRoles slave_public

 
I added "acceptedResourceRoles": ["slave_public"] to a json application 
config in marathon. And it complains that the agents/slaves are not 
configured for this. I see some manuals on how to reconfigure via dc/os. 

I just wondered could this be an easy setting like something like this

echo "appc,docker" > /etc/mesos-slave/image_providers






RE: Mesos acceptedResourceRoles slave_public

Posted by Bruce Campbell <Br...@microsoft.com>.
In acs engine if you define a ports list, the agent will be deployed as slave_public.

Example of a public linux agent:

   "agentPoolProfiles": [
      {
        "name": "wpub6",
        "count": 3,
        "vmSize": "Standard_DS2_v2",
        "dnsPrefix": "wpub6",
        "ports": [
             80,
             443,
             8080,
             3389
          ],
          "customNodeLabels" : {
            "foo" : "bar",
            "att1" : "value1"
          }
      },

     
},

-----Original Message-----
From: Marc Roos [mailto:M.Roos@f1-outsourcing.eu] 
Sent: Friday, October 20, 2017 9:29 AM
To: user <us...@mesos.apache.org>
Subject: Mesos acceptedResourceRoles slave_public

 
I added "acceptedResourceRoles": ["slave_public"] to a json application config in marathon. And it complains that the agents/slaves are not configured for this. I see some manuals on how to reconfigure via dc/os. 
I just wondered could this be an easy setting like something like this

echo "appc,docker" > /etc/mesos-slave/image_providers




RE: Mesos containerizer with marathon

Posted by Marc Roos <M....@f1-outsourcing.eu>.
 
Yes ! Thanks, had to remove network, but it is running now.


-----Original Message-----
From: Joseph Wu [mailto:joseph@mesosphere.io] 
Sent: vrijdag 13 oktober 2017 23:48
To: user
Subject: Re: Mesos containerizer with marathon

A quick modification to try...

Replace the container type:



	"container": {
	    "type": "DOCKER",
	


With this:

"container": {
    "type": "MESOS",


That will tell Marathon to use the Mesos containerizer, rather than the 
Docker containerizer.


On Fri, Oct 13, 2017 at 2:38 PM, Marc Roos <M....@f1-outsourcing.eu> 
wrote:



	I was watching this video https://youtu.be/rHUngcGgzVM?t=1515 
<https://youtu.be/rHUngcGgzVM?t=1515>  of using
	mesos for docker images. And it looks like I can run the influxdb 
docker
	image with
	mesos-execute --master=192.168.10.151:5050 --name=influxdb
	--docker_image=influxdb --shell=false
	
	However I have problems launching the application via the marathon
	webinterface, could this be related to that marathon is looking for 
the
	dockerd?
	
	Delayed(0 of 1 instances)
	State
	    TASK_FAILED
	Message
	    Abnormal executor termination: unknown container
	Without any stderr/stdout
	
	{
	  "id": "/influxdb",
	  "cmd": null,
	  "cpus": 1,
	  "mem": 128,
	  "disk": 200,
	  "instances": 1,
	  "acceptedResourceRoles": [],
	  "container": {
	    "type": "DOCKER",
	    "volumes": [],
	    "docker": {
	      "image": "influxdb",
	      "network": "BRIDGE",
	      "portMappings": [
	        {
	          "containerPort": 8086,
	          "hostPort": 0,
	          "servicePort": 10001,
	          "protocol": "tcp",
	          "name": "httpapi",
	          "labels": {}
	        },
	        {
	          "containerPort": 25829,
	          "hostPort": 0,
	          "servicePort": 10002,
	          "protocol": "tcp",
	          "name": "collectd",
	          "labels": {}
	        }
	      ],
	      "privileged": false,
	      "parameters": [],
	      "forcePullImage": false
	    }
	  },
	  "portDefinitions": [
	    {
	      "port": 10001,
	      "protocol": "tcp",
	      "name": "default",
	      "labels": {}
	    },
	    {
	      "port": 10002,
	      "protocol": "tcp",
	      "labels": {}
	    }
	  ]
	}
	
	centos7
	mesos-1.4.0-2.0.1.x86_64
	marathon-1.4.8-1.0.660.el7.x86_64
	mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
	Getting the images directly from /tmp
	
	PS. Just 'playing' 2 days with mesos test environment, so pardon if
	terminology is not correct.
	




Mesos acceptedResourceRoles slave_public

Posted by Marc Roos <M....@f1-outsourcing.eu>.
 
I added "acceptedResourceRoles": ["slave_public"] to a json application 
config in marathon. And it complains that the agents/slaves are not 
configured for this. I see some manuals on how to reconfigure via dc/os. 
I just wondered could this be an easy setting like something like this

echo "appc,docker" > /etc/mesos-slave/image_providers




Re: Mesos containerizer with marathon

Posted by Joseph Wu <jo...@mesosphere.io>.
A quick modification to try...

Replace the container type:

"container": {
>     "type": "DOCKER",
>

With this:

"container": {
    "type": "MESOS",

That will tell Marathon to use the Mesos containerizer, rather than the
Docker containerizer.

On Fri, Oct 13, 2017 at 2:38 PM, Marc Roos <M....@f1-outsourcing.eu> wrote:

>
> I was watching this video https://youtu.be/rHUngcGgzVM?t=1515 of using
> mesos for docker images. And it looks like I can run the influxdb docker
> image with
> mesos-execute --master=192.168.10.151:5050 --name=influxdb
> --docker_image=influxdb --shell=false
>
> However I have problems launching the application via the marathon
> webinterface, could this be related to that marathon is looking for the
> dockerd?
>
> Delayed(0 of 1 instances)
> State
>     TASK_FAILED
> Message
>     Abnormal executor termination: unknown container
> Without any stderr/stdout
>
> {
>   "id": "/influxdb",
>   "cmd": null,
>   "cpus": 1,
>   "mem": 128,
>   "disk": 200,
>   "instances": 1,
>   "acceptedResourceRoles": [],
>   "container": {
>     "type": "DOCKER",
>     "volumes": [],
>     "docker": {
>       "image": "influxdb",
>       "network": "BRIDGE",
>       "portMappings": [
>         {
>           "containerPort": 8086,
>           "hostPort": 0,
>           "servicePort": 10001,
>           "protocol": "tcp",
>           "name": "httpapi",
>           "labels": {}
>         },
>         {
>           "containerPort": 25829,
>           "hostPort": 0,
>           "servicePort": 10002,
>           "protocol": "tcp",
>           "name": "collectd",
>           "labels": {}
>         }
>       ],
>       "privileged": false,
>       "parameters": [],
>       "forcePullImage": false
>     }
>   },
>   "portDefinitions": [
>     {
>       "port": 10001,
>       "protocol": "tcp",
>       "name": "default",
>       "labels": {}
>     },
>     {
>       "port": 10002,
>       "protocol": "tcp",
>       "labels": {}
>     }
>   ]
> }
>
> centos7
> mesos-1.4.0-2.0.1.x86_64
> marathon-1.4.8-1.0.660.el7.x86_64
> mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64
> Getting the images directly from /tmp
>
> PS. Just 'playing' 2 days with mesos test environment, so pardon if
> terminology is not correct.
>