建立 OpenStack雲主機

建立過程

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

 

提供者網絡架構

 

建立提供者網絡

  • 控制節點操做,建立網絡
1
2
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(自定義一個名稱)linux

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

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

  • 建立子網
1
2
3
4
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

參數說明api

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

檢查是否關聯成功瀏覽器

1
neutron net-list

1
neutron subnet-list

 

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

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

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

參數說明:bash

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

查看建立結果網絡

1
openstack flavor list

提示:1-5是系統默認的,0是剛纔建立的架構

 

建立密鑰對

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

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

將密鑰放在openstack上tcp

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

驗證公鑰的添加

1
openstack keypair list

 

增長安全組規則

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

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

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

 

在公有網絡上建立實例

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

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

  • 列出可用鏡像
1
openstack image list

  • 列出可用的網絡
1
openstack network list

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

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

  • 建立實例
1
2
3
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名稱
  • 最後一個是自定義實例名稱

檢查

1
openstack server list

驗證可否ping通

ssh鏈接測試,由於經過祕鑰認證,不須要輸入密碼

使用虛擬控制檯訪問實例

1
openstack console url show shhnwangjian-instance

能夠複製上面URL地址,在瀏覽器訪問

 

 

異常排查

若是沒法建立虛擬機,咱們須要查看控制節點和計算節點全部服務的日誌,同時也要查看iptables、selinux、時間同步等

1
2
3
4
grep  'ERROR'  /var/log/nova/ *
grep  'ERROR'  /var/log/neutron/ *
grep  'ERROR'  /var/log/glance/ *
grep  'ERROR'  /var/log/keystone/ *

檢查

1
2
3
4
source  admin-openstack.sh
nova service-list
neutron agent-list
nova image-list
相關文章
相關標籤/搜索