23123 发表于 2016-4-7 09:08:20

VirtualBox中使用CoreOS的ISO镜像安装CoreOS

安装前准备:

在写这篇笔记的时候CoreOS的稳定版本号为:899.15.0,可能您下载的版本会和我不一样。
下载CoreOS的ISO镜像,推荐稳定版:http://stable.release.core-os.net/amd64-usr/current/coreos_production_iso_image.iso
下载CoreOS的安装文件:http://stable.release.core-os.net/amd64-usr/current/coreos_production_image.bin.bz2
下载CoreOS的签名文件:http://stable.release.core-os.net/amd64-usr/current/coreos_production_image.bin.bz2.sig
安装文件和签名文件都是必须下载的。

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

如果您在看我这篇文章的时候已经过了好久了,如果您不嫌弃的话,我这次的版本还有配置文件上传到了360的云盘中供下载:
https://yunpan.cn/cqx66N743UkbH访问密码 8918
(请将下载的配置文件中的XXX改为自己的地址)


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


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



网络配置建议桥接网卡:


在存储中添加刚才下载的ISO镜像。
之后启动CoreOS
进入系统之后首先切换到root用户:

1
sudo -i




查看网络接口名称:


1
ip link




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

1
2
3
4
5
6
7
8
vi /etc/systemd/network/static.network
#添加以下内容

Name=enp0s3

Address=XXX.XXX.XXX.XXX/XX
Gateway=XXX.XXX.XXX.XXX
DNS=XXX.XXX.XXX.XXX




保存,退出。
启用该网络连接:

1
2
systemctl start systemd-networkd
ip link set enp0s3 up




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

1
ping XXX.XXX.XXX.XXX




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

1
2
3
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不要启动,不然端口冲突了。
按照下面的配置:


可以用浏览器访问试试:http://127.0.0.1,成功的话应该显示那几个文件。
好的,继续。
建立系统配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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: |
      
      Name=XXXXXX
      
      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文件,并写入以下内容:

1
2
3
4
5
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中不一样)。
然后在虚拟机中下载并且修改。

1
2
3
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,可以拷贝到当前目录使用:
1
cp /usr/bin/coreos-install coreos-install




同样执行替换BASE_URL的操作。
保存,退出。

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

1
chmod +x coreos-install




最后执行安装命令:


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




成功之后显示Success!


....~~~~...~~>>>~>~.~>~>~>~.哎呀,露馅啦,这个贴图是我用13版本时候的~~~~!!!~~~~~~~@!@!
看一下CoreOS究竟用了多大的空间,将近5G的空间。
重启,去掉光盘,从硬盘启动。
用xshell登陆吧骚年们~!



页: [1]
查看完整版本: VirtualBox中使用CoreOS的ISO镜像安装CoreOS