1. 程式人生 > >cloud-init五個階段介紹

cloud-init五個階段介紹

cloud-init五個階段:generator、local、init(network)、config、final 

1.generator階段

  決定cloud-init是否啟動,順序啟動剩餘四個階段服務,按照時間順序分為:cloud-init-local.service, cloud-init.service, cloud-config.service, cloud-final.service。

  cloud-init-local階段主要是執行本地的一些初始化指令碼。cloud-init, cloud-config, cloud-final階段分別執行配置檔案中名為cloud_init_modules、cloud_config_modules、cloud_final_modules下的所有模組,如果模組列表為空,則什麼都不執行。

  各個module的檔案放於/usr/lib/python2.7/site-packages/cloudinit/config/下。

2.local階段

      啟動cloud-init-local.service,相當於執行cloud-init init --local命令

 

       由官網介紹可知:

    local階段的主要任務是查詢各種資料來源並進行網路配置。網路配置來源有:

  • 資料來源(如openstack的config drive,metadata Restful service)
  • fallback: fallback網路相當於dhcp on eth0
  • none.網路配置可以通過在/etc/cloud/cloud.cfg中配置進行禁止           

3.network階段

  啟動cloud-init.service,相當於執行cloud-init init命令。

  此階段執行配置檔案/etc/cloud/cloud.cfg中名為cloud_init_modules下的所有module。

  

 

4. config階段

  啟動cloud-config.service,相當於執行cloud-init mudules --mode config命令。

  此階段執行配置檔案/etc/cloud/cloud.cfg中名為cloud_config_modules下的所有module。

  

 

5.final階段

  啟動cloud-final.service,相當於執行cloud-init mudules --mode final命令。

  此階段執行配置檔案/etc/cloud/cloud.cfg中名為cloud_final_modules下的所有module。

 

 

  

 

參考:

https://blog.csdn.net/Allison_ywt/article/details/51566795#_Toc26897

http://910216.com/archives/cloudinit-startprocess.html

https://cloudinit.readthedocs.io/en/0.7.9/topics/boot.html