Linode 上手 CoreOS

/ 0评 / 0

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

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注