Tag: 等等

设置Docket在CoreOS上用etcd2使用Flannelnetworking

我使用这个cloud-config在DIgital Ocean上创build了一个2台机器集群。 没有什么奇特的,只是重新启动systemd,舰队和etcd2,以及创build一个4Gb互换(使用512MB的机器进行testing)。 这一切都运作良好,考虑到这一点 core @ coreos-1〜$ fleetctl list-machines MACHINE IP METADATA 14ec8f48 … 10.10.10.18 – 9a6a3f3d … 10.10.10.115 – 然后通过设置/etc/systemd/system/flannel.service来成功启动法兰绒 [Unit] Description=Flannel network fabric for CoreOS Requires=etcd2.service After=etcd2.service [Service] EnvironmentFile=/etc/environment ExecStartPre=-/bin/bash -c "until /usr/bin/etcdctl set /coreos.com/network/config '{\"Network\": \"10.10.10.0/16\"}'; do echo \"waiting for etcd to become available…\"; sleep 5; done" ExecStart=/opt/bin/flannel -iface=${COREOS_PRIVATE_IPV4} ExecStartPost=-/bin/bash -c "until […]

quay.io/etcd找不到容器命令

我收到以下错误: docker:来自守护进程的错误响应:Container命令'-name'未find或不存在。 我正在按照CoreOS文档中的示例运行Docker下的etcd 。 以下是我尝试运行的configuration: docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379 \ –name etcd quay.io/coreos/etcd \ -name k8_etcd0 \ -advertise-client-urls http://10.0.0.4:2379,http://10.0.0.3:4001 \ -listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \ -initial-advertise-peer-urls http://10.0.0.3:2380 \ -listen-peer-urls http://0.0.0.0:2380 \ -initial-cluster-token etcd-cluster-1 \ -initial-cluster k8_etcd0=http://10.0.0.4,k8_etcd1=http://10.0.0.5:2388 \ -initial-cluster-state new

使用“etcdctl成员添加”时,CoreOS成员节点不会启动

我试图用命令“etcdctl member add core2 http://172.31.12.183:2380 ”添加一个额外的etcd节点到我的CoreOS集群中,但是这个命令会让我的新节点不稳定,因此我的集群不健康。 如何解决这个问题或者在运行etcdctl成员添加命令之后启动我的新节点? 以下是我运行此命令时的输出以及之后的群集状态: core@ip-172-31-12-183 ~ $ etcdctl member add core2 http://172.31.12.183:2380 Added member named core2 with ID 4d14f3cb088a2f54 to cluster ETCD_NAME="core2" ETCD_INITIAL_CLUSTER="core2=http://172.31.12.183:2380,ec2c8c9d2cf141cf9657e98b260895a5=http://172.31.12.182:2380" ETCD_INITIAL_CLUSTER_STATE="existing" core@ip-172-31-12-183 ~ $ etcdctl member list 4d14f3cb088a2f54[unstarted]: peerURLs=http://172.31.12.183:2380 aedf0a441a723d8a: name=ec2c8c9d2cf141cf9657e98b260895a5 peerURLs=http://172.31.12.182:2380 clientURLs=http://172.31.12.182:2379,http://172.31.12.182:4001 core@ip-172-31-12-183 ~ $ etcdctl cluster-health member 4d14f3cb088a2f54 is unreachable: no available published client urls member […]

是否有可能在不更新舰队和etcd的情况下更新CoreOS上的Docker?

我已经阻止了群集上CoreOS的自动更新。 我想将我的CoreOS docker版本升级到目前稳定版本的1.5版本,但是这个CoreOS版本中存在的版本有一个我不能忍受的错误(与卫星服务有关 – 文件未find)有没有办法只更新docker版本到1.5而不更新一切?

我怎样才能得到在一台机器上启动的一个单位的IP地址,并在另一个机组中使用它?

我是CoreOS和Docker的新手,我面临着车队的问题。 我有一个标准的单位启动POSTGRES容器,我想知道本机启动的机器的IP地址 。 实际上我有一个3台机器的集群,并且POSTGRES单元并不总是在同一台机器上启动 (这意味着IP不是静态的)。 我需要它时,我开始另一个单位(见下文),这需要一个POSTGRES。 我现在使用的单位参数叫BindsTo: [Unit] Description=Test After=docker.service After=postgres@1.service Requires=docker.service Requires=postgres@1.service BindsTo=postgres@1.service [Service] TimeoutStartSec=0 ExecStartPre=-/usr/bin/docker kill test%i ExecStartPre=-/usr/bin/docker rm test%i ExecStart=/usr/bin/docker run -rm –name test%i -e HOST="HereThePostgresIP" sryther/test ExecStop=/usr/bin/docker stop test%i 注意:本装置不需要在POSTGRES装置的同一台机器上启动。 我尝试使用%Hvariables,但它返回主机名而不是机器的IP地址。 法兰绒也用于我的集群。 谢谢! 我find了一个解决方法: [Unit] Description=Test After=docker.service Requires=docker.service [Service] TimeoutStartSec=0 ExecStartPre=-/usr/bin/docker kill test%i ExecStartPre=-/usr/bin/docker rm test%i ExecStart=/usr/bin/docker run -rm –name test%i […]