Openstack Mitaka安裝手順(13)啓動一個實例

13、啓動一個實例

13.1、創建虛擬網絡

本次選擇私有網絡,但是需要先創建provider網絡

provider網絡是222.222.222.0/24

預分配給虛擬機的IP地址是192.168.111.0/24

13.1.1、創建provider網絡

13.1.1.1、在控制節點上,加載 admin 憑證來獲取管理員能執行的命令訪問權限:

$ . admin-openrc


13.1.1.2、創建網絡:

$ neutron net-create --shared --provider:physical_network provider --provider:network_type flat provider

image.png


13.1.1.3、在網絡上創建一個子網

$ neutron subnet-create --name provider \

  --allocation-pool start=222.222.222.10,end=222.222.222.100 \

  --dns-nameserver 222.222.222.2 --gateway 222.222.222.2  provider 222.222.222.0/24

image.png


************************************分割線************************************

第一次寫dhcp地址範圍,開始地址是192.168.111.1,這個是網關啊,怎麼可能執行成功呢,於是報錯如下圖所示:

image.png


另外第一次做的時候沒有弄清楚provider網絡的概念,直接給內網192.168.111.0網段了。

其實應該是222.222.222.0這個網段,這是可以連接外網的網段!

************************************分割線************************************


13.1.2、創建自服務網絡

如果你選擇網絡選項2,你還可以創建一個私有網絡通過NAT連接到物理網絡設施。這個網絡包括一個DHCP服務器爲實例分配IP地址。

在這個網絡上的實例可以自動連接到外部網絡如互聯網。不過,從互聯網這樣的外部網絡訪問實例需要配置 :浮動IP。

