OpenStack(三)——allinone雲平台的使用方法


  接着OpenStack(二)——使用Kolla部署OpenStack-allinone雲平台繼續操作。

  特別感謝https://www.cnblogs.com/openstackteam/p/5519961.html,Exsi虛擬機下網絡不通卡了我半個月。特此說明:如果OpenStack的宿主機是Exsi創建的虛擬機,則必須進行如下操作,選中OpenStack所在的Esxi系統-->進入摘要-->選中OpenStack宿主機所使用的虛擬網卡-->右鍵,編輯設置-->選擇設置頁面的安全-->混雜模式、MAC地址更改、偽傳輸全部設置為接受。希望后來者不會再被坑了

(1).使用命令創建OpenStack雲主機

 1)安裝OpenStack客戶端,方便使用命令行管理

[root@OpenStack240 ~]# pip install python-openstackclient  //pip安裝OpenStack客戶端
ERROR: Package 'more-itertools' requires a different Python: 2.7.5 not in '>=3.5'
[root@OpenStack240 ~]# pip install more-itertools==5.0.0
[root@OpenStack240 ~]# pip install python-openstackclient
ERROR: dogpile-cache 0.9.0 has requirement decorator>=4.0.0, but you'll have decorator 3.4.0 which is incompatible.
ERROR: Cannot uninstall 'ipaddress'. It is a distutils installed project and thus we cannot accurately determine which
 files belong to it which would lead to only a partial uninstall.
[root@OpenStack240 ~]# pip install dogpile-cache
[root@OpenStack240 ~]# pip install --ignore-installed ipaddress
[root@OpenStack240 ~]# pip install python-openstackclient

  可以看到上面總共報了3個錯誤。第一個和第二個錯誤較為簡單,只需要升級相應模塊即可;第三個錯誤需要強制升級。

  注意1:在pip安裝時遇到“ERROR: Package 'more-itertools' requires a different Python: 2.7.5 not in '>=3.5'”並不一定要升級python,也可以使用“pip install more-itertools==5.0.0”解決該問題。

  注意2:在pip安裝時遇到“ERROR: Cannot uninstall '模塊名'. It is a distutils installed...”時,需要使用“pip install --ignore-installed [報錯的模塊名]”安裝,之后再重新pip安裝。

 2)安裝OpenStack網絡相關命令

[root@OpenStack240 ~]# pip install python-neutronclient

  如果出現某個模塊已安裝的提示,可以使用“pip install --ignore-installed [模塊]”來強制安裝解決該問題。

 3)修改init-runonce腳本指定VIP地址范圍,並使用該腳本創建OpenStack雲項目

  修改init-runonce腳本

[root@OpenStack240 ~]# vim /usr/share/kolla-ansible/init-runonce
//修改第19~21行,是網卡ens33所接入的局域網地址
EXT_NET_CIDR='192.168.128.0/24'
EXT_NET_RANGE='start=192.168.128.200,end=192.168.128.210'  //取值范圍
EXT_NET_GATEWAY='192.168.128.254'

  使用init-runonce腳本創建一個OpenStack雲項目。注意:該init-runonce腳本只能運行一次,斷開就不能再運行了

//查看是否存在,如果不存在運行kolla-ansible -i /etc/kolla/all-in-one post-deploy
[root@OpenStack240 ~]# ls /etc/kolla/admin-openrc.sh
/etc/kolla/admin-openrc.sh
[root@OpenStack240 ~]# source /etc/kolla/admin-openrc.sh  //加載到環境變量中
[root@OpenStack240 ~]# sh /usr/share/kolla-ansible/init-runonce  //執行init-runonce腳本
//成功后會提示執行以下命令,可能會不一樣,但只要沒有報錯,執行就可以了
To deploy a demo instance, run:

openstack server create \
    --image cirros \
    --flavor m1.tiny \
    --key-name mykey \
    --network demo-net \
    demo1
