我想在VirtualBox上设置coreOS集群。我已经阅读了官方站点上的coreOS文档,并且据说我必须使用相同的配置启动每个虚拟机,并且它们应该被自动集群。我正在使用ct命令来将Container Linux配置转换为coreOS点火文件。
ct --platform = vagrant-virtualbox
spark.json
这是我的容器Linux Config文件
etcd:
name: "{HOSTNAME}"
listen_peer_urls: "http://{PRIVATE_IPV4}:2380"
listen_client_urls: "http://0.0.0.0:2379"
initial_advertise_peer_urls: "http://{PRIVATE_IPV4}:2380"
advertise_client_urls: "http://{PRIVATE_IPV4}:2379"
# replace "<token>" with a valid etcd discovery token
discovery: "https://discovery.etcd.io/b89df44ae2643afed5d3f05ea774ba6b"
systemd:
units:
- name: docker-tcp.socket
enable: true
contents: |
[Unit]
Description=Docker Socket for the API
[Socket]
ListenStream=2375
Service=docker.service
BindIPv6Only=both
[Install]
WantedBy=sockets.target
- name: flanneld.service
dropins:
- name: 50-network-config.conf
contents: |
[Service]
ExecStartPre=/usr/bin/etcdctl set /flannel/network/config '{ "Network": "10.2.0.0/16", "Backend":{"Type":"vxlan"} }'
flannel:
etcd_prefix: "/flannel/network"
passwd:
users:
- name: core-01
password_hash: $1$B61gfKDk$ALsU28o4XGSro4Uqd00FW/
groups:
- sudo
- docker
但是当我启动第一个虚拟机时,我使用
etcdctl成员列表
为了检查集群的第一个成员是否启动的命令,我得到了此输出。
Error: client: etcd cluster is unavailable or misconfigured; error #0: dial tcp 127.0.0.1:2379: connect: connection refused
; error #1: dial tcp 127.0.0.1:4001: connect: connection refused
error #0: dial tcp 127.0.0.1:2379: connect: connection refused
error #1: dial tcp 127.0.0.1:4001: connect: connection refused
当输出应类似于]时>
e601a65b304e868f: name=core-01 peerURLs=http://192.168.1.30:2380 clientURLs=http://192.168.1.30:2379 isLeader=true
为什么会这样?我应该在容器linux配置中进行哪些更改以使计算机集群?
我想在VirtualBox上设置coreOS集群。我已经阅读了官方站点上的coreOS文档,并说我必须使用相同的配置启动每个虚拟机,并且它们... ...>
在我看来,etcd使用默认参数。 127.0.0.1:2379
您是否尝试指定${HOSTNAME}
和${PRIVATE_IPV4}
并考虑一下:
-–initial-cluster-state
初始群集状态(“新”或“现有”)。为初始静态或DNS期间存在的所有成员设置为new自举。如果此选项设置为现存,etcd将尝试加入现有集群。如果设置了错误的值,etcd将尝试启动但安全失败。默认值:“新”环境变量:ETCD_INITIAL_CLUSTER_STATE