下载vmware版本的CoreOS:
https://stable.release.core-os.net/amd64-usr/current/coreos_production_vmware_ova.ova
登录http://ESXI-IP,我的是6.7试用版。创建虚拟机,创建类型选择“从OVF或OVA文件部署虚拟机”。下一步选择之前下载的ova镜像。
Esxi启动虚拟机。启动时按e,在最后一行末尾添加:coreos.autologin [core用户自动登录],按Ctrl+x或F10启动。这里有个技巧,由于启动vm时,web页里还没完全弹出小窗口,来不及按e就已经进入启动中段了。可以等它启动完成后,再点右上角的“操作”菜单——客户机操作系统——重新启动。这时因为小窗口开着,及时按e就行。
进去系统后修改 core的密码 sudo passwd core,sudo passwd root,然后就可以远程SSH登录了。
切换到root用户:
su - root
配置时区:
timedatectl set-timezone Asia/Shanghai #设置时区为上海
配置主机名:
hostnamectl set-hostname core1
reboot #务必重启,否则配置etcd集群时各个成员ID是一样的,无法建立集群
配置固定IP:
vi /etc/systemd/network/static.network
[Match]
Name=ens192
[Network]
Address=10.3.8.101/24
Gateway=10.3.8.254
DNS=10.1.4.80
重启网卡:
systemctl restart systemd-networkd
配置集群成员主机名解析:
vi /etc/hosts
10.3.8.101 core1
10.3.8.102 core2
10.3.8.103 core3
CoreOS系统的etcd服务是etcd-member.serivce,默认没有启动,我们需要修改这个服务,加入集群配置。复制/usr/lib/systemd/system/etcd-member.service到/etc/systemd/system/并修改之:
sudo cp /usr/lib/systemd/system/etcd-member.service /etc/systemd/system/
sudo vi /etc/systemd/system/etcd-member.service,修改如下:
ExecStart=/usr/lib/coreos/etcd-wrapper $ETCD_OPTS \
--name="my-etcd-1" \
--listen-peer-urls="http://0.0.0.0:2380" \
--listen-client-urls="http://10.3.8.101:2379,http://127.0.0.1:2379" \
--initial-advertise-peer-urls="http://10.3.8.101:2380" \
--initial-cluster="my-etcd-1=http://10.3.8.101:2380,my-etcd-2=http://10.3.8.102:2380,my-etcd-3=http://10.3.8.103:2380" \
--initial-cluster-state="new" \
--initial-cluster-token="my-etcd-token" \
--advertise-client-urls="http://10.3.8.101:2379"
注意name=“名字”要与initial-cluster=“名字”一致。
创建自动加载服务的软链接:
ln