先在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[实际占用])