1,677 瀏覽數

安裝 CoreOS – 設定 Hostname

先來看一下 cloud-config.yaml 關於 Hostname 的設定檔.

#cloud-config
hostname: coreos1
# include one or more SSH public keys
ssh_authorized_keys:
  - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5wZYPD/mBs+9O9CrUxdg9kpOus24VrMuNncdt4BRc4iF5npV90HYe5j/y3IG6+2MRbAb2edyf/FUcaJHN/V+i123456yuqyAT2rv9T0eB2+wpmYCUQzqZscJP2uLK8jMhezKWS0l7X5CgJf+d17VooS6CADR9MyTbku3upKp5yEnsCfB+pBLGdrqCUTnGHPfJcLTBIvuMriz/kae0azxcderfbw7YWR8oKdWjKYKlznnBmH6VYFcgv/jSXbRbdZjKNSXIm2xIj6TIIJmo6sWhptcGohi467ODyrzCDioXD1MsYx6ImTMcY5mzL2RDePAW7CM4gWIMaIxDeL5e10SX ben@appledeAir

這個設定檔只有 hostname 與 ssh-rsa (ssh_authorized_keys 預設的使用者為 core ) 關於 SSH-RSA 請參考 http://benjr.tw/96318

Hostname

設定 hostname 為 coreos1 ,沒有設定就會使用預設 localhost 為 Hostname.

CoreOS 光碟開機後就進入文字模式,直接透過指令 #coreos-install 來安裝.這次有透過 -c 來指定 cloud-init config .

core@localhost ~ $ # sudo coreos-install -d /dev/sda -C stable -c ~/cloud-config.yaml
2016/12/21 09:41:12 Checking availability of "local-file"
2016/12/21 09:41:12 Fetching user-data from datasource of type "local-file"
Downloading the signature for https://stable.release.core-os.net/amd64-usr/1185.3.0/coreos_production_image.bin.bz2...
2016-12-21 09:41:14 URL:https://stable.release.core-os.net/amd64-usr/1185.3.0/coreos_production_image.bin.bz2.sig [543/543] -> "/tmp/coreos-install.fmCj9mKD5k/coreos_production_image.bin.bz2.sig" [1]
Downloading, writing and verifying coreos_production_image.bin.bz2...
...
Success! CoreOS stable 1185.3.0 is installed on /dev/sda
core@localhost ~ $ sudo reboot

使用的參數:
-d ( DEVICE ) – Install CoreOS to the given device.
-C ( CHANNEL ) – Release channel to use (e.g. stable, beta)
-c ( CLOUD ) – Insert a cloud-init config to be executed on boot.

重開機後就可以透過 SSH 來連線.

安裝完之後想修改 CoreOS hostname ,請使用下面指令來修改.需要重開機才會生效.

core@localhost ~ $ sudo hostnamectl set-hostname coreos1
core@localhost ~ $ sudo reboot
core@coreos1 ~ $

臨時性的修改可以透過下面的 指令+修改設定檔 來暫時修改,但重開機就會失效.

core@coreos1 ~ $ vi ~/cloud-config.yaml
#cloud-config
hostname: coreos001
# include one or more SSH public keys
ssh_authorized_keys:
  - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5wZYPD/mBs+9O9CrUxdg9kpOus24VrMuNncdt4BRc4iF5npV90HYe5j/y3IG6+2MRbAb2edyf/FUcaJHN/V+i123456yuqyAT2rv9T0eB2+wpmYCUQzqZscJP2uLK8jMhezKWS0l7X5CgJf+d17VooS6CADR9MyTbku3upKp5yEnsCfB+pBLGdrqCUTnGHPfJcLTBIvuMriz/kae0azxcderfbw7YWR8oKdWjKYKlznnBmH6VYFcgv/jSXbRbdZjKNSXIm2xIj6TIIJmo6sWhptcGohi467ODyrzCDioXD1MsYx6ImTMcY5mzL2RDePAW7CM4gWIMaIxDeL5e10SX ben@appledeAir

core@coreos1 ~ $ sudo coreos-cloudinit --from-file ~/cloud-config.yaml 
2017/01/23 01:44:26 Checking availability of "local-file"
2017/01/23 01:44:26 Fetching user-data from datasource of type "local-file"
2017/01/23 01:44:26 Fetching meta-data from datasource of type "local-file"
2017/01/23 01:44:26 Parsing user-data as cloud-config
2017/01/23 01:44:26 Merging cloud-config from meta-data and user-data
2017/01/23 01:44:26 Set hostname to coreos001
2017/01/23 01:44:26 Authorized SSH keys for core user
2017/01/23 01:44:26 Ensuring runtime unit file "etcd.service" is unmasked
2017/01/23 01:44:26 Ensuring runtime unit file "etcd2.service" is unmasked
2017/01/23 01:44:26 Ensuring runtime unit file "fleet.service" is unmasked
2017/01/23 01:44:26 Ensuring runtime unit file "locksmithd.service" is unmasked
core@coreos1 ~ $ logout
Connection to 172.16.15.129 closed.

透過 ssh 重新遠端連線,登入後會發現 hostname 變不一樣了.

appledeAir:~ ben$ ssh core@172.16.15.129
Enter passphrase for key '/Users/ben/.ssh/id_rsa': 
Last login: Mon Jan 23 01:51:08 UTC 2017 from 172.16.15.1 on pts/0
Container Linux by CoreOS stable (1235.6.0)
core@coreos001 ~ $

One Reply to “安裝 CoreOS – 設定 Hostname”

  1. 自動參照通知: CoreOS 設定檔 – Benjr.tw

發表迴響