demo 或者其他非管理員用戶也可以創建這個網絡,因爲它只在 `demo``項目中提供對實例的訪問。


13.1.2.1、在控制節點上,獲得 admin 憑證來獲取只有管理員能執行的命令的訪問權限:

$ . demo-openrc


13.1.2.2、創建網絡

$ neutron net-create testnet

image.png    


13.1.2.3、在網絡上創建一個子網:

$ neutron subnet-create --name testnet \

--dns-nameserver 222.222.222.2 \

--gateway 192.168.111.1 testnet 192.168.111.0/24

image.png


13.1.3、創建路由

13.1.3.1、在控制節點上,加載 admin 憑證來獲取管理員能執行的命令訪問權限:

$ . admin-openrc


13.1.3.2、添加’ router:external ‘ 到’ provider’ 網絡

$ neutron net-update provider --router:external

image.png


13.1.3.3、加載 demo 證書獲得用戶能執行的命令訪問權限:

$ . demo-openrc


13.1.3.4、創建路由:

$ neutron router-create testrouter

image.png


13.1.3.5、給路由器添加一個私網子網的接口:

$ neutron router-interface-add testrouter testnet

image.png


13.1.3.6、給路由器設置公有網絡的網關:

$ neutron router-gateway-set testrouter provider

image.png


13.1.4、驗證操作

13.1.4.1、在控制節點上,加載 admin 憑證來獲取管理員能執行的命令訪問權限:

$ . admin-openrc


13.1.4.2、列出網絡命名空間。你應該可以看到一個’ qrouter ‘命名空間和兩個’qdhcp ‘ 命名空間

$ ip netns

image.png


13.1.4.3、列出路由器上的端口來確定公網網關的IP 地址:

$ neutron router-port-list testrouter

image.png


13.1.4.4、從控制節點或任意公共物理網絡上的節點Ping這個IP地址:

image.png


13.2、生成一個鍵值對

大部分雲鏡像支持公共密鑰認證而不是傳統的密碼認證。在啓動實例前,你必須添加一個公共密鑰到計算服務。

13.2.1、導入租戶``demo``的憑證

$ . demo-openrc


13.2.2、生成和添加祕鑰對:

$ ssh-keygen -q -N ""

image.png


$ openstack keypair create --public-key ~/.ssh/id_rsa.pub testkey

image.png

註解:另外,你可以跳過執行 ssh-keygen 命令而使用已存在的公鑰。


13.2.3、驗證公鑰的添加:

$ openstack keypair list

image.png


13.3、增加安全組規則

添加規則到 default 安全組。


13.3.1、允許 ICMP (ping):

$ openstack security group rule create --proto icmp default

image.png


13.3.2、允許安全 shell (SSH) 的訪問:

$ openstack security group rule create --proto tcp --dst-port 22 default

image.png


image.png

image.png


13.4、在provider網絡上創建實例

(在dashboard上圖形界面操作)

image.png


image.png

註解:之前已經在KVM中創建了rhel6.7虛擬機映像並通過dashboard上傳,這裏就直接選擇那個5G的映像源來創建卷。


image.png

image.png


image.png

image.png

image.png

image.png

image.png

註解:14是本次生成的實例,12是之前直接使用qcow2文件啓動的實例。


打開控制檯:

image.png


默認分配的是222.222.222.14,那麼就給實例配置這個IP地址:

image.png

這裏發現一個小問題,使用命令查看網卡配置是eth1網卡,但是配置文件是eth0,不知道是系統問題還是openstack的問題。


直接修改配置文件名稱都改爲eth1就可以使用了,同時把MAC地址註釋掉

image.png


重啓network服務查看IP

image.png


從本機直接訪問14實例

image.png

OK,provider網絡創建實例成功!


13.5、在私有網絡上創建實例

13.5.1、確定實例選項

啓動一臺實例,您必須至少指定一個類型、鏡像名稱、網絡、安全組、密鑰和實例名稱。


13.5.1.1、在控制節點上,獲得 admin 憑證來獲取只有管理員能執行的命令的訪問權限:

$ . demo-openrc


13.5.1.2、一個實例指定了虛擬機資源的大致分配,包括處理器、內存和存儲。

列出可用類型:

$ openstack flavor list

image.png

之前已經修改了一個m1.tiny的flavor,接下來就用這個flavor創建實例

註解:您也可以以 ID 引用類型。


13.5.1.3、列出可用鏡像:

$ openstack image list

image.png

註解:rhel6.7爲dashboard上傳的鏡像


13.5.1.4、列出可用網絡:

$ openstack network list

image.png


13.5.1.5、列出可用的安全組:

$ openstack security group list

image.png


13.5.1.6、啓動實例

$ openstack server create --flavor m1.tiny --image rhel6.7 \

  --nic net-id=e4dfadf6-952d-4c07-889e-3ba8b1077176 --security-group default \

  --key-name testkey test-instance

image.png

註解:如果沒有創建公鑰,命令行中的key-name也可以不寫,如下面案例所示:

openstack server create --flavor win.small --image rhel6.8 \

  --nic net-id=d4844e04-0bc6-4616-8df9-4702dc33dcd4 --security-group default test-instance

image.png


13.5.1.7、檢查實例的狀態:

$ openstack server list

image.png


13.5.2、使用虛擬控制檯訪問實例

13.5.2.1、獲取你實例的 Virtual Network Computing (VNC) 會話URL並從web瀏覽器訪問它:

$ openstack console url show test-instance

image.png

http://controller:6080/vnc_auto.html?token=5d28cfec-1f9a-4aa0-83ad-ba7901dfcf52


image.png

13.5.2.2、驗證能否ping通私有網絡的網關:

修改IP地址爲前面分配的192.168.111.4,修改完畢後就可以ping通私網網關和互聯網了:

image.png

image.png


image.png


image.png

不知道計算節點無法Ping通私網網關是否正常,控制節點是可以Ping通的。

image.png


13.5.3、驗證能否遠程訪問實例

13.5.3.1、在公有網絡上創建浮動IP地址池:

$ openstack ip floating create provider

image.png

註解:之前使用admin創建過浮動IP,但是和demo無法通用


13.5.3.2、爲實例分配浮動IP:

$ openstack ip floating add 222.222.222.13 test-instance

image.png


13.5.3.3、檢查這個浮動 IP 地址的狀態:

$ openstack server list

image.png


13.5.3.4、驗證控制節點或者其他公有網絡上的主機通過浮動IP地址ping通實例:

image.png

image.png


13.5.3.5、在控制節點或其他公有網絡上的主機使用 SSH遠程訪問實例:

(未解決問題:控制節點和計算節點的防火牆配置還是差端口,只要任意一個節點開啓防火牆,私網實例就無法Ping通私網網關)

image.png

註解1:實例上只能看到192.168.111.4的IP地址,但是在222網段的主機上可以通過222.222.222.13這個IP地址訪問到這臺服務器

註解2:demo用戶創建的實例可以使用這種方法在222網段的主機上訪問實例,實測admin用戶創建的實例用這個方法行不通!

            其他用戶創建的實例未測試是否可以,但是社區官方文檔說明除了admin用戶其他用戶是可以的這麼操作的!

image.png

總結:細心點、耐心點按照社區文檔完全可以0基礎搭建一套兩節點的Openstack環境!

OK!2020年3月27日,斷斷續續一個月所有openstack部署測試全部完成!現在已經有信心部署一個小型化的openstack平臺了!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章