//執行提示的命令
[root@OpenStack240 ~]# openstack server create \
>     --image cirros \  //指定使用的鏡像ID
>     --flavor m1.tiny \  //指定使用的flavor名稱
>     --key-name mykey \  //指定key名稱
>     --network demo-net \  //指定網絡名稱
>     demo1  //指定新建虛擬機的名稱

  虛擬機默認賬號密碼在登錄時會有提示,如下

  擴展:創建虛擬機命令中的參數可以到Web查看,當然也可以使用命令查看參數列表。確保加載了環境變量“source /etc/kolla/admin-openrc.sh”,才能使用以下命令。

//查看已有鏡像ID
[root@OpenStack240 ~]# openstack image list
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.7) or
 chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)
+--------------------------------------+--------+--------+
| ID                                   | Name   | Status |
+--------------------------------------+--------+--------+
| 3133fb61-24d2-4ee4-88d2-d7f4ae313ee4 | cirros | active |
+--------------------------------------+--------+--------+
[root@OpenStack240 ~]# glance image-list  //鏡像管理組件glance
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.7) or
 chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)
+--------------------------------------+--------+
| ID                                   | Name   |
+--------------------------------------+--------+
| 3133fb61-24d2-4ee4-88d2-d7f4ae313ee4 | cirros |
+--------------------------------------+--------+
//查看flavor
[root@OpenStack240 ~]# openstack network flavor list
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.7) or
 chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)

[root@OpenStack240 ~]# nova flavor-list  //計算管理組件nova
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.7) or
 chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)
+----+-----------+------------+------+-----------+------+-------+-------------+-----------+-------------+
| ID | Name      | Memory_MiB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | Description |
+----+-----------+------------+------+-----------+------+-------+-------------+-----------+-------------+
| 1  | m1.tiny   | 512        | 1    | 0         |      | 1     | 1.0         | True      | -           |
| 2  | m1.small  | 2048       | 20   | 0         |      | 1     | 1.0         | True      | -           |
| 3  | m1.medium | 4096       | 40   | 0         |      | 2     | 1.0         | True      | -           |
| 4  | m1.large  | 8192       | 80   | 0         |      | 4     | 1.0         | True      | -           |
| 5  | m1.xlarge | 16384      | 160  | 0         |      | 8     | 1.0         | True      | -           |
+----+-----------+------------+------+-----------+------+-------+-------------+-----------+-------------+
//查看網絡
[root@OpenStack240 ~]# openstack network list
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.7) or
 chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)
+--------------------------------------+----------+--------------------------------------+
| ID                                   | Name     | Subnets                              |
+--------------------------------------+----------+--------------------------------------+
| 2de2f8e9-f134-4d92-8202-be9b45d09355 | demo-net | 3b52a206-72e8-4b0e-8c28-827619c62b90 |
| 8c73de34-f031-435a-9d80-ceaba6573d3e | public1  | 9d0c5344-d0de-465d-9eb3-65906d80d6e1 |
+--------------------------------------+----------+--------------------------------------+
[root@OpenStack240 ~]# neutron net-list  //網絡組件neutron
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.7) or
 chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
+--------------------------------------+----------+----------------------------------+-------------------------------------------------------+
| id                                   | name     | tenant_id                        | subnets                                               |
+--------------------------------------+----------+----------------------------------+-------------------------------------------------------+
| 2de2f8e9-f134-4d92-8202-be9b45d09355 | demo-net | 7fff31018c7b4e0f82e9431c5c86e87c | 3b52a206-72e8-4b0e-8c28-827619c62b90 10.0.0.0/24      |
| 8c73de34-f031-435a-9d80-ceaba6573d3e | public1  | 7fff31018c7b4e0f82e9431c5c86e87c | 9d0c5344-d0de-465d-9eb3-65906d80d6e1 192.168.128.0/24 |
+--------------------------------------+----------+----------------------------------+-------------------------------------------------------+

  在以上沒有錯誤的情況下,此時就可以到Web頁面看到名為demo1的實例了(項目-->計算-->實例)。如下:

 

   剩下的配置可以通過Web頁面進行配置。

 4)給雲主機分配浮動IP地址

  在Web頁面中選擇:項目-->網絡-->浮動IP-->分配IP給項目

 

  之后出出現如下頁面,選擇資源池,選填描述,點擊分配IP

  創建成功后的浮動IP如下所示:

  另外可以通過項目-->網絡-->網絡拓撲查看網絡拓撲結構,如下:

 

  還可以在項目-->網絡-->網絡查看網絡信息,如下:

 

  最重要的綁定浮動IP步驟如下,在項目-->計算-->實例-->更多-->綁定浮動IP

 

  出現如下頁面,選擇IP地址和待連接的端口,進行關聯

 

  最后如下:

