ECS執行個體建立過程中,預設通過初始化工具自動執行一些預定義的配置任務,例如網路設定、主機名稱設定以及自訂指令碼的執行等。不同類型的作業系統使用的初始化工具會有所不同,對於Linux執行個體,由cloud-init工具負責完成自動初始化,而Windows執行個體則由Vminit工具進行自動初始化。本文將介紹Linux執行個體和Windows執行個體的初始化工具。
cloud-init工具介紹
Linux執行個體通過開源工具cloud-init來完成自動初始化執行個體。更多資訊,請參見cloud-init官方文檔。
在cloud-init中,定義了一系列的模組(Modules)來完成需要執行的任務和配置。每個模組都有名稱、運行頻率、配置參數這三大要素,其中運行頻率表示該模組該在什麼時候運行,通常有兩種運行頻率:
once-per-instance
表示僅在執行個體初次開機時運行;always
表示執行個體每次啟動時都會運行。更多資訊,請參見Module reference。cloud-init通過設定檔
/etc/cloud/cloud.cfg
控制執行個體的初始化行為,例如運行哪些模組。在運行模組時,cloud-init可以從中繼資料服務中擷取執行個體的執行個體ID、主機名稱等中繼資料資訊。以Set Hostname模組為例,執行個體啟動時,cloud-init會讀取中繼資料的主機名稱資訊,並將其設定為執行個體的主機名稱。
阿里雲所有公用鏡像以及基於公用鏡像建立的自訂鏡像已預設安裝cloud-init,通過公用鏡像建立ECS執行個體會自動運行cloud-init,無需再手動安裝。如果您是通過本地製作的自訂鏡像建立ECS執行個體,且鏡像未安裝cloud-init,需要手動安裝cloud-init,具體操作,請參見安裝cloud-init。
Vminit工具介紹
Windows執行個體通過Vminit初始化工具完成自動初始化,該工具本質上是通過順序執行一系列外掛程式來完成系統的初始化配置。其中,部分外掛程式僅在執行個體首次建立並啟動時執行一次,而某些外掛程式則在每次執行個體啟動時均會執行。在使用Windows鏡像建立執行個體的過程中,將預設自動執行Vminit所有外掛程式的初始化功能。
2023年09月份及之後的Windows公用鏡像以及基於公用鏡像建立的自訂鏡像已預設安裝Vminit,通過公用鏡像建立ECS執行個體會自動運行Vminit,無需再手動安裝。如果您是通過本地製作的自訂鏡像建立ECS執行個體,且鏡像未安裝Vminit,需要手動安裝Vminit,保證運行該鏡像的ECS執行個體能成功完成初始化配置。具體操作,請參見安裝Vminit。
目前,Vminit包含10個外掛程式,具體說明見下表。
外掛程式列表
外掛程式名稱 | 執行頻率 | 外掛程式功能 | 說明 |
Plugin_Main_StartDepend | 僅在執行個體初次開機時執行。 | 啟動Windows作業系統的IP Helper服務、DHCP用戶端和Windows時間服務(W32Time) 。 | Windows鏡像預設開啟這些系統服務,但是您可能在自訂鏡像中禁用了這些服務,該外掛程式會開啟這些服務,避免因禁用系統服務導致網路和NTP設定異常。 |
Plugin_Main_OpenRDP | 允許通過遠端桌面連線服務RDP串連執行個體。 | Windows系統預設開啟RDP服務,對于禁用RDP服務的鏡像,該外掛程式會開啟RDP。 | |
Plugin_Main_NetworkClean | 初始化網路設定,系統會使用DHCP方式自動擷取執行個體中所有網卡的IP地址和DNS伺服器設定。 | 如果執行個體中的IP Helper和DHCP服務未正確開啟,可能導致該外掛程式執行失敗,從而無法通過內網訪問執行個體中繼資料。 | |
Plugin_Main_ConfigDisk | 將隨執行個體建立的資料盤進行初始化,包括建立分區、分配盤符等,且分區格式預設為GPT。 |
| |
Plugin_Main_ExtendVolume | 自動檢測Windows系統硬碟的空閑空間,並利用 | 無。 | |
Plugin_Main_CloudinitUserData | 該外掛程式會從阿里雲的中繼資料中擷取您配置的自訂資料,並使用系統的system賬戶執行自訂資料指令碼。 |
| |
Plugin_Main_ConfigHostname | 執行個體每次啟動時都會執行。 | 設定執行個體的主機名稱。在執行個體建立階段,阿里雲會為每個執行個體分配一個主機名稱。如果您在建立執行個體時指定了主機名稱,系統將根據您設定的主機名稱進行配置。否則,阿里雲將自動分配一個隨機的主機名稱。 |
|
Plugin_Main_ConfigWsus | 該外掛程式會從阿里雲的中繼資料中擷取WSUS地址,並配置到執行個體中。如果執行個體的WSUS地址已經配置成阿里雲的WSUS地址,則不會重複配置。 | 該外掛程式依賴內網訪問能力。 | |
Plugin_Main_ConfigKms | 該外掛程式會從阿里雲的中繼資料中擷取KMS地址,配置到執行個體後會進行KMS啟用。如果執行個體KMS已經啟用且KMS相同,則不會重複配置。 | 該外掛程式依賴內網訪問能力。 | |
Plugin_Main_ConfigNtp | 配置NTP時鐘源,用於時間同步。該外掛程式會從阿里雲的中繼資料中擷取NTP伺服器位址,並配置到執行個體中。如果執行個體已經配置了相同的NTP地址,則不會重複配置。 |
|
版本發布記錄
Vminit會不定期發布版本更新,以下為Vminit的版本發布資訊。
Vminit版本 | 發布內容 | 發布日期 |
2.0.1.2 |
| 2024年01月 |
2.0.1.0 | 首次發布,支援外掛程式化可配置。 | 2023年09月 |
相關文檔
您可以在建立執行個體時選擇使用自訂資料來初始化該執行個體。具體操作,請參見自訂執行個體初始化配置。
關於製作鏡像時如何安裝及使用初始化工具,請參見安裝cloud-init,安裝Vminit。