开篇一张图
Docker基本知识掌握后,又学习了“专有的系统平台”,CoreOS;
之前一直Windows,学习Docker的同时练习了好多Linux知识,全是江湖路数,那个不懂就百度/google;
CoreOS安装后,开局提示语就悲催了,2020年过期?
其实,我是先知道的Fedora CoreOS,又知道的CoreOS;园子里先出的Fedora CoreOS的新闻,当时第一时间下载下来安装;
从网上找资料,全是CoreOS资料,稀里糊涂装好CoreOS;才发现跟FedoraCoreOS不是一个;尤其下载FedoraCoreOS的vmware虚拟机的包,按照CoreOS的方法一直么有搞定;还是ISO安装CoreOS成功后,明白了区别,又返回来搞定的;
其中好多关键知识请教了团队的Linux管理员;
正文开始如下:
1.准备清单:
1.1. 下载FedoraCoreOS(下文就不多写在这个词了)ISO,
这个是live光盘版,类似winpe,先启动起来;CoreOS不支持类似windows的直接光盘的安装方式;
1.2. 下载raw安装包,再加上配套的***.sig验证文件;
文件名类似“fedora-coreos-31.20200210.3.0-metal.x86_64.raw.xz” 469m左右;
“ fedora-coreos-31.20200210.3.0-metal.x86_64.raw.xz.sig” 几百字节,很小;
1.3. windows系统的话,准备hhs,mac ,python简单代码,做http 文件服务器;
不支持直接安装,仅支持通过命令,从网上安装,如果默认直接从官网下载,
如果下载下来,本地做http文件服务器,指定raw文件url进行安装;
1.4. 准备fcct,配置文件转换程序;
要把 cloud-init yaml格式配置文件,通过fcct转换成ignition格式;
从官网测试fcct命令工具,一直么有成功;
从fcct git 介绍,通过 fcct-online的docker,运行成web转换网页版,成功;
以上准备好,稍微啰嗦,几乎把遇到的坑都给填上了;
2. 开始安装,
2.1. 编写 配置文件,
官网示例如下:
variant: fcos
version: 1.0.0
passwd:
users:
- name: root
password_hash: $6$rounds=****这里的密码其实就是字符1,mac/linux命令行生成,windows的没用到;
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc*****xsshel工具生成公钥,mac/linux可以命令行生成;
2.2 生成 ignition的json字符串,存成json文件;用的是fcct的docker生成web界面;
以上的配置文件转换后如下:
{
"ignition": {
"config": {
"replace": {
"source": null,
"verification": {}
}
},
"security": {
"tls": {}
},
"timeouts": {},
"version": "3.0.0"
},
"passwd": {
"users": [
{
"name": "root",
"passwordHash": "$6$rounds=4096$JXkC6Kgm************",
"sshAuthorizedKeys": [
"ssh-rsa ********************"
]
}
]
},
"storage": {},
"systemd": {}
}
2.3 通过上面的live的iso,启动虚拟机,进入界面;
2.4 启动简单的http文件服务,把以上的raw.xz,**.sig,**.json 3个文件放在一个文件夹;官网没有,用上面的,windows htt工具,mac 用python命令行;
2.4 把上面的json下载到本地 官网有
curl -LO http://***:8000/ignition.json //你转换好的的json文件
2.5 安装命令 官网有
sudo coreos-installer install /dev/sda --ignition ignition.ign 你下载到本地的json文件
以上这个命令,直接从官网下载raw安装包,网速快直接运行就好;
本地以上建的http文件服务器安装如下
sudo coreos-installer install /dev/sda --ignition ignition.ign –u http://***:8000/fco.raw.xz //这里全要手敲,我把名字改短了;
很快,1分钟内安装OK;
reboot重启,进入的就是本地系统了;
3 登录系统
3.1 开机界面如下:
3.2 登录方式,CoreOS默认不支持直接登录,Fedora CoreOS 测试,可以直接登录;推荐是远程ssh+公钥登录;
用户/密码不支持远程登录,不知道修改后是不是支持;
3.3 远程登录,这里用的FinalShell,(不支持公钥空密码登录,必须对公钥设定密码)空密码试了几次都不成功;
要注意的 1 是用户名,就是以上配置文件中的用户名;2 是公钥,就是配置文件中的公钥的文件;3 是 公钥要设密码;
登录界面上是“私钥”,其他生成公钥的教程,多事公钥;公钥 vs 私钥,哎;
打完收工,登录上去了,开始浪吧;
留个小坑,官网教程有设定 固定IP的配置文件示例,是成功不了的,默认一直是自动分配IP;
我搞了小2天,还是请教了Linux管理员搞定,你们看看坑再哪里,hahahahhaha