(2).使用命令查看雲主機項目信息和網絡連通性

  要在確保加載了環境變量的情況下執行以下命令“source /etc/kolla/admin-openrc.sh”

[root@OpenStack240 ~]# openstack router list
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.7) or
 chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)
+--------------------------------------+-------------+--------+-------+----------------------------------+-------------+-------+
| ID                                   | Name        | Status | State | Project                          | Distributed | HA    |
+--------------------------------------+-------------+--------+-------+----------------------------------+-------------+-------+
| f8e89ffc-89c4-4ae9-8a1a-f8d694997f5f | demo-router | ACTIVE | UP    | 7fff31018c7b4e0f82e9431c5c86e87c | False       | False |
+--------------------------------------+-------------+--------+-------+----------------------------------+-------------+-------+
[root@OpenStack240 ~]# openstack router show demo-router
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.7) or
 chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)
+-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field                   | Value                                                                                                                                                                                       |
+-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| admin_state_up          | UP                                                                                                                                                                                          |
| availability_zone_hints |                                                                                                                                                                                             |
| availability_zones      | nova                                                                                                                                                                                        |
| created_at              | 2019-11-30T08:37:36Z                                                                                                                                                                        |
| description             |                                                                                                                                                                                             |
| distributed             | False                                                                                                                                                                                       |
| external_gateway_info   | {"network_id": "8c73de34-f031-435a-9d80-ceaba6573d3e", "enable_snat": true, "external_fixed_ips": [{"subnet_id": "9d0c5344-d0de-465d-9eb3-65906d80d6e1", "ip_address": "192.168.128.206"}]} |
| flavor_id               | None                                                                                                                                                                                        |
| ha                      | False                                                                                                                                                                                       |
| id                      | f8e89ffc-89c4-4ae9-8a1a-f8d694997f5f                                                                                                                                                        |
| interfaces_info         | [{"subnet_id": "3b52a206-72e8-4b0e-8c28-827619c62b90", "ip_address": "10.0.0.1", "port_id": "a15eefcc-f85c-4ea9-8b89-c6e35047b4aa"}]                                                        |
| location                | cloud='', project.domain_id=, project.domain_name='Default', project.id='7fff31018c7b4e0f82e9431c5c86e87c', project.name='admin', region_name='RegionOne', zone=                            |
| name                    | demo-router                                                                                                                                                                                 |
| project_id              | 7fff31018c7b4e0f82e9431c5c86e87c                                                                                                                                                            |
| revision_number         | 4                                                                                                                                                                                           |
| routes                  |                                                                                                                                                                                             |
| status                  | ACTIVE                                                                                                                                                                                      |
| tags                    |                                                                                                                                                                                             |
| updated_at              | 2019-11-30T08:37:47Z                                                                                                                                                                        |
+-------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
[root@OpenStack240 ~]# openstack network list  //查看網絡信息
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.7) or
 chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)
+--------------------------------------+----------+--------------------------------------+
| ID                                   | Name     | Subnets                              |
+--------------------------------------+----------+--------------------------------------+
| 2de2f8e9-f134-4d92-8202-be9b45d09355 | demo-net | 3b52a206-72e8-4b0e-8c28-827619c62b90 |
| 8c73de34-f031-435a-9d80-ceaba6573d3e | public1  | 9d0c5344-d0de-465d-9eb3-65906d80d6e1 |
+--------------------------------------+----------+--------------------------------------+
[root@OpenStack240 ~]# openstack subnet list  //查看子網信息
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.7)
 or chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)
+--------------------------------------+----------------+--------------------------------------+------------------+
| ID                                   | Name           | Network                              | Subnet           |
+--------------------------------------+----------------+--------------------------------------+------------------+
| 3b52a206-72e8-4b0e-8c28-827619c62b90 | demo-subnet    | 2de2f8e9-f134-4d92-8202-be9b45d09355 | 10.0.0.0/24      |
| 9d0c5344-d0de-465d-9eb3-65906d80d6e1 | public1-subnet | 8c73de34-f031-435a-9d80-ceaba6573d3e | 192.168.128.0/24 |
+--------------------------------------+----------------+--------------------------------------+------------------+
[root@OpenStack240 ~]# openstack server show demo1  //查看雲主機實例信息
/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25.7) or
 chardet (2.2.1) doesn't match a supported version! RequestsDependencyWarning)
+-------------------------------------+----------------------------------------------------------+
| Field                               | Value                                                    |
+-------------------------------------+----------------------------------------------------------+
| OS-DCF:diskConfig                   | MANUAL                                                   |
| OS-EXT-AZ:availability_zone         | nova                                                     |
| OS-EXT-SRV-ATTR:host                | OpenStack240                                             |
| OS-EXT-SRV-ATTR:hypervisor_hostname | OpenStack240                                             |
| OS-EXT-SRV-ATTR:instance_name       | instance-00000001                                        |
| OS-EXT-STS:power_state              | Running                                                  |
| OS-EXT-STS:task_state               | None                                                     |
| OS-EXT-STS:vm_state                 | active                                                   |
| OS-SRV-USG:launched_at              | 2019-11-30T08:40:18.000000                               |
| OS-SRV-USG:terminated_at            | None                                                     |
| accessIPv4                          |                                                          |
| accessIPv6                          |                                                          |
| addresses                           | demo-net=10.0.0.45, 192.168.128.203                      |
| config_drive                        |                                                          |
| created                             | 2019-11-30T08:39:45Z                                     |
| flavor                              | m1.tiny (1)                                              |
| hostId                              | d6416488e7208ea8095807bf5c7dd880b962d890292ba8f8940697f2 |
| id                                  | c90e4476-ec3f-44d2-8041-58c65a65e6dc                     |
| image                               | cirros (3133fb61-24d2-4ee4-88d2-d7f4ae313ee4)            |
| key_name                            | mykey                                                    |
| name                                | demo1                                                    |
| progress                            | 0                                                        |
| project_id                          | 7fff31018c7b4e0f82e9431c5c86e87c                         |
| properties                          |                                                          |
| security_groups                     | name='default'                                           |
| status                              | ACTIVE                                                   |
| updated                             | 2019-11-30T08:40:18Z                                     |
| user_id                             | b46452d885d14cb78fb4640ed8672ffe                         |
| volumes_attached                    |                                                          |
+-------------------------------------+----------------------------------------------------------+

