Tag: 马拉松

频繁的重新启动 – docker集装箱在马拉松/ mesos

我已经成功,直到完全dockerizing我的networking服务器应用程序。 现在我想通过马拉松框架将它们直接部署到一个mesos slave来探索更多。 我可以通过两种不同的方法(无论是通过命令行还是通过马拉松网页用户界面)将泊坞窗容器部署到马拉松。 两者都为我工作,但挑战是当我试图部署我的docker图像,马拉松经常重新启动一个工作,并在mesos UI页面,我可以看到许多完成了同一个容器的工作。 每分钟接近10个任务。 我不相信。 我的docker文件如下所示: FROM ubuntu:latest #———- file Author / Maintainer MAINTAINER "abc" #———- update the repository sources list RUN apt-get update && apt-get install -y \ apache2 \ curl \ openssl \ php5 \ php5-mcrypt \ unzip #——— installing composer RUN curl -sS https://getcomposer.org/installer | php RUN mv composer.phar […]

获取“docker”:使用马拉松在$ PATH中找不到可执行文件

我试图在马拉松上推出一个应用程序,这是json: { "id": "jackex", "container": { "docker": { "image": "ubuntu:14.04" }, "type": "DOCKER", "volumes": [] }, "cmd": "while sleep 10; do date -u +%T; done", "cpus": 0.2, "mem": 200, "instances": 1 } 但是我在任务日志上收到以下错误: “docker”:在$ PATH中找不到可执行文件 有谁知道这是什么问题?

与私人docker回购的马拉松

我在添加马拉松应用程序时遇到了私人泊坞窗回购问题。 我已经tar〜我的〜/ .docker文件夹(包括docker.config文件,其中包含我的login信息),并作为/etc/docker.tar.gz(我使用docker 1.6.2)发布到我的mesos奴隶, 。 然后我添加了一个新的马拉松应用程序: dcos marathon add app marathon.json 我的marathon.json如下所示: { "id": "api", "cpus": 1, "mem": 1024, "instances": 1, "container": { "type": "DOCKER", "docker": { "image": "company/api", } }, "args": ["java", "-jar", "api.jar"], "uris": [ "file:///etc/docker.tar.gz" ] } 然而,马拉松的应用程序永远不会启动。 在我的奴隶日志中,我发现了以下行: 框架z的执行程序y的容器x无法启动:“docker pull company / api”失败:exit status =退出状态1 stderr = time =“2015-11-12T00:03:57Z”level = fatal […]

竹Mesos马拉松

我正在为我的Mesos和Marathon集群设置Bamboo( https://github.com/QubitProducts/bamboo )。 目前,我的马拉松实例正在运行,具有以下参数: MARATHON_EVENT_SUBSCRIBER=http_callback MARATHON_HTTP_ENDPOINTS=http://my-marathon-server/callback 跑marathon告诉我以下内容: run_jar –zk zk://my-marathon-server:2181/marathon –master zk://my-marathon-server:2181/mesos 一切似乎都运作良好与Mesos +马拉松。 但是,当我在我的一个Mesos Slaves上运行Bamboo时,出现以下错误: 2015-12-02 03:15:32,525 INFO spawned: 'bamboo' with pid 20 2015-12-02 03:15:32,546 DEBG 'bamboo' stdout output: 2015/12/02 03:15:32 Using environment override MARATHON_ENDPOINT=http://my-marathon-server:8080 2015/12/02 03:15:32 Using environment override BAMBOO_ENDPOINT=http://my-bamboo-server(mesos-slave):8000 2015/12/02 03:15:32 Using environment override BAMBOO_ZK_HOST=my-marathon-server:2181 2015/12/02 03:15:32 Using environment override BAMBOO_ZK_PATH=/bamboo 2015/12/02 […]

马拉松将健康的任务视为不健康并杀死他们

我在Docker中(通过中间层)使用Marathon框架部署了一些服务,有时马拉松会杀死运行任务。 服务使用HTTP运行状况检查( intervalSeconds = 30, maxConsecutiveFailures = 3, timeoutSeconds = 20 )。 它随机发生,甚至有时我甚至可以看到当Marathon用户界面的任务变成红色,即使这样http检查在浏览器中运行良好(因此服务是健康的),然后马拉松杀死并重新启动影响整体系统性能的服务。 任何build议将是有益的 Mesos(v0.22.1),Marathon(v0.9.0) 日志: I1223 12:23:45.058763 32718 slave.cpp:1581] Asked to kill task prod-tracker-backend-processor.63dbfa9b-a965-11e5-a046-e24e 30c7374f of framework 20150527-135958-3712123914-5050-2238-0000 I1223 12:23:45.189750 32720 slave.cpp:2531] Handling status update TASK_KILLED (UUID: 09e76bce-f24c-4999-8933-270baf023c62 ) for task prod-tracker-backend-processor.63dbfa9b-a965-11e5-a046-e24e30c7374f of framework 20150527-135958-3712123914-505 0-2238-0000 from executor(1)@10.132.66.219:33503 I1223 12:23:45.214113 32718 docker.cpp:1009] Updated 'cpu.shares' […]

如何从App Creation命令获取Mesos Marathon Stdout?

如果我使用Marathon UI创build了一个新的应用程序,例如“badcommand”,那么没有与任务相关联的stdout / stderr(在Marathon UI或Mesos UI中)。 如何获得stdout / stderr? 我在下面列出了Marathon日志,但是它只是说任务(test2)失败了。 标准输出工作正常,与我的Docker容器。 我在文档中看到了一些信息,但没有提到这个问题。 对于我的实际使用情况,我试图运行一个bash脚本来创build一些数据库表。 显然,我可以创build一个扩展现有的Dockerfile,但是从Marathon运行脚本会更容易,因为如果我使用敏感信息创build自己的Dockerfile,而不是使用免费的Docker Hub服务来支付私有托pipe费用。 I0210 17:07:12.341120 9 slave.cpp:4999] Launching executor test2.ba02dba1-d018-11e5-87cd-02420a013102 of framework 379ed26c-465f-4b0f-90f9-d058ad6d028b-0000 with resources cpus(*):0.1; mem(*):32 in work directory '/tmp/mesos/slaves/379ed26c-465f-4b0f-90f9-d058ad6d028b-S0/frameworks/379ed26c-465f-4b0f-90f9-d058ad6d028b-0000/executors/test2.ba02dba1-d018-11e5-87cd-02420a013102/runs/ef4db108-dce3-45f6-b273-11db38289e24' I0210 17:07:12.341696 8 docker.cpp:735] No container info found, skipping launch I0210 17:07:12.341958 9 slave.cpp:1628] Queuing task 'test2.ba02dba1-d018-11e5-87cd-02420a013102' for executor 'test2.ba02dba1-d018-11e5-87cd-02420a013102' of framework […]

Docker读取主机Envvariables

我试图在运行Marathon的容器/docker和主机之间创build单向或双向(进程间通信)。例如: 在我的主机上,我输出ENV_VARIABLE_TO_DOCKER_XYZ =“1000.2000”(随运行时间而改变) 当我运行docker工人,我可以在docker运行时查询系统variables吗? 案例否,我很高兴任何其他替代(ioctl,共享内存,信号等)除了挂载磁盘/内存区域(这显然是通过-v / xyz:docker_xyz最简单的方式)谢谢

当Marathon在同一主机上运行所有泊坞窗应用程序时,泊坞服务停止

我正在使用Marathon和Mesos来部署/运行一些docker服务(mongodb,elasticsearch等),所有约束都在同一个节点上运行。 当我提交一个接一个的时间间隔的结果是成功的,但是当我一次发布所有的应用程序泊坞服务停止后立即拉…我想这个问题是围绕docker拉的开销,但我找不到任何关于它。 节点环境 : 马拉松:0.13.0 Mesos:0.26.0 Docker:1.7.1 storage:aufs OS:CentOS 6.7内核:支持aufs的3.19.3

pipe理多个mesos marathon jsonconfiguration以进行部署

所以我使用Mantl.io来处理我们的环境。 事情进展顺利,我们现在已经过了POC阶段,开始考虑如何处理持续交付。 显然自动化是关键。 也许我的方法或想法是错误的,但我想找出一种方法来pipe理我将传递给马拉松的json通过jenkins工作调用从我们的registry部署docker容器。 我们有各种环境(testing,性能,产品等),在这些环境中,我将有30多个微服务需要为CPU,内存,环境variables等设置不同的variables。 所以我只是不确定采取我的docker容器和链接他们可能是10个或更多不同的configuration每个微服务取决于环境的最佳方法。 是否有构build,pipe理,版本控制,链接容器configuration到环境的工具? 我似乎无法在这个领域find任何东西,这使我相信我正走向错误的道路。 谢谢

如何在Marathon中保存应用程序状态?

我有一个stream浪的机器,我正在运行Mesos和Marathon,我在马拉松启动一个应用程序,该应用程序是一个docker集装箱。 当我迷路停下来,再次做我的马拉松和mesos服务开始,但我的docker应用程序停止。 那么有没有一种方法可以保存应用程序的状态,并让stream动应用程序尽快启动呢?