how to set up minimal cluster coreos on digtalocean
更新日期:
如何在 digtalocean 搭建一个最小的,coreos 集群(3台主机)。
digtalocean 是一个云主机提供商,我用了1年多了,感觉还是不错的。
打个广告,弹性配置,最低端配置,只要30元1个月,平均1天1元。现在 点击这里 还可以获取60元,即免费使用2个月。
配置过程
官网教程 : 点击这里
申请token
Step 1.首先打开浏览器,输入 https://discovery.etcd.io/new
,后你会获得一串英文。
这串英文叫 token,一定!一定!要保存好,它是一个世界全局唯一的一个 集群id ,要搭建集群就靠它了。
保存模板
Step 2. 保存一个模板文件,这个模板文件,用来初始化CoreOS的安装。注意,这个文件一定要高度一致,即3个主机所用的文件是一模一样的,我就是由于文件不一致,导致1台主机没加入到集群中,又重新删掉掉队的主机,又重新生成了一次……
1 | #cloud-config |
选择系统
Step 3. 操作系统选择“CoreOS”,并把上面文件的内容,在 “Settings”的“Enable User Data”选项卡中黏贴。
设置ssh
Step 4. 由于CoreOS是需要初始化用 ssh key来登录的,因此,你需要先在digtalocean里,添加自己的ssh-key。然后此处勾选上
你希望使用的ssh-key。当CoreOS安装完成后,它会把你这里勾选的ssh-key,放到 ~/.ssh/authorized_keys
里。
部署
Step 5.点击完成,等30秒,CoreOS就安装完毕了,反复把3台主机都建好。
登录
Step 6.利用SercurtCRT,登录刚才初始化好的CoreOS。SercurtCRT的使用就不说了,说一下跟平时登录其他linux不同的地方。
CoreOS是不支持用户名密码登录的(起码我没有发现…),是需要用ssh-key登录,因此需要在 SercurtCRT 的 “session options” 配置里,
将”publicKey”放到首位,而不是 “Password”。
同时,要 Edit,选择自己的 public key
PS:怎么验证集群已经搭建好了呢?下一篇blog会讲,CoreOS的2大组件,etcd和fleet,到时候就知道了。
小技巧
1.由于CoreOS是只读的ROOT,默认的 .bash_profile 和 .bashrc 都是 ln 到 root上的,因此需要在~下执行
1 | cp $(readlink .bashrc) .bashrc.new && mv .bashrc.new .bashrc |
然后编辑 .bashrc
1 | alias ll='ls -alF' |
2.CoreOS的 nsenter 跟CentOS 的脚本不一样,所以要进入docker 容器,需要用下面的脚本。在Docker 1.3中有 exec功能,可以直接进入容器,简单方便。
1 | #!/bin/sh |