創建 OpenStack雲主機(十一)


創建過程

  1. 創建虛擬網絡
  2. 創建m1.nano規格的主機(相等於定義虛擬機的硬件配置)
  3. 生成一個密鑰對(openstack的原理是不使用密碼連接,而是使用密鑰對進行連接)
  4. 增加安全組規則(用iptables做的安全組)
  5. 啟動一個實例(啟動虛擬機有三種類型:1.命令CLI 2.api 3.Dashboard)實際上Dashboard也是通過api進行操作
  6. 虛擬網絡分為提供者網絡和私有網絡,提供者網絡就是跟主機在同一個網絡里,私有網絡自定義路由器等,跟主機不在一個網絡

 

提供者網絡架構

 

創建提供者網絡

  • 控制節點操作,創建網絡
source /root/admin-openstack.sh
neutron net-create --shared --provider:physical_network public --provider:network_type flat public-net

命令格式:neutron net-create --shared(所有項目共享網絡)  --provider:physical_network(物理網絡) public(物理網絡的名稱) --provider:network_type(創建的網絡類型為flat,單一扁平網絡)flat public-net(自定義一個名稱)

補充知識點:上圖中tenant_id 等於 project_id,查看項目列表如下圖

  • 檢查是否創建成功
neutron net-list

  • 創建子網
neutron subnet-create --name public-subnet \
--allocation-pool start=192.168.137.100,end=192.168.137.200 \
--dns-nameserver 223.5.5.5 --gateway 192.168.137.2 \
public-net 192.168.137.0/24

參數說明

  • neutron subnet-create 子網創建
  • --name (名稱)
  • --allocation—pool 分配地址池
  • start=開始IP地址
  • end=結束IP地址
  • dns-nameserver DNS地址,233.5.5.5是阿里公共DNS地址
  • --gateway 網關
  • public-net 提供者的網絡名稱(要跟上面創建網絡的名稱對應起來)

檢查是否關聯成功

neutron net-list

neutron subnet-list

 

創建m1.nano規格的主機(自定義雲主機規格)

       默認的最小規格的主機需要512 MB內存。對於環境中計算節點內存不足4 GB的,我們推薦創建只需要64 MB的m1.nano規格的主機。若單純為了測試的目的,請使用m1.nano規格的主機來加載CirrOS鏡像。

openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano

參數說明:

  • openstack flavor create 創建主機
  • --id 主機ID
  • --vcpus cpu數量
  • --ram 64(默認是MB,可以寫成G)
  • --disk 磁盤(默認單位是G)

查看創建結果

openstack flavor list

提示:1-5是系統默認的,0是剛才創建的

 

創建密鑰對

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

  • 生成秘鑰
source /root/demo-openstack.sh
ssh-keygen -q -N ""

將密鑰放在openstack上

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

驗證公鑰的添加

openstack keypair list

 

增加安全組規則

       默認情況下, default安全組適用於所有實例並且包括拒絕遠程訪問實例的防火牆規則。對諸如CirrOS這樣的Linux鏡像,我們推薦至少允許ICMP (ping) 和安全shell(SSH)規則。

  • 允許 ICMP (ping)
openstack security group rule create --proto icmp default

  • 允許安全 shell (SSH) 的訪問
openstack security group rule create --proto tcp --dst-port 22 default

 

在公有網絡上創建實例

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

source /root/demo-openstack.sh
  • 列出雲主機可用類型
openstack flavor list

  • 列出可用鏡像
openstack image list

  • 列出可用的網絡
openstack network list

備注:創建雲主機網絡的時候使用的不是名稱,而是ID

  • 列出可用的安全組
openstack security group list

  • 創建實例
openstack server create --flavor m1.nano --image cirros \
--nic net-id=cc9d7710-d82e-4109-9412-56ae02a18d7d --security-group default \
--key-name mykey shhnwangjian-instance

參數說明:

  • openstack server create 創建實例
  • --flavor 主機類型名稱
  • --image 鏡像名稱
  • --nic net-id=網絡ID
  • --security-group 安全組名稱
  • --key-name key名稱
  • 最后一個是自定義實例名稱

檢查

openstack server list

驗證能否ping通

ssh連接測試,因為通過秘鑰認證,不需要輸入密碼

使用虛擬控制台訪問實例

openstack console url show shhnwangjian-instance

可以復制上面URL地址,在瀏覽器訪問

 

 

異常排查

如果無法創建虛擬機,我們需要查看控制節點和計算節點所有服務的日志,同時也要查看iptables、selinux、時間同步等

grep 'ERROR' /var/log/nova/*
grep 'ERROR' /var/log/neutron/*
grep 'ERROR' /var/log/glance/*
grep 'ERROR' /var/log/keystone/*

檢查

source admin-openstack.sh
nova service-list
neutron agent-list
nova image-list

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM