Tag: 自动缩放

Docker群集模式:缩小节点并删除服务

对于给定服务t1, t2, …, tk ,节点N1, N2, …Nw有一组任务。 由于使用率较低,我不需要像k那样多的任务。 我只需要l任务( l < k )。 事实上,我不需要w节点,所以我想开始删除机器,并支付less。 每次拆下一台机器都可以。 每个服务都有自己的状态。 服务以复制模式启动。 1)我如何删除单个节点并强制docker swarm不重新创build相同数量的服务任务? 笔记: 我可以确保没有工作重新路由到在特定节点上运行的任务,因此删除特定节点是安全的。 这是最简单的解决scheme,假设在被移除的节点上服务k – l服务,我将以w – 1节点和l服务结束。 要么 2)如何从docker swarm中移除特定的容器(任务),并且保持服务副本的数量低于被移除的任务的数量? 笔记: 我假设我已经删除了一个节点。 来自节点的服务被重新部署到其他节点。 我监视自己没有交通的集装箱(任务) – >没有状态是需要维护的 要么 3)其他解决scheme?

使用ECS的Docker级别负载平衡

我使用弹性beanstalk将Web服务部署为使用ECS的AWS上的Docker容器。 EBS中的默认负载均衡器提供了networking级自动调节function,可以处理EC2实例的负载。 如何在应用程序级别处理自动扩展,并使用像Kubernetes这样的ECS处理docker的dockerizationfunction? 当我收到更多的内存或CPU使用率时,我想扩展我的个人泊坞窗。 请帮我做到这一点。

Liberty Admin Center将Docker服务器显示为正在运行,而不是

我在Ubuntu x64上使用Liberty 16.0.0.2。 当我使用REST在另一台主机上部署远程Liberty Docker容器时,它全部可用,但是当我手动停止这些远程容器(使用docker stop xxx命令)时,pipe理中心仍然显示这些容器正在运行,即使重新启动集合控制器后也是如此。 我已经为我的Docker容器定义了自动缩放,并且由于策略而导致某些容器被停止,但是一些真正运行的容器在pipe理中心中显示为已停止。 这里是正在运行的容器列表: $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fb59f94cd25b liberty_img "/opt/ibm/wlp/bin/ser" 41 minutes ago Up 41 minutes liberty_container11 5fd2d5858f60 liberty_img "/opt/ibm/wlp/bin/ser" 42 minutes ago Up 42 minutes liberty_container10 98117dac4f69 liberty_img "/opt/ibm/wlp/bin/ser" 42 minutes ago Up 42 minutes liberty_container9 cdce71905081 liberty_img "/opt/ibm/wlp/bin/ser" 8 hours […]

Docker swarm缩小任务与会话:停止维护每个服务的任务数量

我在服务A运行了n任务。 容器是由docker service scale A=n创build的。 该服务与用户保持会话,所以我不能使用docker swarm scale A=n-1 如何强迫docker停止维护服务A的容器数量n ? 我想运行像docker service scale A=ignore ,让容器自行停止。 当内部状态允许时,容器会缩小。

一旦docker达到其最大内存限制,AWS EB应该创build新的实例

