[Linux] 非雲環境的Ubuntu主機如何關閉Cloud-init


cloud-init簡介
  是為解決雲環境中,對新建虛擬機的初始化配置問題,所提供的一個解決方案,若你的非雲環境,完全可以關閉它。

  它能做什么?

  它可以通過元數據服務來為批量創建的虛擬機設置主機名,配置創建什么用戶,用戶的密碼,設置root是否能ssh登錄,配置啟動VM時,安裝什么軟件,以及執行什么腳本,甚至磁盤如何分區,分多大,格式化為什么文件系統,是否可自動增長等等,它都可以通過定義配置文件來實現。

  它的基本工作原理:

  local階段
    首先cloud-init-local 服務在開機時,最先啟動,它會試圖從元數據服務哪里獲取IP的配置信息,若沒有找到IP信息,就設置為dhcp自動獲取IP,需要注意: 元數據服務有很多種,似乎每個廠家的規則還不太相同,這個不是很確定,具體有哪些元數據服務可用,可查看 dpkg-reconfigure cloud-init 這是Ubuntu或Debian系統中的查看方法,其它還需自行查詢。在ubuntu上,默認啟用了所有元數據服務,若你是VMware安裝的Ubuntu虛擬機,那默認將使用本地的元數據服務,即/var/lib/cloud/seed/ 下面的本地磁盤文件來存儲安裝系統時,根據你的設置,自動生成的元數據配置文件信息。
  init, config, 和 final階段:

    接着根據/etc/cloud/cloud.cfg 定義的,此三個階段分別要執行的任務,其中每個任務都是以模塊(module)形式設置的。
    虛擬機啟動時 ,所有定制化項目都可在這三個階段設置,但每個配置項,具體要做什么,就是由metadata(元數據)來決定了。
    如: cloud.cfg 中指定了 set_hostname 這個 module,則意味着 cloud-int 會設置 instance(虛擬機) 的主機名,而具體設置成哪個主機名則由 metadata 中 hostname 參數決定。

非雲環境的Ubuntu主機如何關閉Cloud-init:

  systemctl disable cloud-init-local cloud-init cloud-config cloud-final
  systemctl stop cloud-init-local cloud-init cloud-config cloud-final


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM