openstack-packstack一鍵式在線部署

openstack重點了解的就是服務

前言:

OpenStack覆蓋了網絡、虛擬化、操作系統、服務器等各個方面。

2017年2月OpenStack發佈了最新版本Ocata.一般情況下,每半年左右更新- -次版本。

一:常見的8個核心項目(即OpenStack服務)

序號 服務 項目名稱 描述
1 Compute(計算服務) Nova 負責實例生命週期的管理,計算資源的單位。對Hypervisor進行屏蔽,支持多種虛擬化技術(紅帽默認爲KVM),支持橫向擴展。
2 Network(網絡服務) Neutron 負責虛擬網絡的管理,爲實例創建網絡的拓撲結構。是面向租戶的網絡管理,可以自定義網絡,並使租戶之間互不影響。
3 Identity(身份認證服務) Keystore 類似於LDAP服務,對用戶、租戶和角色、服務進行認證與授權,並且支持多認證機制。
4 Dashboard(控制面板服務) Horizon 提供一個Web管理界面,與OpenStack底層服務進行交互。
5 Image Service(鏡像服務) Glance 提供虛擬機鏡像模板的註冊與管理,將做好的操作系統複製爲鏡像模板,在創建虛擬機時直接使用。可支持多格式的鏡像。
6 Block Storage(塊存儲服務) Cinder 負責爲運行實例提供持久的塊存儲設備,可進行方便的擴展,按需付費,支持多種後端存儲。
7 0bject Storage(對象存儲服務) Swift 爲OpenStack提供基於雲的彈性存儲,支持集羣無單點故障。
8 Telemetry(計量服務) Ceilometer 用於度量、監控和控制數據資源的集中來源,爲OpenStack用戶提供記賬途徑。

二:OpenStack優勢

  • 控制性:完全開源的平臺,模塊化的設計,提供相應的API接口,方便與第三方技術集成,從而滿足自身業務需求。

  • 兼容性: OpenStack 兼容其他公有云,方便用戶進行數據遷移
    可擴展性: Openstack 採用模塊化的設計,支持主流發行版本的Linux,可以通過橫向擴展,增加節點、添加資源。

  • 靈活性:用戶可以根據自己的需要建立基礎設施,也可以輕鬆地爲自己的羣集增加規模。Openstack項目採用Apache2許可,意味着第三方廠家可以重新發布源代碼。

    OpenStack在控制性、兼容性、可擴展性、靈活性方面具備有優勢,它可能成爲雲計算領域的行業標準。

三:OpenStack一鍵部署

3.1 實驗環境

本次使用packstack工具實現一鍵部署OpenStack。

通過該安裝工具,只需簡單運行一條命令,即可以快速部署OpenStack, 省去繁瑣的安裝步驟,而直接體驗OpenStack的管理及使用。

本次實驗需要提前部署一臺新安裝的操作系統主機,要求能訪問互聯網,主機的系統採用最小化方式安裝即可。

安裝部署OpenStack環境的硬件設備的最低配置要求

CPU 4核

內存 8G

磁盤 30G

網絡 NAT,還有一張自定義網卡

3.2 實驗步驟

3.2.1 創建新服務器節點

最小化安裝,記得處理器勾選虛擬模式

在這裏插入圖片描述

在這裏插入圖片描述

配置環境,修改主機名

[root@localhost ~]# hostnamectl set-hostname openstack
[root@localhost ~]# su
[root@openstack ~]# 

修改hosts文件

[root@openstack ~]# vi /etc/hosts
192.168.247.3   openstack

關閉防火牆,核心防護

[root@openstack ~]# systemctl stop firewalld
[root@openstack ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@openstack ~]# setenforce 0
[root@openstack ~]# vi /etc/selinux/config 
SELINUX=disabled

關閉網絡管理工具

[root@openstack ~]# systemctl disable NetworkManager 
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
[root@openstack ~]# systemctl stop NetworkManager

重啓

[root@openstack ~]# reboot

3.2.2 獲取repo

