先在Linode安装Core OS,然后临时设置一个密码.
然后使用core用户登录(CoreOS不能用root登录.),得到如下界面.
网上很多教程都说怎么改系统文件,其实,这是不对的,官方推荐用Cloud-Config,下面我放一个例子出来,注意修改你自己的IP和公钥.
这个文件保存成cloud-config.yml,对,他是YAML格式的.
#cloud-config
# 修改主机名称
hostname: coreos-01
# 将主机名称在/etc/hosts里解析为127.0.0.1
manage_etc_hosts: localhost
# 此处的ssh_authorized_keys只对core用户生效
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAIAQC/4[.......]Hw== admin@lijingquan.net
write_files:
- path: /etc/ssh/sshd_config
permissions: 0600
owner: root
content: |
# Use most defaults for sshd configuration.
UsePrivilegeSeparation sandbox
Subsystem sftp internal-sftp
PermitRootLogin no
AllowUsers core
PasswordAuthentication no
ChallengeResponseAuthentication no
X11Forwarding no
PubkeyAuthentication yes
Protocol 2
ChallengeResponseAuthentication no
# 更新coreos系统服务
coreos:
# 系统自动更新后重启,安全性更好,关闭就业务SLA保证.
update:
reboot-strategy: reboot
# 更新systemd units
units:
# 之前更新了/etc/ssh/sshd_config,启动服务生效;若服务已启动则使用`reload`
- name: sshd.service
command: restart
- name: swap.service
command: start
content: |
[Unit]
Description=Turn on swap
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/sh -c "/sbin/swapon /dev/sdb"
ExecStop=/usr/bin/sh -c "/sbin/swapoff /dev/sdb"
[Install]
WantedBy=multi-user.target
# 设置系统时区
- name: localtime.service
command: start
content: |
[Unit]
Description=Set Local TimeZone
[Service]
ExecStart=/usr/bin/timedatectl set-timezone Asia/Shanghai
RemainAfterExits=yes
Type=oneshot
# 设置网络,假定本地网卡名称是eth0
- name: 10-eth0.network
content: |
[Match]
Name=eth0
[Network]
Address=172.105.229.197/24
Gateway=172.105.229.1
DNS=139.162.67.5
DNS=139.162.68.5
DNS=139.162.69.5
检查cloud-config.yml文件格式:(当然,如果在墙外,也可以用 https://coreos.com/validate/ 验证.)
sudo coreos-cloudinit -from-file=cloud-config.yml -validate
配置使其生效.
sudo coreos-cloudinit -from-file=cloud-config.yml
如下图:
这个是立即生效的,已经可以用证书登陆了.
另外,让SWAP开机自动挂上,也是很简单.(因为前面创建了这个服务了)
sudo systemctl enable swap.service
实际磁盘占用小于1G(包括引导分区和SWAP),实际内存占用大约(988MB[总量]-590[空闲]-10[缓冲]-325MB[缓存]=63MB[实际占用])