安装前准备:

在写这篇笔记的时候CoreOS的稳定版本号为:899.15.0,可能您下载的版本会和我不一样。

下载CoreOS的ISO镜像,推荐稳定版:http://stable.release.core-os.net/amd64-usr/current/coreos_production_iso_p_w_picpath.iso

下载CoreOS的安装文件:http://stable.release.core-os.net/amd64-usr/current/coreos_production_p_w_picpath.bin.bz2

下载CoreOS的签名文件:http://stable.release.core-os.net/amd64-usr/current/coreos_production_p_w_picpath.bin.bz2.sig

安装文件和签名文件都是必须下载的。


PS:建议使用迅雷的离线下载,不然这个网站被墙就惨了。


如果您在看我这篇文章的时候已经过了好久了,如果您不嫌弃的话,我这次的版本还有配置文件上传到了360的云盘中供下载:

https://yunpan.cn/cqx66N743UkbH  访问密码 8918

(请将下载的配置文件中的XXX改为自己的地址)


打开VirtualBox新建虚拟机,配置如下:


wKiom1cB0X-AcXLEAABiYw1Jd_4816.png

名称随意了,

内存官网上推荐1G(PS:不能太小了,如果太小ISO镜像加载不成功,出现的症状就是无限次的重启),硬盘官网没有推荐但是在制作CoreOS的VDI硬盘镜像时候有个注释:# Resize virtual disk to 10 GB,所以建议10G大小吧,太小了安装不上。处理器个数看个人电脑情况吧,EFI启动不能使用。

wKiom1cB0zCBj6fmAACwLzwd3UM705.png

网络配置建议桥接网卡:


wKioL1cB1EzQh0v6AAC2HZf2NDU981.png

在存储中添加刚才下载的ISO镜像。

之后启动CoreOS

进入系统之后首先切换到root用户:

sudo -i

查看网络接口名称:

ip link

一般为enp0s3,各位查看一下,记下名称,建立static.network文件

vi /etc/systemd/network/static.network
#添加以下内容
[Match]
Name=enp0s3
[Network]
Address=XXX.XXX.XXX.XXX/XX
Gateway=XXX.XXX.XXX.XXX
DNS=XXX.XXX.XXX.XXX

保存,退出。

启用该网络连接:

systemctl start systemd-networkd
ip link set enp0s3 up

ping一下VirtualBox所在机器的ip地址:

ping XXX.XXX.XXX.XXX

如果成功则继续,如果失败,重新将端口关闭,再打开,之后重启systemd-networkd服务

ip link set enp0s3 down
ip link set enp0s3 up
systemctl restart systemd-networkd

再次ping测试,如果还是不行,看是不是VirtualBox里面的网络设置是不是桥接模式。

另外,个人经历的,我的测试环境是笔记本电脑,系统win10的,有无线路由器360的,但是很不幸,首先是win10防火墙把ping命令禁了,出现的症状就是ping不通我这台笔记本,但是笔记本能ping通别的机器,需要在防火墙中开启回显请求(不会的搜一下有解决办法)。其次,我把360路由器ip/mac地址绑定启用了(不一定是360路由器,其他品牌路由器都有这个功能),所以虚拟机再向外网ping的时候ping不通,这两个问题整了好长时间才解决。另外,再补充下,如果你用的不是win10,也安装了360安全卫士,一定把局域网防护中的局域网隐身功能关闭,不然还是ping不通。事物总是有两面性的,安全了就比较麻烦,方便了又不安全了,我们总是在这两者之间寻找平衡点,这些经验教训拿出来共勉吧!

好的,继续。

下面的步骤需要自建web服务器,原因core-os.net这个网站被墙了,导致了cloud-install安装文件执行失败。

不过我在2016年4月4日登陆的时候这个地址能打开了,很开心,不过我不确定它以后能不能访问,还是用我的办法吧。因为我运行VirtualBox的系统是windows的,所以建立web服务器太简单了(linux和Mac用户可以开启apache或者nginx),下载babyweb软件类似于AWS.exe,这两个哪个都可以,不过本机的IIS不要启动,不然端口冲突了。

按照下面的配置:


wKioL1cB3LbSBVkwAACWzyl3Er8348.png

