CoreOS安装到硬盘

来源:互联网 发布:苹果6s数据连接快捷键 编辑:程序博客网 时间:2024/05/17 00:15
今天记录一下把 coreos 安装到本地硬盘(或者本地虚拟机)的情况。 本例为安装到虚拟机,安装到物理机大同小异。要实现的目标:-在目标主机上安装好coreos,实现可在另外一台电脑上通过ssh进行管理。网络规划:-目标主机: 192.168.16.100/24-控制主机: 192.168.16.10/24准备工作:-生成密钥对,并复制到控制主机的已登入账号家目录下的 ~/.ssh/ 下(此为linux,windows没研究过)-准备一台架设好并开启了http服务的电脑或者服务器(本例中为控制主机),下载以下资料:--下载coreos LiveCD 地址为: http://stable.release.core-os.net/amd64-usr/current/coreos_production_iso_image.iso 这里的livecd只是作为启动引导盘使用,不是实际的安装介质,那个需要后面再行下载(不考虑网速的话可以不下载,直接使用网络资源)。物理主机安装时需要刻录成光盘介质或者U盘介质。我此例使用虚拟机测试,所以只需复制到宿主机上,然后挂载即可。--(可选)下载这个文件 : https://raw.githubusercontent.com/coreos/init/master/bin/coreos-install 。(这个文件在介质启动后,已存在: /usr/bin/coreos-install 。此步为可省略步骤 )--下载 http://stable.release.core-os.net/amd64-usr/current/coreos_production_image.bin.bz2--下载 http://stable.release.core-os.net/amd64-usr/current/coreos_production_image.bin.bz2.sig--将以上两个文件放入到异机可访问的http目录中,目录层次需注意的地方为 http://XXXXX/current/ ,特别注意 /current/ 这个二级的目录不可少,后面指定的版本号中需要用到。--编写 cloud-config.yaml 放在http的根目录中 (文件名可自定义,在后面用到时对应即可。扩展名是否可自定没研究。)(整个文件中不要出现 TAB 键,否则验定通不过,可以在 https://coreos.com/validate/ 里验证所编写的配置文件的正确性。)    本便中的配置文件如下:(把开头的井号替换成英文半角的 shift+3 csdn的博客以井号开头的并不显示)

井号cloud-config
hostname: coreos01
coreos:
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
- name: docker.service
command: start
- name: static.network
content: |
[Match]
Name=enp0s3
[Network]
Address=192.168.16.100/24 #填入IP地址
Gateway=192.168.16.1 #填入网关
DNS=223.5.5.5
DNS=114.114.114.114
users:
- name: coreos
ssh-authorized-keys:
- ssh-rsa AA….. #这里填入ssh-keygen生成id_rsa.pub的内容(在~/.ssh/里面)
- groups:
- sudo
- docker

-安装过程:--livecd引导启动系统,建立安装环境。--sudo passwd root   #修改root用户的密码。--sudo su -root   # 和直接用 su 命令的效果是一样的。--wget http://192.168.16.10/coreos-install 将安装脚本拉到目标主机上。(也可以用后面的命令来代替 cp /usr/bin/coreos-install ./ #复制安装shell脚本到root的home文件夹)--chmod +x coreos-install--wget http://192.168.16.10/cloud-config.yaml #将配置文件拉到目标主机上。--参考文件中有下面括号中的这一步,实测过程中并未起效,可能是我操作有问题:(wget http://192.168.16.10/static.network这个static.network的内容就是配置文件中的关于网络的那一段:    [Match]    Name=enp0s3    [Network]    Address=192.168.16.100/24       #填入IP地址    Gateway=192.168.16.1            #填入网关    DNS=223.5.5.5    DNS=114.114.114.114cp static.network /etc/systemd/network/sudo systemctl restart systemd-networkd)--磁盘准备 分区 格式化 。。。不再详述。 我这里在虚拟机里用到整个 /dev/sda--执行正式安装命令: # ./coreos-install -d /dev/sda -C stable -c cloud-config.yaml -b http://192.168.16.10/ -V current 这里的 -d 是指定安装磁盘 -C 大写C是指定coreos的升级通道 -c 指定配置文件(到这里发现其实这个也可以放在http目录里就好了,没必要下载的,试过了这种方法不被支持,还是得下载) -b 指定baseurl,就是指定安装的二进制文件的存放位置,不考虑网速时可以用官方的网站(http://stable.release.core-os.net/amd64-usr/)代替,-V 指定的是 baseurl后面的下一级目录,这里指定的是current,对应着192.168.16.10/current/,所以这个命令也可以改为 $ sudo coreos-install -d /dev/sda -C stable -c cloud-config.yaml -b http://stable.release.core-os.net/amd64-usr/ -V current参考文章:https://coreos.com/os/docs/latest/installing-to-disk.htmlhttps://coreos.com/os/docs/latest/cloud-config.htmlhttp://blog.csdn.net/chenhaifeng2016/article/details/55004417
原创粉丝点击