1.創建網絡
規划了兩個網卡,一個網卡ens19為provider,兩一個網卡ens20為inside
. admin-openrc
--- 創建網絡provider
openstack network create --share --external --provider-physical-network provider --provider-network-type flat provider
openstack subnet create --network provider --allocation-pool start=172.16.1.10,end=172.16.1.200 \
--dns-nameserver 114.114.114.114 --gateway 172.16.1.1 --subnet-range 172.16.1.0/24 provider
--- 創建網絡inside
openstack network create --share --external --provider-physical-network inside --provider-network-type flat inside
openstack subnet create --network inside --allocation-pool start=10.1.0.10,end=10.1.0.200 \
--dns-nameserver 114.114.114.114 --gateway 10.1.0.1 --subnet-range 10.1.0.0/24 inside
----------------------------# 查看創建的網絡
[root@node1 ~]# openstack network list
+--------------------------------------+----------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+----------+--------------------------------------+
| 6f032080-473d-4aa8-8cc3-074f23ecc4dd | inside | 11eec460-caf2-45d1-ad79-432106b07f59 |
| d1e4b37b-eeb7-4934-aab7-dec537139a3a | provider | d439dfdb-8e80-4d30-a415-f7015c2108bc |
+--------------------------------------+----------+--------------------------------------+
2.創建規格、key、安全組
# 創建規格,創建虛擬機時申請的資源大小
openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
# 創建sshkey,可以直接用宿主機的
ssh-keygen -q -N ""
openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
openstack keypair list
# 向默認安全組default添加規則,允許icmp和ssh訪問
openstack security group rule create --proto icmp default
openstack security group rule create --proto tcp --dst-port 22 default
3.創建實例
. demo-openrc
# 查詢可用規則
openstack flavor list
# 查詢可用鏡像
openstack image list
# 查詢可用網絡
openstack network list
# 查看可用安全組
openstack security group list
# 創建實例
openstack server create --flavor m1.nano --image cirros --nic net-id=9f30ff25-470f-4d5b-bfcc-83d31b4bc335 --security-group default \
--key-name mykey provider-instance
# 查看實例列表
[root@node1 ~]# openstack server list
+--------------------------------------+-------------------+--------+-----------------------+--------+---------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+-------------------+--------+-----------------------+--------+---------+
| 66654eda-c099-4be9-92b6-51e330758bf4 | provider-instance | ACTIVE | provider=172.16.1.110 | cirros | m1.nano |
+--------------------------------------+-------------------+--------+-----------------------+--------+---------+
# 查看vnc訪問地址
[root@node1 ~]# openstack console url show provider-instance # 因為是node1,需要域名解析
+-------+--------------------------------------------------------------------------------------+
| Field | Value |
+-------+--------------------------------------------------------------------------------------+
| type | novnc |
| url | http://node1:6080/vnc_auto.html?path=%3Ftoken%3D8d1e964b-c9e9-419a-a528-0a5893776b28 |
+-------+--------------------------------------------------------------------------------------+
4.通過Dashboard創建實例
使用命令行已經創建好了網絡、規格,key和安全組,登錄Dashboard之后只需要按照流程創建虛擬機即可。登錄Dashboard之后選擇打開【計算】下的【實例】頁面,點擊右側的創建實例。
輸入實例的名稱為test,描述信息隨意填寫,數量為1,可同時創建多個實例。點擊下一項

選擇源使用Image,就是選擇實例的鏡像源,只有選擇可用的選項cirros右側的向上箭頭,就可以顯示在已分配下面,選擇好之后點擊下一項

實例類型就是命令行創建的規格,申請的內核、CPU和磁盤資源,選擇m1.nano之后點擊下一項

網絡選擇命令行創建的provider,點擊下一項

網絡接口直接點擊下一項,默認創建的虛擬機的IP地址是自動分配的,但是也可以先創建好端口並指定好IP地址,之后再創建實例,這樣就可以把實例設置為指定的IP地址(也可以在創建實例之后手動更改)。安全組選擇默認即可,key pair選擇命令行創建的,此時右側的創建實例按鈕就可以點擊,點擊創建實例按鈕創建實例。

等待片刻之后,實例的狀態變成運行中,此時就可以通過vnc來訪問實例。點擊實例名稱

之后點擊控制台就可以看到實例的控制台界面

