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