(3).使用Web界面創建OpenStack雲主機

  1)創建一個OpenStack全新的項目,並分配給一個新用戶

  創建一個名為testuser的用戶,身份管理-->用戶-->創建用戶-->填寫用戶名和密碼-->創建用戶

  創建一個名為test的項目,身份管理-->項目-->創建項目-->填寫項目名稱-->轉到項目成員-->通過左側的加號將testuser加入右邊,並選擇成員的角色-->創建項目。項目組類似用戶組的作用,根據需求使用。

  查看項目的配額,根據需求修改。身份管理-->項目-->修改配額-->編輯計算里的實例、VCPU數量和內存(物理機CPU4核,內存16G)-->轉到網絡-->修改浮動IP-->保存。

  另外,還可以回到身份管理-->用戶-->testuser的編輯-->將test項目作為testuser的主項目

  此時我們就可以轉到testuser用戶下進行操作。

 2)創建實例類型

  創建一個新的實例類型,在創建實例時選擇不同的實例類型分配設置好的資源大小,管理員-->計算-->實例類型-->創建實例類型-->填寫名稱、VCPU數量、內存和根磁盤-->創建實例類型。注意:設置的VCPU數量、內存和根磁盤必須小於物理機剩余資源。

  說明:臨時磁盤是指除根磁盤(系統盤)和Swap磁盤之外的磁盤,可以將其當作數據盤。

 3)上傳鏡像

  這里以cirros鏡像作為例子,下載地址http://download.cirros-cloud.net/0.4.0/,下載cirros-0.4.0-[系統架構]-disk.img。現在完成后通過網頁創建鏡像,管理員-->計算-->鏡像-->創建鏡像-->填寫鏡像名稱,選擇鏡像文件地址,選擇鏡像格式-->創建鏡像,元數據根據需求進行修改。注意:cirros鏡像默認格式為qcow2格式

 4)創建兩個網絡:內網和外網

  創建內網in,管理員-->網絡-->網絡-->創建網絡-->填寫名稱,選擇項目和供應商網絡類型,填寫段ID-->當創建子網被選中時,點擊下一項進入創建子網頁面-->填寫子網相關信息,點擊下一項-->選中激活DHCP,填寫相關信息,點擊創建。

  創建外網out,管理員-->網絡-->網絡-->創建網絡-->填寫名稱,選擇項目和供應商網絡類型,填寫物理網絡,勾選外部網絡,點擊下一項-->填寫子網相關信息,點擊下一項-->取消激活DHCP,填寫相關信息,點擊創建。注意:(基於供應商網絡為flat下)物理網絡需要是ml2_conf.ini文件中的參數“flat_networks = physnet1”,使用kolla安裝的請查看/etc/kolla/neutron-openvswitch-agent/ml2_conf.ini,完整安裝的請查看/etc/neutron/plugins/ml2/ml2_conf.ini。

 

   創建完成后可以到項目-->網絡-->網絡拓撲中查看。

 5)創建路由,連接內外網絡

  創建一個路由連接內外網絡,管理員-->網絡-->路由-->創建路由-->填寫路由名稱、選擇項目和外部網絡-->新建路由。

  此時虛擬路由與out網絡連接,但還沒有與in網絡連接,可以在網絡拓撲中明顯看出

  所以現在需要是路由與in網絡連接,管理員-->網絡-->路由-->點擊路由的名稱,進入到內部編輯頁面-->接口-->添加接口-->選擇子網,填寫IP地址-->提交

  等待幾秒查看兩個接口的狀態是否是運行中,然后再看網絡拓撲

 6)創建專屬安全組

  默認存在一個default安全組,規則為全部放行,實際使用中並不會如此使用,這里創建一個ssh-ping安全組,只放行TCP協議22端口(ssh)和所有ICMP協議(ping)。

  創建名為ssh-ping的安全組,項目-->網絡-->安全組-->創建安全組-->填寫名稱-->創建安全組。

  編輯ssh-ping安全組的規則,項目-->網絡-->安全組-->管理規則,進入管理規則頁面-->添加規則-->填寫相關信息-->添加。注意:0.0.0.0/0表示所有IP

 7)創建專屬密鑰對

  創建一個專屬密鑰對,項目-->計算-->密鑰對-->創建密鑰對-->填寫密鑰對名稱,選擇密鑰類型-->創建密鑰對。

  密鑰可以點擊密鑰旁的小箭頭查看,或點擊密鑰名稱查看

 8)分配浮動IP(外網IP)

  准備一個浮動IP(外網IP),項目-->網絡-->浮動IP-->分配IP給項目-->選擇資源池-->分配IP

 9)創建實例

  准備工作全部完成后終於可以創建實例了,項目-->計算-->實例-->創建實例-->填寫實例名稱和數量-->點擊下一項,進入源頁面-->選擇源,將其中一個移動到上方-->點擊下一項,進入實例類型頁面-->將其中一個實例類型移動到上方-->點擊下一項,進入網絡頁面-->選擇內網-->網絡接口默認即可,直接跳到安全組-->調整安全組、密鑰對和其他配置-->創建實例

  最后綁定浮動IP,

 

參考:https://blog.csdn.net/chenwei8280/article/details/79601885

   https://blog.csdn.net/chenwei8280/article/details/80876451

   https://blog.csdn.net/Poo_Chai/article/details/80858428

   https://www.cnblogs.com/daisyyang/p/11093585.html


免責聲明!

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



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