實驗目的:
本來一直想使用云主機做實驗的,沒打算在本地安裝虛擬機的,但因為后續準備安裝kubernetes,今天在官網上大概看了下安裝指導,有介紹minikube安裝的,是入門學習使用的,可以安裝在自己筆記本電腦或者臺式機上,需要借助VirtualBox、VMware Workstation、KVM等虛擬化軟件來使用的,所以還是搬出了之前練習過的VirtualBox,先在本地安裝好虛擬機,再試著安裝一下minikube。
實驗準備:
1)Oracle VirtualBox 6.0 軟件
2)centos-7-x86_64-Minimal-2003.iso 鏡像文件
實驗過程:
網上有很多優秀的VirtualBox安裝教程,在此就不過多介紹了,在windows上安裝,基本上就是“下一步”操作即可(建議安裝目錄不要選在C盤),下面就從新建虛擬機和CentOS安裝開始吧。
步驟一:在VirtualBox中新建虛擬機,考慮到CentOS Minimal版本占用資源低,所以我基本采用了系統默認配置,單核CPU+1GB內存+8GB硬盤,網絡部分我選擇 “橋接模式”,基本上滿足了我的需求,可以通過SSH連接虛擬機,虛擬機也可以上網。
步驟二:開始安裝CentOS 7.8 Minimal系統。CentOS系統鏡像可以從官網下載,也可以在阿里云等鏡像倉庫下載,我選擇了后者:http://mirrors.aliyun.com/centos/7/isos/x86_64/ 鏡像文件大概1GB(注意:Minimal版本系統是沒有圖形化界面的,甚至有些常用命令包都沒有,需要后期手動安裝和設置)
選擇好了鏡像文件后,點擊“啟動”,開始虛擬機的安裝。詳細的安裝過程,網上有很多介紹,主要就是一些系統設置,比如時間、語言、自動分區、網絡配置、登錄密碼、訪客賬戶設置等,主要是把帶“!”的設置完成,就可以開始安裝了。安裝完成后選擇重啟。
步驟三:配置虛擬機網絡,通常有“僅主機”、“橋接”、“內部”、“NAT網絡轉換”四種模式,配置起來也是挺費神的(這是我更喜歡用“云主機”做實驗的原因之一),相關概念在網上學習了,但我個人最常用的還是“僅主機”和“橋接”,“僅主機”網卡會設置為靜態IP地址,同時保證“僅主機”這張網卡的網關和本地PC網絡適配器中的Virtual Adapter網關設置一致,否則網絡不通。
按照網上的建議,虛擬機啟動后第一件事情,我就把防火墻和NetworkManager服務給停止,并永久禁用了。
systemctl stop firewalld
systemctl disable firewalld
systemctl stop NetworkManager
chkconfig NetworkManager off
下面以橋接網絡為例:
注意:虛擬機啟動后,通過ip addr查看,可能沒有獲取IP地址,需要啟動NetworkManager服務,才能生效,否則使用systemctl start network.service或service network start命令都會失敗。
systemctl start NetworkManager
ip addr
橋接網絡模式下,虛擬機IP地址和本地PC無線適配器的IP地址在一個網段,默認網關是一致的。
步驟四:驗證虛擬機環境。試著ping一下公網,發現可以通,同時本地PC也可以通過SSH連接到虛擬機上,說明安裝配置成功了。順便把ifconfig, tree, psmisc, vim等命令包也安裝了。
裝好了本地的虛擬機,下一步就準備安裝minikube,看一下用于學習的kubernetes工具是如何使用的。
實驗總結:
1)自己測試了一下“僅主機”、“橋接”、“網絡地址轉換(NAT)”三種網絡模式,網上也看了一些帖子,始終沒能簡單明了的搞清楚這三者的使用場景和本質區別,只分享一下我測試的結果,期待有高人指點。
僅主機Host-only模式:網卡配置靜態IP地址、子網掩碼、默認網關,本地PC可以ping通虛擬機,也可以通過SSH連接到虛擬機上,但虛擬機ping不通VirtualBox Host-Only Network的IP地址,也就是默認網關,實在沒想明白到底是正確還是錯誤。
橋接網絡模式:網卡配置dhcp,自動獲取IP地址,且IP地址與本地PC無線網絡適配器IP地址在一個網段,本地PC既可以ping通虛擬機,也可以通過SSH連接到虛擬機,而虛擬機既可以ping通本地PC無線網絡適配器默認網關,也可以正常上網,因此這種網絡模式是我最喜歡的,就是省事兒。
網絡地址轉換(NAT)模式:網卡配置dhcp,自動獲取IP地址,但IP地址是10.0.4.X網段的,虛擬機可以ping通本地PC無線網絡適配器IP地址,也可以正常上網,只是本地PC無法ping通虛擬機,也無法通過SSH連接到虛擬機,沒想清楚這種網絡模式要使用在什么場景。
2)可能會遇到systemctl restart network.service或service network restart這兩種命令重啟網絡失敗,且通過ip addr查看,網卡沒有獲取IP地址,只能通過systemctl start NetworkManager命令啟動,然后再次查看,網卡可獲取IP地址。
3)在/etc/sysconfig/network-scripts/目錄下,只發現了第一張網卡的配置文件ifcfg-enp0s3,沒能發現第二張網卡(橋接模式)和第三張網卡(網絡地址轉換NAT模式)的配置文件,ifcfg-enp0s8,ifcfg-enp0s9,但虛擬機網絡運行正常,可以通過ip addr查看到IP地址。