[root@openstack ~]# vi /etc/resolv.conf
nameserver 8.8.8.8
[root@openstack ~]# ping 192.168.247.2
PING 192.168.247.2 (192.168.247.2) 56(84) bytes of data.
64 bytes from 192.168.247.2: icmp_seq=1 ttl=128 time=0.575 ms
64 bytes from 192.168.247.2: icmp_seq=2 ttl=128 time=0.434 ms
^C
--- 192.168.247.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.434/0.504/0.575/0.073 ms
[root@openstack ~]# ping www.baidu.com
ping: www.baidu.com: Name or service not known
[root@openstack ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=113 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=128 time=118 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=128 time=127 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=128 time=126 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=128 time=117 ms
^C
--- 8.8.8.8 ping statistics ---
6 packets transmitted, 5 received, 16% packet loss, time 5007ms
rtt min/avg/max/mdev = 113.755/120.764/127.661/5.399 ms
[root@openstack ~]# ping www.baidu.com
ping: www.baidu.com: Name or service not known


[root@openstack ~]# ping www.baidu.com
PING www.a.shifen.com (183.232.231.172) 56(84) bytes of data.
64 bytes from 183.232.231.172 (183.232.231.172): icmp_seq=1 ttl=128 time=31.5 ms
64 bytes from 183.232.231.172 (183.232.231.172): icmp_seq=2 ttl=128 time=31.5 ms
64 bytes from 183.232.231.172 (183.232.231.172): icmp_seq=3 ttl=128 time=31.5 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 31.502/31.523/31.558/0.206 ms
[root@openstack ~]# cd /etc/yum.repos.d/
[root@openstack yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo  CentOS-Sources.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS.repo        CentOS-Vault.repo
[root@openstack yum.repos.d]# mkdir bak
[root@openstack yum.repos.d]# mv C* bak/
[root@openstack yum.repos.d]# curl -o /etc/yum.repos.d/CentOS.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2523  100  2523    0     0  68045      0 --:--:-- --:--:-- --:--:-- 70083
[root@openstack yum.repos.d]# ll
total 4
drwxr-xr-x 2 root root  206 Feb 21 14:25 bak
-rw-r--r-- 1 root root 2523 Feb 21 14:25 CentOS.repo

3.2.3 yum安裝openstack-train

[root@openstack yum.repos.d]# yum -y install centos-release-openstack-train
[root@openstack yum.repos.d]# ll
total 24
drwxr-xr-x 2 root root  206 Feb 21 14:25 bak
-rw-r--r-- 1 root root  956 Jun 19  2019 CentOS-Ceph-Nautilus.repo
-rw-r--r-- 1 root root  715 Jun 19  2019 CentOS-NFS-Ganesha-28.repo
-rw-r--r-- 1 root root 1290 Oct 23 01:26 CentOS-OpenStack-train.repo
-rw-r--r-- 1 root root  612 Feb  1  2019 CentOS-QEMU-EV.repo
-rw-r--r-- 1 root root 2523 Feb 21 14:25 CentOS.repo
-rw-r--r-- 1 root root  353 Jul 31  2018 CentOS-Storage-common.repo

更新yum緩存

[root@openstack yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base centos-ceph-nautilus centos-nfs-ganesha28 centos-openstack-train
              : centos-qemu-ev extras updates
Cleaning up list of fastest mirrors
[root@openstack yum.repos.d]# yum makecache

時間同步

[root@openstack yum.repos.d]# yum -y install ntpdate

[root@openstack yum.repos.d]# ntpdate ntp.aliyun.com >> /var/log/ntpdate.log

[root@openstack yum.repos.d]# crontab -e 
no crontab for root - using an empty one
crontab: installing new crontab
[root@openstack yum.repos.d]# systemctl restart crond
[root@openstack yum.repos.d]# systemctl enable crond

[root@localhost ~]# tail -f /var/log/ntpdate.log    ###動態查看更新日誌文件,這條命令可以不敲

安裝openstack-packstack

[root@openstack yum.repos.d]# yum -y install openstack-packstack 
[root@openstack yum.repos.d]# packstack --allinone		在線部署
Testing if puppet apply is finished: 192.168.247.3_controller.pp  [ / ]	這個是等待的意思

tail -f /var/log/

[root@openstack ~]# tail -f /var/log/messages	在線查看安裝日誌

顯示成功

 **** Installation completed successfully ******

Additional information:

- Parameter CONFIG_NEUTRON_L2_AGENT: You have chosen OVN Neutron backend. Note that this backend does not support the VPNaaS or FWaaS services. Geneve will be used as the encapsulation method for tenant networks
- A new answerfile was created in: /root/packstack-answers-20200221-143136.txt
- Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
- File /root/keystonerc_admin has been created on OpenStack client host 192.168.247.3. To use the command line tools you need to source the file.
- To access the OpenStack Dashboard browse to http://192.168.247.3/dashboard .
  Please, find your login credentials stored in the keystonerc_admin in your home directory.
- The installation log file is available at: /var/tmp/packstack/20200221-143136-tbr4ug/openstack-setup.log
- The generated manifests are available at: /var/tmp/packstack/20200221-143136-tbr4ug/manifests
  [root@openstack yum.repos.d]# 

查看賬戶密碼

[root@openstack yum.repos.d]# cd /root

[root@openstack ~]# ls
anaconda-ks.cfg  keystonerc_admin  keystonerc_demo  packstack-answers-20200221-143136.txt
[root@openstack ~]# ll
total 64
-rw-------. 1 root root  1632 Feb 21  2020 anaconda-ks.cfg
-rw-------  1 root root   373 Feb 21 14:35 keystonerc_admin
-rw-------  1 root root   318 Feb 21 14:35 keystonerc_demo
-rw-------  1 root root 51648 Feb 21 14:31 packstack-answers-20200221-143136.txt

[root@openstack ~]# cat /root/keystonerc_admin 
unset OS_SERVICE_TOKEN
    export OS_USERNAME=admin
    export OS_PASSWORD='4dc0395edf0a4fe7'
    export OS_REGION_NAME=RegionOne
    export OS_AUTH_URL=http://192.168.247.3:5000/v3
    export PS1='[\u@\h \W(keystone_admin)]\$ '
    
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3

http://192.168.247.3/dashboard/

export OS_USERNAME=admin
export OS_PASSWORD='4dc0395edf0a4fe7'

在這裏插入圖片描述

這種模式就跟阿里雲的一樣了

接下來可以上傳鏡像文件,或者其他源文件,去創建實例

創建實例的數量和質量需要看物理主機的硬件配置

上傳鏡像文件,

###上傳鏡像CentOS-7-x86_64-DVD-1810.iso去opt###
[root@localhost ~]# source keystonerc_admin   ###遇到報錯Missing value auth-url required for auth plugin password 解決
[root@localhost ~(keystone_admin)]# ll
總用量 116
-rw-------. 1 root root  1308 4月  22 05:00 anaconda-ks.cfg
-rw-------  1 root root   331 4月  28 00:55 keystonerc_admin
-rw-------  1 root root   312 4月  28 00:55 keystonerc_demo
-rw-------  1 root root 49523 4月  28 00:07 packstack-answers-20190428-000742.txt
-rw-------  1 root root 49523 4月  28 01:33 packstack-answers-20190428-013352.txt

[root@localhost ~(keystone_admin)]# openstack image create --container-format bare --disk-format iso --public --file CentOS-7-x86_64-DVD-1810.iso ISO_CentOS7.6
[Errno 2] 沒有那個文件或目錄: u'CentOS-7-x86_64-DVD-1810.iso'
[root@localhost ~(keystone_admin)]# cd /opt
[root@localhost opt(keystone_admin)]# ll
總用量 4481024
-rw-r--r-- 1 root root 4588568576 4月  28 02:02 CentOS-7-x86_64-DVD-1810.iso
drwxr-xr-x 3 root root         22 4月  28 02:12 stack
[root@localhost opt(keystone_admin)]# openstack image create --container-format bare --disk-format iso --public --file CentOS-7-x86_64-DVD-1810.iso ISO_CentOS7.6
+------------------+------------------------------------------------------+
| Field            | Value                                                |
+------------------+------------------------------------------------------+
| checksum         | 5b61d5b378502e9cba8ba26b6696c92a                     |
| container_format | bare                                                 |
| created_at       | 2019-04-27T18:15:22Z                                 |
| disk_format      | iso                                                  |
| file             | /v2/images/9a3469e6-4bde-4544-8fe3-daa909c6682d/file |
| id               | 9a3469e6-4bde-4544-8fe3-daa909c6682d                 |
| min_disk         | 0                                                    |
| min_ram          | 0                                                    |
| name             | ISO_CentOS7.6                                        |
| owner            | c44490a1222c4a23861b4b87147a744c                     |



| protected        | False                                                |
| schema           | /v2/schemas/image                                    |
| size             | 4588568576                                           |
| status           | active                                               |
| tags             |                                                      |
| updated_at       | 2019-04-27T18:16:01Z                                 |
| virtual_size     | None                                                 |
| visibility       | public                                               |
+------------------+------------------------------------------------------+

上述鏡像上傳完畢,可以在網頁創建實例裝系統了

| 2019-04-27T18:16:01Z |
| virtual_size | None |
| visibility | public |
±-----------------±-----------------------------------------------------+




上述鏡像上傳完畢,可以在網頁創建實例裝系統了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章