實例自定義數據
更新時間 2025-03-06 17:56:52
最近更新時間: 2025-03-06 17:56:52
分享文章
本節主要介紹實例自定義數據的定義,以及如何將自定義數據傳入實例、查看自定義數據、修改自定義數據等。
實例自定義數據
實例自定義數據是指用戶給虛擬機實例上傳的腳本、指令或配置文件等數據,用于管理實例的啟動行為或對實例進行一些基礎配置,如:完成自動化運維腳本、安裝/卸載/更新軟件或補丁、設置用戶名及密碼等。
注意實例必須使用公共鏡像或基于公共鏡像創建的自定義鏡像,或者確保自定義鏡像中已經安裝cloud-init相關組件。
創建虛擬機設置自定義數據
- 登錄ECX控制臺。
- 單擊左側【邊緣虛擬機>實例】導航欄。
- 對于普通線上用戶,點擊【新建實例】;對于線下用戶,點擊【新建實例>指定區域開通】。
- 在“高級選項”中設置實例自定義數據,虛擬機創建完成啟動后,即可生效,其中目前支持的自定義數據類型及格式要求,詳見自定義數據格式。
已有虛擬機設置自定義數據
- 登錄ECX控制臺。
- 單擊左側【邊緣虛擬機>實例】導航欄。
- 在虛擬機列表找到目標實例,操作列依次點擊【更多>實例管理>自定義數據】,編輯完成后點擊【確認】,其中目前支持的自定義數據類型及格式要求,詳見自定義數據格式。
- 找到目標實例,重裝虛擬機操作系統,即可為已有虛擬機設置自定義數據。
注意為已有虛擬機設置實例自定義數據需重裝后才可生效。
查看實例自定義數據
- 登錄ECX控制臺。
- 單擊左側【邊緣虛擬機>實例】導航欄。
- 在虛擬機列表找到目標實例,操作列依次點擊【更多>實例管理>自定義數據】,即可查看該實例設置的自定義數據。
修改實例自定義數據
- 登錄ECX控制臺。
- 單擊左側【邊緣虛擬機>實例】導航欄。
- 在虛擬機列表找到目標實例,操作列依次點擊【更多>實例管理>自定義數據】,編輯完成后點擊【確認】。
- 找到目標實例,重裝虛擬機操作系統,修改后的自定義數據即可生效。
注意修改實例自定義數據需重裝虛擬機才可生效。
自定義數據格式
- Linux虛擬機僅支持Shell腳本或cloud-config腳本。
- Windows虛擬機僅支持bat腳本或PowerShell腳本。
- 目前最大支持32KB。
User-Data腳本
User-Data腳本傳入Linux實例后直接作為Shell腳本執行,且僅在實例首次啟動時運行一次,即創建成功、重裝成功首次啟動運行一次,重啟不再運行。
- 以#!開頭。
腳本示例:
#!/bin/sh
echo "Hello World. The time now is $(date -R)!" | tee /root/userdata.txt
腳本效果為在實例首次啟動時,在userdata.txt文件中寫入系統時間。
cloud-config腳本
創建ECX虛擬機時,可以通過cloud-config腳本設置實例自定義數據,自定義指定需要執行的cloud-init功能模塊及對應任務。
cloud-config的模塊設置里提供兩種運行頻率設置,其中once-per-instance僅在實例首次啟動時運行,always在實例每次啟動都運行。
- 首行為#cloud-config。
- 起始位置不能有空格。
- 遵循YAML語法。
腳本示例:
#cloud-config
bootcmd:- echo "Hello World. The time now is $(date -R)!" | tee /root/cloudconfigdata.txt
腳本效果為實例每次啟動時,在cloudconfigdata.txt文件中寫入系統時間。
bat腳本
bat腳本僅在實例首次啟動運行一次,重啟不會再執行。
- 首行為[bat]。
- 起始位置不能有空格。
- 只能輸入半角字符。
- 寫入數據的路徑不能為C:\Users目錄,否則自定義數據會執行失敗。
腳本示例:
[bat]
echo "bat data test" > C:\batdata.txt
腳本效果為實例首次啟動時向batdata.txt寫入“bat data test”。
PowerShell腳本
PowerShell腳本僅在實例首次啟動運行一次,重啟不會再執行。
- 首行為[powershell]。
- 起始位置不能有空格。
- 只能輸入半角字符。
- 寫入數據的路徑不能為C:\Users目錄,否則自定義數據會執行失敗。
腳本示例:
[powershell]
echo "powershell data test" > C:\powershelldata.txt
腳本效果為實例首次啟動時向powershelldata.txt寫入“powershell data test”。