Tag: coreos

Kubernetes工作stream程

我一直在使用kubernetes。 $ kubectl version Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.0+2831379", GitCommit:"283137936a 498aed572ee22af6774b6fb6e9fd94", GitTreeState:"not a git tree", BuildDate:"2016-07-05T15:40:25Z", GoV ersion:"go1.6.2", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"2", GitVersion:"v1.2.0", GitCommit:"5cb86ee022267586db 386f62781338b0483733b3", GitTreeState:"clean", BuildDate:"", GoVersion:"", Compiler:"", Platform:""} 我通常为每个项目设置一个Ingress,Service和复制控制器。 apiVersion: extensions/v1beta1 kind: Ingress metadata: namespace: portifolio name: portifolio-ingress spec: rules: – host: www.cescoferraro.xyz http: paths: – path: / backend: serviceName: portifolio […]

用etcdconfigurationHipache

我最近发现Hipache现在可以和etcd一起工作。 我有以下Hipacheconfiguration: { "server": { "accessLog": "/tmp/access.log", "port": 80, "workers": 10, "maxSockets": 100, "deadBackendTTL": 30, "tcpTimeout": 30, "retryOnError": 3, "deadBackendOn500": true, "httpKeepAlive": false }, "driver": ["etcd://172.17.42.1:4001"] } 我的问题是关于"driver": ["etcd://172.17.42.1:4001"]位。 反正我可以指示Hipache机器dynamic地将它自己附加到etcd集群的任何成员上吗? 我当前的CoreOS安装程序中的所有etcd节点都位于不同的节点上,并且etcd未在CoreOS群集中的每个节点上运行。

rsync后不能SSH进入远程机器

使用HTTPS保护Docker守护进程套接字以生成ca.pem,server-key.pem,server-cert.pem,key.pem和key-cert.pem 我想要一个远程Docker守护进程使用这些密钥,所以我通过ssh使用rsync将三个文件(ca.pem,server-key.pem和key.pem)发送到远程主机的主目录。 ssh到远程主机的标识文件叫做dl-datatest-internal.pem ubuntu@ip-10-3-1-174:~$ rsync -avz -progress -e "ssh -i dl-datatest-internal.pem" dockerCer/ core@10.3.1.181:~/ sending incremental file list ./ ca.pem server-cert.pem server-key.pem sent 3,410 bytes received 79 bytes 6,978.00 bytes/sec total size is 4,242 speedup is 1.22 远程主机从此停止识别身份文件,并开始询问不存在的密码。 ubuntu@ip-10-3-1-174:~$ ssh -i dl-datatest-internal.pem core@10.3.1.151 core@10.3.1.151's password: 有谁知道为什么以及如何解决它? 如果有帮助,我仍然拥有所有的钥匙。

Docker隐藏调用容器的IP

免责声明: 我是一个networking新手。 原谅我,如果我不使用适当的词汇来形容我的问题。 语境: 所以我有几个在CoreOS上运行的应用程序容器(Docker)。 每个容器必须具有不同的IAMangular色。 由于在同一个主机上可能会有N个不同的IAMangular色运行,因此使用EC2实例元数据( http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2- instance-metadata.html )来检索实例凭证。 每个容器都需要一组不同的凭证(因为每个容器都有不同的angular色)。 为了解决这个问题,我偶然发现这个项目https://github.com/dump247/docker-ec2-metadata这是一个Go代理拦截(使用iptables规则)调用http://169.254.169.254/latest / meta-data / iam / security-credentials /,并根据调用容器的IAMangular色提供适当的凭据。 iptables规则(请参阅https://github.com/dump247/docker-ec2-metadata/blob/master/README.md )重新路由呼叫是: # Get the host IP address. You can use a different mechanism if you wish. # Note that IP can not be 127.0.0.1 because DNAT for loopback is not possible. PROXY_IP=$(ifconfig eth0 | grep […]

Docker:getcwd:不能访问父目录

我有一个Java应用程序,通过sbt-native-packager打包到docker容器。 当在本地机器或其他服务器上testing时,容器启动就好了。 在Azure上的CoreOS机器上,我得到: shell-init: error retrieving current directory: getcwd: cannot access parent directories: Success chdir: error retrieving current directory: getcwd: cannot access parent directories: No child processes pwd: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory chdir: error retrieving current directory: getcwd: cannot access parent directories: No child processes […]

用于大规模Mesos群集的Atomic OS / Core OS?

