最近一直在尝试Docker,于是注意到这个CoreOS。
###1.安装
安装方式比较特别,首先到这里下载镜像文件,在虚拟机里用这个镜像启动,启动后就是一个完整的系统,不过是只读的,我们要先把它安装在硬盘里。
先根据这个指南创建一个cloud-config.yaml文件,内容如下:
#cloud-config
hostname: core4
coreos:
etcd:
discovery: https://discovery.etcd.io/<mytoken>
addr: 192.168.10.9:4001
peer-addr: 192.168.10.9:7001
fleet:
public-ip: 192.168.10.9
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
- name: static.network
content: |
[Match]
Name=enp0s3
[Network]
Address=192.168.10.9/24
Gateway=192.168.10.1
DNS=192.168.10.1
users:
- name: core
ssh-authorized-keys:
- ssh-rsa
- groups:
- sudo
- docker
然后执行coreos-install -d /dev/sda -c ./cloud-config.yaml,安装过程中会联网下载最新版的镜像文件,若干分钟后装好重启就能用了。
###2.集群
CoreOS默认安装了etcd和fleet,组集群的方式有多种:
-
每台机的配置文件配置相同的
discovery: https://discovery.etcd.io/<mytoken>,这个token值可以到这个地址获取新的。 -
主机上只需配置address和peer-address,其他的机器上增加一个peers指向主机的peer-address。
-
另外还有其他的方式比较复杂,我也没有尝试。
配置好集群后,在任意一台机可以启动容器,集群会自动安排容器运行在哪里,如果那台机被关闭了会自动在另一台启动相同的容器。