Ubuntu Server autoinstall cloud-init config file reference
在使用cloud-init建立Ubuntu Server autoinstall ISO過程,需要製作autoinstall的user-data。參考ubunt的Automated Server installer config file reference產出個人的user-data
user-data項目說明
user-data為yaml檔,開頭註明為#cloud-conifg
#cloud-config
# autoinstall 設定項目
autoinstall:
apt:
disable_components: []
fallback: abort
geoip: true
mirror-selection:
primary:
- country-mirror
- arches:
- amd64
- i386
uri: http://archive.ubuntu.com/ubuntu
# uri為apt update sites, 可以依需求更改,資料會寫入/etc/apt/sources.list
- arches:
- s390x
- arm64
- armhf
- powerpc
- ppc64el
- riscv64
uri: http://ports.ubuntu.com/ubuntu-ports
preserve_sources_list: false
codecs:
install: false
drivers:
install: false
# 設定系統帳號, 密碼為加密, 可以使用mkpasswd產出。
identity:
hostname: u22
password: $6$jGYK2yqL/ERewR7A$kGm5GztrXrQPb7L3wa0VAMeaWj/UuJcUVB/M.T.fOkaV8SvFIMdULOfKHyRDkB..85yVsDPJrtpQ3bsj3Rtnt.
realname: bee01
username: bee01
kernel:
package: linux-generic
# 指定鍵盤
keyboard:
layout: us
toggle: null
variant: ''
# 指定語言
locale: en_US.UTF-8
# 網路設定,網路卡依實際名稱設定。設定方式為netplan,可以參考設定。
network:
ethernets:
ens160:
dhcp4: true
version: 2
# 指定安裝系統,可以設定ubuntu-server 或 ubuntu-server-minimal。
source:
id: ubuntu-server
search_drivers: false
# 安裝open SSH server
ssh:
allow-pw: true
authorized-keys: []
install-server: true
# 硬碟分區設定,可以依實際狀況調整
storage:
config:
- ptable: gpt
path: /dev/sda
wipe: superblock-recursive
preserve: false
name: ''
grub_device: true
type: disk
id: disk-sda
- device: disk-sda
size: 1048576
flag: bios_grub
number: 1
preserve: false
grub_device: false
offset: 1048576
path: /dev/sda1
type: partition
id: partition-0
- device: disk-sda
size: 42946527232
wipe: superblock
number: 2
preserve: false
grub_device: false
offset: 2097152
path: /dev/sda2
type: partition
id: partition-1
- fstype: xfs
volume: partition-1
preserve: false
type: format
id: format-0
- path: /
device: format-0
type: mount
id: mount-0
# 指定swap大小,使用檔案格式
swap:
filename: /swap.img
size: 4G
maxsize: 4G
# 安裝 packages, 需確定安裝過程是可以連接網路, 會自動安裝。
# 如果沒有對外網路,自動安裝過程會出錯中斷。
packages:
- chrony
# 主機時區設定
timezone: Asia/Taipei
# 自動安裝前執行的動作,還沒有想到作用
# 可以參考後面示範
early-commands:
- mkdir /data1
- touch /data1/early-commands.txt
# 以上設定都自動安裝後,在自動重新開機前執行的動作
# 預計要執行的指令需 curtin in-target來執行,新的硬碟在安裝過程是掛載至/target
# 以下測試是在/ 建立data2目錄,在/data2目錄建立late-commands.txt檔案
# 可以參考後面示範
late-commands:
- curtin in-target --target /target mkdir data2
- curtin in-target --target /target touch data2/late-commands.txt
# 安裝完成後,第一次自動重開機後,使用rnncmd來執行的動作
# 以下測試是在/ 建立data3目錄,在/data2目錄建立runcmd.txt檔案,並停用開機執行ufw service
# 可以參考後面示範
user-data:
runcmd:
- [ mkdir, /data3 ]
- [ touch, /data3/runcmd.txt ]
- [ systemctl, disable, ufw ]
updates: security
version: 1
安裝示範
early-commands
late-commands
runcmd
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。