我已经使用使用Akka-HTTP( https://github.com/theiterators/akka-http-microservice )和Scala编写的Elastic Beanstalk在AWS服务器上部署了我的dockerized微服务。 我已经为每个docker分配了512mb的内存大小和性能问题。 我注意到,当服务器获得更多的请求(如20%,23%,45%…)和负载时,CPU使用率增加,然后自动降到正常状态(0.88%)。 但是,每次请求的内存使用量都在不断增加,即使CPU使用率达到正常阶段,仍然无法释放未使用的内存,并且达到了100%,而且docker自己被杀死并重新启动。 我也在EB中启用了自动缩放function来处理大量的请求。 因此,只有在运行实例的CPU使用率达到其最大值后,才会创build另一个重复实例。 内存使用量达到最大限制(即512MB中的500MB)时,如何设置自动缩放以创build另一个实例? 请给我们一个解决scheme/方法来尽快解决这些问题,因为这是我们的一个非常关键的问题?

自动扩展Docker群集服务

我们使用Ansible和AWS Autoscaling组来扩展我们的Docker群集。 现在,这是工作,因为我们在全局模式下运行的服务,所以我们自动获得每个docker节点的每个容器types之一。 然而,这不是非常有效,因为我们最终得到了比我们需要的更多的一些服务容器。 有没有人做类似的事情,但docker群扩大了基于资源利用的特定服务? 看起来如果能够利用docker统计数据找出哪些容器需要扩展,但是如果已经有一个很好的解决scheme,就不想重新发明轮子,就可以实现这一点。 编辑:不寻找如何扩大群集本身,但运行它的个别服务。

如何自动调整Docker容器主机?

我正在开发一个基于Docker的Web服务,其中每个订阅者都有私有的访问,在云中运行他们自己的Docker容器,公开端口443。 我已经成功地使用了nginx-proxy / docker-gen来为同一个虚拟机上的多个Docker容器提供服务,只有443端口暴露给公共networking。 这工作正常…但是当用户饱和VM资源时我该怎么办? (作为一个简单的例子,我可以在用作Docker主机的单个DigitalOcean 2Gb实例上实际限制10个用户的容器。) 例如,当用户#11注册时,我需要准备好新的Docker主机,并等待启动新的容器。 换句话说,我想对我的Docker主机进行横向自动调节,以响应用户的订阅需求。 做一些服务发现,并使容器公开可寻址将是很好的。 我试图找出最好的解决scheme。 Kubernetes 1.1似乎支持Pod的自动缩放(即基本上增加了容器的数量…),而不是容器主机的自动缩放(Kubernetes中的“minions” – 说话??) 我看了下面的项目,看起来接近我需要: Deis – 据我所知,没有明确的自动缩放 鹤 – 可能的自动调节解​​决scheme,但只限于计数/内存 Mesos / Mesosphere – 可能比必要的复杂得多 任何人可以提出任何有用的build议?

使用Ansible进行持续部署和AWS自动扩展(+ Docker?)

我的组织的网站是一个运行在AWS前端Web服务器+一些后台处理服务器上的Django应用程序。 我们目前正在使用Ansible: 系统configuration(从裸露的OS映像) 频繁的手动触发代码部署。 相同的Ansible操作手册能够从头开始configuration本地Vagrant dev VM或生产EC2实例。 我们现在要在EC2中实现自动缩放,这就需要一些“把服务器当作牛,而不是宠物”的理念。 第一个先决条件是从一个静态pipe理的Ansible库存移动到一个dynamic的,基于EC2 API的库。 接下来的一个大问题是如何在这个新的世界里,在一夜暴富的情况下来回摆动。 我能想到的选项是: 为每个部署创build一个新的完全部署的AMI ,创build一个新的AS启动configuration并用此更新AS组。 听起来非常非常繁琐,但也是非常可靠的,因为清洁的石板方法,并将确保任何系统更改代码所需的将在这里。 而且,在实例启动时不需要额外的步骤,所以启动和运行更快。 使用不经常更改的基本AMI ,在启动时自动从git获取最新的应用程序代码,启动web服务器。 一旦启动,只需按照需要手动部署,就像以前一样。 但是如果新代码依赖于系统configuration(新包,权限等)的更改呢? 看起来你必须开始考虑代码版本和系统/ AMI版本之间的依赖关系,而“只是做一个完全可靠的运行”的方法更集成,更可靠。 这不仅仅是在实践中潜在的头痛吗? 使用Docker? 我有一个强大的预感,它可以是有用的,但我不知道它是如何适合我们的图片。 我们是一个相对独立的Django前端应用程序,只有RabbitMQ + memcache作为服务,我们永远不会在同一个主机上运行。 那么使用包含系统包+最新代码的Ansible构buildDocker镜像有什么好处,而不是让Ansible直接在EC2实例上执行? 你怎么做呢 ? 任何见解/最佳实践? 谢谢 !

kubernetes hpa不能获得cpu消耗

我正在尝试configurationkubernetes水平吊舱autoscaling。 我的部署的定义在这里 。 我开始heapster部署和heapster服务如下: # kubectl run heapster –namespace=kube-system –image=gcr.io/google_containers/heapster:v1.0.2 –command — /heapster –source=kubernetes:http://192.168.122.159:8080?inClusterConfig=false –sink=log # kubectl expose deployment heapster –port=80 –target-port=8082 –name=heapster –namespace=kube-system hpa是这样创build的: # kubectl autoscale deployment nginx-rc –max=5 –cpu-percent=25 heapster似乎运行良好。 这里是日志 。 毕竟,hpa没有收到CPU利用率的任何数据。 # kubectl describe hpa Name: nginx-rc Namespace: default Labels: <none> Annotations: <none> CreationTimestamp: Sat, 04 Jun 2016 07:23:03 -0400 […]