我正在计划Mesos , Kubernetes (或者Marathon和/或Aurora )和Docker的概念certificate。 我们的想法是在我们的数据中心configuration一个集群作为Mesos集群,并使用例如Kubernetes编排Docker容器。 对于Docker和Kubernetes来说,像Project Atomic和CoreOS这样的primefaces主机操作系统是不可变的,并且是primefaces地更新的,但是对于Mesos来说,也有类似的东西,也就是不可变的primefaces和轻量级平台,用于在裸机或虚拟机上运行Mesos从服务器和主服务器? 我认为这样一个平台将是在整个集群中分布Mesos的最好方式(特别是如果它是一个大集群的话),然后由Kubernetes和Docker提供的其余function将运行在Mesos之上。 因此,不需要将Docker分发到每个节点; 我的印象是它由Mesos-Docker集成来处理。 在不需要手动或Puppet / Chef / Ansible供应的大​​集群/数据中心之间分发Mesos的任何替代scheme也是有意义的。 问候,奥拉

systemd,docker或systemd-journal(在稳定的CoreOS上)使用高CPU

我在AWS EC2 t2.micro实例上运行CoreOS稳定的AMI。 在这个实例上运行的唯一一个不能在纯粹的CoreOS上运行的进程是nginx,它每天只能提供一些请求(而不是产品),根据我的NewRelic服务器使用0.01%的CPU。 我发现我每周或者2个CPU用完了,导致实例完全没有响应。 它看起来像systemd是罪魁祸首每个图下面。 *注:我认识到一个简单的解决办法是升级实例或不使用t2,但我想find问题的根源并修复它,而不是花费更多的钱在一个很难被使用的实例上。 我希望能够使用t2.micro实例,而不用担心核心进程使其不稳定。 这是我的24小时来自NewRelic的进程CPU使用情况图: 以下是我的AWS CloudWatch图表,用于在同一个24小时范围内的CPU贷方余额,CPU利用率和CPU贷方使用情况。 这是我2个星期的CPU贷方余额。 你会发现它随着时间的推移逐渐减less,有一些尖锐的尖峰/下降。 值得注意的是,如果我重新启动实例,并通过top观察进程,则docker,systemd和systemd-journal的CPU使用率并不高。 这是一个多小时。 这是过去24小时内的系统。 看到它正在使用一致的2-5%的CPU,然后达到15%,这正好在CPU用完之前,然后在重新启动之后,它一直是稳定的<1%。

kubernetes容器的反应迷路了

我已经在openstack上安装了kubernetes。 该设置在coreos上有一个主节点和一个节点。 我有一个托pipe在UDP端口5060上的SIP应用程序的吊舱,并且我已经在5060上创build了服务NODEPORT 。 规格: "spec": { "ports": [ { "port": 5061, "protocol": "UDP", "targetPort": 5060, "nodeport": 5060, "name": "sipu" } ], "selector": { "app": "opensips" }, "type": "NodePort" } IP地址 公共IP的节点: 192.168.144.29 。 节点的私有IP: 10.0.1.215。 。 容器的IP: 10.244.2.4 。 docker0接口: 10.244.2.1 。 现在,这个问题。 我发送一个SIP请求到应用程序,并期望200 OK响应,我没有得到。 跟踪相同,我在容器和节点上安装了TCPDUMP。 在容器上,我可以看到在节点本身捕获的请求和响应数据包,我只是看到请求数据包。 不明白为什么包丢失。 下面是容器的tcpdump: tcpdump: listening on eth0, link-type […]

在Kubernetes的子域上访问服务

我有以下设置: 私有OpenStack云 – 只能访问Web UI(Horizo​​n) (API是有限的,但也许我可以访问) 我已经使用CoreOS设置了一个主 节点和三个节点 资源是标准化的(默认为OpenStack) 在GitHub上,我遵循了CoreOS的入门指南(即,我使用了提供的用于configurationcloud-config的默认YAML) 当我读扩展,如Web UI(kube-ui)可以添加为附加 – 我已经添加(只有kube-ui)。 现在,如果我运行一个类似simple-nginx的testing,我会得到以下输出: 创build豆荚: $ kubectl run my-nginx –image=nginx –replicas=2 –port=80 创造服务: $ kubectl expose rc my-nginx –port=80 –type=LoadBalancer NAME LABELS SELECTOR IP(S) PORT(S) my-nginx run=my-nginx run=my-nginx 80/TCP 获取服务信息: $ kubectl describe service my-nginx Name: my-nginx Namespace: default Labels: run=my-nginx Selector: run=my-nginx Type: […]

Docker容器中dnsmasq的奇怪行为

我有一个运行dnsmasq容器的CoreOS实例。 目前, dnsmasqconfiguration只设置为logging所有查询并以debugging模式运行,所以应该只进行caching。 当我尝试从不同的容器中使用dig , nslookup或简单地运行ping google.com我得到了Bad hostname: google.com ,我可以看到在日志查询中,多次请求,好像是重试。 如果我尝试从运行CoreOS的主机上运行相同的命令,那么在单次尝试中一切都没有问题。 我的计划是在群集中的每个CoreOS机器上运行dnsmasq ,并使其由confd支持,这样所有的服务都可以解决相应的问题。 我使用Alpine Linux作为基础映像,但是我试图在Ubuntu和Debian映像中运行这些命令,结果相同。