可以用浏览器访问试试:http://127.0.0.1,成功的话应该显示那几个文件。

好的,继续。

建立系统配置文件:

vi cloud-config.yaml

#添加以下内容,注意将XXX替换为自己的,另外ssh-rsa需要自己登陆coreos的机器生成,windows系统用putty或者xshell都可以,Linux和Mac直接在终端中生成,用#ssh-keygen命令会生成在用户目录下的.ssh目录中。将后缀.pub文件中的内容复制到下面ssh-rsa后面就行了。

#cloud-config

hostname: "coreos1"

ssh-authorized-keys:
  - "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9TJ5ADc8qlOS0HN8alm/Q9Zv5GuO6iQAmdL9a/Zmt16nWJ8wLAZ/glBn5/olSgdHyPRVl4iSYEL3gshCq3YhsOrFpe0w78FXavUfIW0xtNl6CO6UTS+eRJMCqtSqjPzSCPmEJscmUxEnSGCjV+B1wbyPoEIAkNDKhcAqPo9ELEnQerJDNg+GnwZ6r7wipGE1m9ZG6X1pI6QJcuPvbef9MqZu6CG8aCX2z14zxNVPOmook/dk1HWUyB8ZOoZqHGcrRQHl9+vIDSVs2qxlCVLCSdhtCYfGDQs5ycOnD0pQ2BoSznRgoVgLaiJVks+3jxK9qCKpxDW/9jhUJIFXyp/rxQ=="

write_files:
  - path: "/etc/systemd/network/static.network"
    permissions: "0644"
    owner: "root"
    content: |
      [Match]
      Name=XXXXXX
      [Network]
      DHCP=no
      Address=XXX.XXX.XXX.XXX/XX
      Gateway=XXX.XXX.XXX.XXX
      DNS=XXX.XXX.XXX.XXX

coreos:
  etcd:
    addr: "$private_ipv4:4001"
    peer-addr: "$private_ipv4:7001"
  units:
    - name: "etcd.service"
      command: "start"
    - name: "fleet.service"
      command: "start"
    - name: "XXXXXX"
      command: "start"

users:
  - groups:
      - "sudo"
      - "docker"

注意:所有的cloud-config配置文件里面的TAB键是不能被识别的,所以,切记缩进的时候一定使用空格键。

这个网站可以验证cloud-config.yaml配置的正确性:https://coreos.com/validate/

保存,退出。

添加hosts文件,并写入以下内容:

vi /etc/hosts

#将XXX替换为运行VirtualBox的机器的IP地址,

XXX.XXX.XXX.XXX release.core-os.net

保存,退出。

下载安装脚本https://raw.github.com/coreos/init/master/bin/coreos-install

将其拷贝到刚才那几个安装文件所在的目录。

注意:如果是windows用户,新建的文本文档粘贴进去的安装脚本,我不保证能使用,没有试过。建议用editplus、notepad++等,新建之后一定要修改换行符(windows中与linux、Mac中不一样)。

然后在虚拟机中下载并且修改。

wget http://XXX.XXX.XXX.XXX/coreos-install
vi coreos-install
#寻找BASE_URL字段,将引号里面的值修改为http://release.core-os.net/amd64-usr/899.15.0,因为我这几个安装文件都是899.15.0所以后面都写成这个值,如果您下载的和我的版本不一样请将您的版本号替换我的版本号。

如果地址打不开,在虚拟机中也有安装的脚本,位置在:/usr/bin/coreos-install,可以拷贝到当前目录使用:

cp /usr/bin/coreos-install coreos-install

同样执行替换BASE_URL的操作。

保存,退出。

赋予coreos-install文件以执行权限:

chmod +x coreos-install

最后执行安装命令:

./coreos-install -d /dev/sda -C stable -c cloud-config.yaml

成功之后显示Success!

wKiom1cB9xXj_dmnAAAlm6365YQ194.png

....~~~~...~~>>>~>~.~>~>~>~.哎呀,露馅啦,这个贴图是我用13版本时候的~~~~!!!~~~~~~~@!@!

看一下CoreOS究竟用了多大的空间,将近5G的空间。

重启,去掉光盘,从硬盘启动。

用xshell登陆吧骚年们~!