您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關instance網卡怎么辦,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
instance 的網卡是如何被配置并拉起的?這是理解和用好 cloud-init 非常關鍵的一步。我們先討論一個最簡單基礎的場景:鏡像中沒有安裝 cloud-init。
此時 instance 啟動時網卡能不能被拉起來完全 靠運氣!是的,就是運氣。
因為這種情況下網卡的配置是死的,完全依賴于鏡像中 /etc/network/interfaces 原有的配置。比如原鏡像中的配置是:
auto eth0
iface eth0 inet dhcp
instance 只有滿足下面所有條件網卡才能被拉起來:
正好只有一塊網卡
正好網卡就叫 eth0
正好 subnet 開了 DHCP
只要出現下面任意一種情況就會失敗:
還有其他網卡,比如 eth2,或者
網卡不叫 eth0 ,比如 ens3,或者
沒有 DHCP
不同 instance 的網絡配置差別很大,在 image 中寫死的方法幾乎是無效的,只能依靠 cloud-init 動態寫入,接下來我們詳細分析 cloud-init 的解決方案。
先考慮 subnet 有 DHCP 服務的情況。
我們使用的鏡像是 ubuntu 的 cloud image,已經預裝的 cloud-init,下載地址為 http://cloud-images.ubuntu.com/ ,國內鏡像http://mirrors.ustc.edu.cn/ubuntu-cloud-images/
部署成功后,登錄 instance,ip a
顯示網卡 ens3
已經正確配置。
下面分析這個 IP 是怎樣配置上去的。
上一節我們討論到,cloud-init 是在 local 階段完成網絡配置的,cloud-init 的執行過程被詳細記錄在 /var/log/cloud-init.log 中,讓我們找找相關操作。
這里可以看到,cloud-init 會做如下工作:
① 掃描出 instance 中的所有網卡(這里是 ens3)
② 獲取該網卡的配置信息。 因為沒有 config drive,無法得知網卡的詳細配置信息,只能采用默認的 fallback 配置,即 dhcp 配置。
③ 將配置信息寫入 /etc/network/interfaces.d/50-cloud-init.cfg,內容為:
這樣網卡就以 dhcp 模式拉起來,正好與 subnet 的 dhcp 服務對接上,IP、網關等信息就配上去了。
幾點說明:
instance 上的每一塊網卡都會被 cloud-init 掃描出來。
如果沒有 config drive 將采用 fallback 配置,將掃描出來的第一塊 (只有這一塊)網卡配置成 dhcp 模式。請注意:這是 cloud-init 默認行為,跟這塊網卡對應的 subnet 是否開啟了 DHCP 沒有任何關系。
cloud-init 會根據 instance 操作系統類型生成網卡配置文件。例如操作系統是 centos 的話則會將配置寫到 /etc/sysconfig/network-scripts 目錄下。
以上就是instance網卡怎么辦,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。