本節說明如何使用 cloud-init 套件來處理執行個體的早期初始化。
關於 cloud-init
cloud-init 是一項 Linux 套件,負責處理執行個體的早期初始化。如果在發行版中可用,它可讓您在安裝後直接設定執行個體的許多一般參數。這會建立根據一系列輸入進行設定的完整功能執行個體。
cloud-init 的行為可透過 user-data 進行設定。user-data 可在執行個體啟動時由使用者指定。這通常是透過連結 cloud-init 將在第一次開機時所尋找 ISO 格式的次要磁碟來完成。此磁碟包含將在當時套用的所有早期組態資料。
SD-WAN Orchestrator 支援 cloud-init,且可將所有的基本組態封裝在 ISO 映像中。
建立 cloud-init 中繼資料檔案
最終安裝組態選項是使用一對 cloud-init 設定檔進行設定。第一個安裝組態檔案包含中繼資料。請使用文字編輯器建立此檔案,並將其標示為 meta-data。此檔案提供可識別所安裝 SD-WAN Orchestrator 執行個體的資訊。instance-id
可以是任何識別名稱,而 local-hostname
應為符合您的站台標準的主機名稱,例如:
instance-id: vco01 local-hostname: vco-01
此外,您也可以指定網路介面資訊 (例如,網路並非透過 DHCP 設定):
instance-id: vco01 local-hostname: vco-01 network-interfaces: | auto eth0 iface eth0 inet static address 10.0.1.2 network 10.0.1.0 netmask 255.255.255.0 broadcast 10.0.1.255 gateway 10.0.1.1
建立 cloud-init user-data 檔案
第二個安裝組態選項檔案為使用者資料檔案。此檔案提供系統上使用者的相關資訊。使用文字編輯器建立此檔案,並將它命名為 user-data。此檔案將用於啟用 SD-WAN Orchestrator 安裝的存取權。 以下是 user-data 檔案外觀的範例:
#cloud-config password: Velocloud123 chpasswd: {expire: False} ssh_pwauth: True ssh_authorized_keys: - ssh-rsa AAA...SDvz [email protected] - ssh-rsa AAB...QTuo [email protected] vco: super_users: list: | [email protected]:password1 remove_default_users: True system_properties: list: | mail.smtp.port:34 mail.smtp.host:smtp.yourdomain.com service.maxmind.enable:True service.maxmind.license:todo_license service.maxmind.userid:todo_user service.twilio.phoneNumber:222123123 network.public.address:222123123 write_files: - path: /etc/nginx/velocloud/ssl/server.crt permissions: '0644' content: "-----BEGIN CERTIFICATE-----\nMI….ow==\n-----END CERTIFICATE-----\n" - path: /etc/nginx/velocloud/ssl/server.key permissions: '0600' content: "-----BEGIN RSA PRIVATE KEY-----\nMII...D/JQ==\n-----END RSA PRIVATE KEY-----\n" - path: /etc/nginx/velocloud/ssl/velocloudCA.crt
password
和
chpasswd
行啟用。
password
包含 vcadmin 使用者的純文字密碼。chpasswd
行會關閉密碼到期,以避免第一次登入時立即提示使用者進行密碼變更。此為選用操作。
ssh_pwauth
行會啟用 SSH 登入。ssh_authorized_keys
行的開頭會是一或多個授權金鑰的區塊。ssh-rsa
行上列出的每個公用 SSH 金鑰將新增至 vcadmin ~/.ssh/authorized_keys 檔案。
在此範例中會列出兩個金鑰。針對此範例已截斷金鑰。在實際檔案中,必須列出整個公開金鑰。請注意,ssh-rsa
的行前端必須加上兩個空格,後面接著一個連字號,再接著另一個空格。
vco
區段會指定已設定的 SD-WAN Orchestrator 服務。
super_users
包含 VMware 超級操作員帳戶和對應密碼的清單。
system_properties
區段會允許自訂 Orchestrator 系統內容。如需有關系統內容組態的詳細資料,請參閱系統內容。
write_files
區段會允許取代系統上的檔案。依預設,系統會使用自我簽署的 SSL 憑證來設定
SD-WAN Orchestrator Web 服務。如果您想要提供不同的 SSL 憑證,上述範例會以使用者提供的檔案取代
/etc/nginx/velocloud/ssl/ 資料夾中的
server.crt 和
server.key 檔案。
建立 ISO 檔案
完成檔案後,您必須將其封裝為 ISO 映像。此 ISO 映像用作虛擬機器的虛擬組態 CD。此 ISO 映像 (稱為 vco01-cidata.iso) 是在 Linux 系統上使用下列命令所建立:
genisoimage -output vco01-cidata.iso -volid cidata -joliet -rock user-data meta-data
將新建立的 ISO 映像傳輸到執行 VMware 之主機上的資料存放區。