Tag: devops

你将如何去dockerfile和rpm脚本?

目前我为我的应用程序创buildrpm并使用puppet安装。 你将如何去使用docker ? 有最佳做法吗? 什么是推荐的方式? 继续为您的应用程序创buildrpm并安装在docker中。 只需使用docker文件就可以在您的映像上创build所需的脚本,而不再需要为您的应用程序创buildrpm 。 谢谢

水平缩放如何降低系统的负载?

理论上说,我有一个负载均衡器下运行的3节点LXD集群。 stream量开始增加,我需要通过向集群添加另一个节点来进行水平扩展。 在这一点上,我有一个在LB下的4节点集群。 这种方法在哪些方面是有益的? 我试图了解它是否减less了包含节点的整个裸机的负载,或只是允许更多的请求处理。 如果有更多的请求被允许处理,我是否想要测量每个单独的容器的平均负载?

任何有关在docker集装箱运行普罗米修斯的build议?

我们的团队决定切换到普罗米修斯监测。 所以我想知道如何设置高可用容错Prometheus安装。 我们有许多小型项目,运行在AWS ECS上,几乎所有的服务都是集装箱化的。 所以我有一些问题。 我们应该容纳普罗米修斯吗? 这意味着运行2个EC2实例,每个实例一个Prometheus容器,每个实例一个NodeExporter。 然后在不同的实例中在每个实例的Wave Mesh容器中运行高度可用的Alert Manager。 或者只是在EC2上安装Prometheus二进制和其他的东西,忘记装箱? 有任何想法吗? 是否有一些最佳实践存在的高可用普罗米修斯设置?

通过Terraform发送Docker日志到AWS CloudWatch

我的目标是通过terraform将Docker容器日志发送到CloudWatch。 这是我用于IAM的ECSangular色: { "Version": "2008-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Principal": { "Service": ["ecs.amazonaws.com", "ec2.amazonaws.com"] }, "Effect": "Allow" } ] } 这里是ECS服务angular色策略: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticloadbalancing:Describe*", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "ec2:Describe*", "ec2:AuthorizeSecurityGroupIngress", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "*" ] } ] } 在我的docker集装箱的任务定义,除了其他事情我有这个为cloudwatch日志logging: "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": […]

DevOps vs Docker

我想知道docker如何适合CI / CD。 我明白,在容器的帮助下,您可能会关注代码,而不是依赖关系/环境。 但是一旦你签入代码,你将会期待像TeamCity,Jenkins或者Bamboo这样的工具来处理集成构build,集成testing/unit testing以及部署到目标服务器(在批准之后),在那里你会期望同样的Docker容器映像运行内置的代码。 但是,总而言之,Docker在CI / CD周期中并不存在,尽pipe它在服务器执行时发挥作用。 那么,为什么我会看到文章将其列为DevOps的其中一项。 我可能是错的,因为我不是DevOps大师,请指教!

用Docker Compose进行故障切换,有两种方法

我一直在考虑docker生态系统周围build立的故障安全应用,更重要的是docker-compose 。 以下哪一项将为我们的操作提供更好的故障切换,降低复杂性的性能: 所有使用负载平衡器运行多个容器的“服务”进行故障转移分布在许多主机上,以实现故障转移和可靠性。 所有“服务”运行一个容器。 在单个(较大的)主机上运行。 然后在DNS(运行状态检查器)之外复制DNS健康检查服务(类似于Route 53),以实现故障切换和可靠性

Docker和前端应用程序的例子

我正在学习如何使用Docker,并且正在使用Centos + PHP + MySQL设置前端和后端的简单应用程序。 我有我的机器:“example” 在机器“示例”中,我configuration了2个docker容器: frontend: build: ./frontend volumes: – ./frontend:/var/www/html – ./infrastructure/logs/frontend/httpd:/var/logs/httpd ports: – "80" links: – api api: build: ./api volumes: – ./api:/var/www/html – ./infrastructure/logs/api/httpd:/var/logs/httpd ports: – "80" links: – mysql:container_mysql 我遇到的问题是当我访问泊坞窗容器时,我需要为FRONTEND(32771)或BACKEND(32772)指定一个端口号。 这是正常的还是有办法为应用程序的API和前端创build主机名? 这是如何工作的部署到AWS? 提前致谢。

无法从quay.io中提取图片:错误x509:由未知权威机构签名的证书

我得到的错误是: 无法从quay.io/coreos/flannel中获取x509的映像:由未知权限ERROR签名的证书。 我试图执行的命令是: root @ Kube-agent2:〜#sudo docker -H unix:///var/run/docker-bootstrap.sock run -d –net = host \ – 特权\ -v / dev / net:/ dev / net \ quay.io/coreos/flannel:${FLANNEL_VERSION} / opt / bin / flanneld \ –ip-masq = $ {FLANNEL_IPMASQ} \ –etcd-endpoints = http:// $ {MASTER_IP}:4001 \ –iface = $ {} FLANNEL_IFACE 我收到的错误消息是: 无法find图像“quay.io/coreos/flannel:0.5.5”本地docker:来自守护进程的错误响应:获取https://quay.io/v1/_ping:x509 :由未知权限签名的证书。 参见“docker运行 – […]

Kubernetes – 为“服务”创build特定的命名空间

在我们的微服务架构中,我们有许多有状态的服务: MongoDB的 MySQL的 Redis的 ElasicSearch 我们还有两个Kubernetes namespaces用于我们的不同环境: 分期 生产 我们在两个环境/命名空间中运行上述每个有状态的服务。 我一直在想,由于预算有限,我们的集群资源有限。 我们是否应该为这些服务创build第三个命名空间,并将它们用于生产环境和临时环境? 例如创build一个 “服务”命名空间? 这种情况下最好的做法是什么? 有什么缺点吗?

应用程序源码没有被导入到docker-compose的docker容器中

我有一个python应用程序,我希望在docker中的容器中设置一个卷。 我正在一个名为“web”的容器中运行该应用程序,源代码位于./web里面有一个Dockerfile,它显然是按照预期运行的,还有一个docker-compose.yml文件,我认为这是问题所在。 我也希望将源代码导入并同步到所述容器中。 这是Dockerfile的内容。 FROM python:3.4-onbuild RUN apt-get update -qq && apt-get upgrade -y && apt-get install -y \ curl \ tar\ libfontconfig1-dev ENV PHANTOM_JS_TAG 2.1.1 RUN mkdir /tmp/phantomjs RUN cd /tmp/phantomjs RUN curl -L -O https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-$PHANTOM_JS_TAG-linux-x86_64.tar.bz2 RUN tar –strip-components=1 -xvf phantomjs-$PHANTOM_JS_TAG-linux-x86_64.tar.bz2 RUN mv bin/phantomjs /usr/local/bin && cd / && rm -rf /tmp/phantomjs 这里是docker-compose.yml web: […]