裸机通过iso安装CoreOS,个人趟了很多坑,以下就是完整的从零开始部署和配置的过程,希望对大家有用。
一、安装CoreOS到硬盘
1. 准备Live iso镜像,制作好usb启动盘
2. 搭建Apache Server服务
配置Apache可以访问静态文件
在访问的根路径(win下为htdocs/)下创建名为1745.7.0的目录
3. 下载安装镜像和sig签名文件
coreos_production_image.bin.bz2
coreos_production_image.bin.bz2.sig
将这两个文件放到1745.7.0的目录下
4. 写好cloud-config.yaml
我们简单化,不用配置etcd集群。
#cloud-config
hostname: coreos
users:
- name: core
ssh-authorized-keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwKMzeSX8iavwLGuok.....
- groups:
- sudo
- docker
其中ssh-authorized-keys是无密码登陆必须配置的密钥对,我们可以通过Bitvise SSH Client客户端中的Client Key Manager功能来生成(导出Public Key),然后复制公钥串值到ssh-rsa后面,注意中间有一个空格。
网络我们安装后再配置也行,或者在cloud-config.yaml中配置好也行
#cloud-config
hostname: coreos
users:
- name: core
ssh-authorized-keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwKMzeSX8iavwLGuok.....
- groups:
- sudo
- docker
networkd:
units:
- name: 10-static.network
contents: |
[Match]
Name=enp0s3
[Network]
Address=192.168.57.102/24
- name: 20-dhcp.network
contents: |
[Match]
Name=enp0s8
[Network]
DHCP=yes
将这个文件放到htdocs目录下
5. 裸机启动CoreOS Live并进行安装
下载自己搭建的Apache服务器(ip:192.168.1.100)上的cloud-config.yaml文件
wget http://192.168.1.100/cloud-config.yaml
执行安装
sudo coreos-install -d /dev/sda -b http://192.168.1.100 -c ./cloud-config.yaml
安装完成后,重启机器,从硬盘启动即可。
二、配置CoreOS
1. SSH密钥登陆
查看IP,然后通过用户名(core)+私钥(之前生成的)进行登陆
2. 设置root密码
登陆后,执行命令修改root密码
sudo passwd root
3. 配置网络
配置文件路径:/etc/systemd/network/
静态IP配置文件(没有的话,自行创建):10-static.network
[Match]
Name=en*
[Network]
DNS=192.168.3.1
Address=192.168.3.200/24
Gateway=192.168.3.1
动态IP配置文件(没有的话,自行创建):20-dhcp.network
[Match]
Name=en*
[Network]
DHCP=yes
更新后需要重启网络服务
sudo systemctl restart systemd-networkd
4. 其他一些常用命令
sudo hostnamectl set-hostname coreos1 #修改主机名
setenforce 1/0 #开启关闭SELinux
getenforce #查看SELinux状态
timedatectl #查看系统时间
timedatectl list-timezones #查看支持的时区列表
timedatectl set-timezone Asia/Shanghai #设置时区为上海