共計 1792 個字符,預計需要花費 5 分鐘才能閱讀完成。
本篇文章給大家分享的是有關 cloud-init 典型應用是怎樣的,丸趣 TV 小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。
丸趣 TV 小編介紹幾個 cloud-init 的典型應用:設置 hostanme,設置用戶初始密碼,安裝軟件。
設置 hostname
cloud-init 默認會將 instance 的名字設置為 hostname。但這樣不太方便,有時希望能夠將二者分開,可利用 cloud-init 的 set_hostname 模塊實現。set_hostname 它會查詢 metadata 中 hostname 信息,默認值就是 instance 的名字。我們可以指定自己的 hostname,方法是將下面的內容傳給 cloud-init:
#cloud-config
hostname: my1.cloudman.cc
manage_etc_hosts: true
說明如下:
cloud-init 只會讀取以 #cloud-config 開頭的數據,所以這一行一定要寫對。
hostname: my1.cloudman.cc 告訴 cloud-init 將 hostname 設置為 my1.cloudman.cc。
manage_etc_hosts: true 告訴 cloud-init 更新 /etc/hosts 文件。
接下來的問題是:如何將這些信息傳給 cloud-init?
有三幾種方法:
① instance 部署時,直接將其粘貼到 Customization Script 輸入框中。
② 將其保存為文件,instance 部署時上傳(上圖 ② 所示)。
③ 將其保存為文件,命令行 nova boot 或者 openstack server create 部署 instance 時,使用參數 –user-data 傳入。
部署成功后,hostname 正確設置,/etc/hosts 也相應更新。
定制用戶初始密碼
官方的 cloud image 默認只能通過 ssh key 登錄。我們可以利用 set-passwords 模塊為用戶設置密碼并啟用密碼登錄。需要傳入的腳本如下:
#cloud-config
chpasswd:
list: |
root:123456
ubuntu:123456
expire: false
ssh_pwauth: true
說明如下:
root 和 ubuntu 用戶密碼設置為 123456。
ssh_pwauth 啟用密碼登錄。
instance 啟動后 ssh 驗證
ubuntu 用戶 ssh 密碼登錄成功,并且可通過密碼切換到 root。
安裝軟件
標準鏡像中不可能包含我們需要的所有軟件,定制安裝是不可避免的。一個辦法是部署完后手動安裝,另一個辦法是通過 package-update-upgrade-install 模塊讓 cloud-init 自動為我們安裝。
需要傳入的腳本如下:
#cloud-config
apt:
primary:
– arches: [default]
search:
– http://1.2.3.4
packages:
– pwgen
– pastebinit
– [libpython2.7, 2.7.3-0ubuntu3.1]
說明如下:
apt 指定安裝源的位置,這里為 http://1.2.3.4 。如果是 yum 源則用 yum_repos 模塊指定,具體用法可參看官網文檔。
packages 指定需要安裝的軟件包,還可以指定具體版本。
instance 啟動后可看到 /etc/apt/sources.list 中安裝源已經更新為 http://1.2.3.4。
由于 http://1.2.3.4 不是一個有效的 apt 源,安裝肯定會失敗,我們可以在 /var/log/cloud-init.log 看到失敗的信息。
雖然失敗了,但我們至少可以確定如下事情:
傳入的腳本是有效的,cloud-init 確實在嘗試安裝指定的軟件。
/var/log/cloud-init.log 會完整地記錄 cloud-init 運行的所有細節,是 debug 最重要的工具。
cloud-init 的模塊眾多,功能很全,是實現 instance 定制的神器。
以上就是 cloud-init 典型應用是怎樣的,丸趣 TV 小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注丸趣 TV 行業資訊頻道。