一 雲計算介紹
基於互聯網的相關服務的增加、使用和交付模式;
這種模式提供可用的、便捷的、按需的網絡訪問,進入可配置的計算資源共享池(資源包括網絡,服務器,存儲,應用軟件,服務);
這些資源能夠被快速提供,只需投入很少的管理工作,或與服務供應商進行很少的交互;
通常涉及通過互聯網來提供動態易擴展且經常是虛擬化的資源。
1 IaaS
IaaS(Infrastructure as a Service),即基礎設施即服務
提供給消費者的服務是對所有計算基礎設施的利用,包括處理CPU、內存、存儲、網絡和其它基本的計算資源,用戶能夠部署和運行任意軟件,包括操作系統和應用程序;
消費者不管理或控制任何雲計算基礎設施,但能控制操作系統的選擇、存儲空間、部署的應用;
IaaS通常分爲三兩種用法:公有云共的和、私有云的和混合雲。
2 PaaS
PaaS是Platform-as-a-Service的縮寫,意思是平臺即服務
雲計算時代相應的服務器平臺或者開發環境作爲服務進行提供就成爲了PaaS;
PaaS運營商所需提供的服務,不僅僅是單純的基礎平臺,而且包括針對該平臺的技術支持服務,甚至針對該平臺而進行的應用系統開發、優化等服務;
簡單地說,PaaS平臺就是指雲環境中的應用基礎設施服務,也可以說是中間件即服務。
3 SaaS
SaaS是Software-as-a-Service(軟件即服務)的簡稱
它是一種通過Internet提供軟件的模式,廠商將應用軟件統一部署在自己的服務器上,客戶可以根據自己實際需求,通過互聯網向廠商定購所需的應用軟件服務;
用戶不用再購買軟件,而改用向提供商租用基於Web的軟件,來管理企業經營活動,且無需對軟件進行維護,服務提供商會全權管理和維護軟件,軟件廠商在向客戶提供互聯網應用的同時,也提供軟件的離線操作和本地
數據存儲,讓用戶隨時隨地都可以使用其定購的軟件和服務。
二 Openstack簡介
2.1 什麼是openstack
OpenStack是一個由NASA(美國國家航空航天局)和Rackspace合作研發併發起的項目;
OpenStack是一套IaaS解決方案;
OpenStack是一個開源的雲計算管理平臺;
以Apache許可證爲授權。
2.2 主要組件
Horizon
– 用於管理Openstack各種服務的、基於web的管理接口
– 通過圖形界面實現創建用戶、管理網絡、啓動實例等操作
Keystone
– 爲其他服務提供認證和授權的集中身份管理服務
– 也提供了集中的目錄服務
– 支持多種身份認證模式,如果密碼認證、令牌認證、以及AWS(亞馬遜Web服務)登陸
– 爲用戶和其他服務提供了SSO認證服務
Neutron
– 一種軟件定義網絡服務
– 用於創建網絡、子網、路由器、管理浮動IP地址
– 可以實現虛擬交換機、虛擬路由器
– 可用於在項目中創建***
Cinder
– 爲虛擬機管理存儲卷的服務
– 爲運行在Nova中的實例提供永久的塊存儲
– 可以通過快照進行數據備份
– 經常應用在實例存儲環境中,如果數據庫文件
Nova
– 在節點上用於管理虛擬機的服務
– Nova是一個分佈式的服務,能夠與Keystone交互實現認證,與Glance交互實現鏡像管理
– Nova被設計成在標準硬件上能夠進行水平擴展
– 啓動實例時,如果有需要則下載鏡像
Glance
– 扮演虛擬機鏡像註冊的角色
– 允許用戶爲直接存儲拷貝服務器鏡像
– 這些鏡像可以用於新建虛擬機的模板
三 部署openstack環境
3.1 環境準備:
兩臺虛擬機
192.168.4.51 dns指向52,用於安裝openstack 準備100G的硬盤,4G的內存
192.168.4.53 dns/ntp服務器
3.2 準備DNS服務器
dns服務器(192.168.4.53)
yum -y install bind
vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };
vim /etc/named.rfc1912.zones #尾部添加
zone "tedu.cn" IN {
type master;
file "a.cn.zone";
allow-update { none; };
};
named-checkconf /etc/named.conf #檢查配置文件是否有錯誤
沒有輸出任何表示語法正確
vim /var/named/a.cn.zone
...
NS server53.a.cn.
server53 A 192.168.4.53
server51 A 192.168.4.51
出現的錯誤,屬者和屬組是否爲named
[root@server52 ~]# nslookup server51.a.cn
Server: 192.168.4.51
Address: 192.168.4.51#53
** server can't find server51: SERVFAIL
[root@server52 ~]# ll /var/named/a.cn.zone
-rw-r-----. 1 named root 202 3月 7 07:28 /var/named/a.cn.zone
3.3 準備yum源 (192.168.4.51)
包括rhel7的yum源,OSP8的yum源
寫一個腳本,自動生成yum源文件
#!/bin/bash
cd /mnt
for folder in *
do
if [ -d $folder ];then
cat <<EOF >>/tmp/osp8.repo
[$folder]
name=$folder
baseurl=file:///mnt/$folder
enabled=1
gpgcheck=0
EOF
fi
done
cp /tpm/osp8.repo /etc/yum.repos.d/
yum repolist
3.4 配置NTP(192.168.4.53)
yum -y intall ntp
vim /etc/ntp.conf
15 restrict 192.168.4.0 mask 255.255.255.0 nomodify (添加)
25 server 127.127.1.0 iburst
26 fudge 127.127.1.0 stratum 3
systemctl start ntpd
systemctl enable ntpd
在51上測試:
修改一個和53不一樣的時間:date -s
然後 ntpdate 192.168.4.53
再查看時間:date
3.5 安裝openstack
(1)關閉NetworkManager
systemctl stop NetworkManager
(2)創建卷組
pvcreate /dev/vdb
vgcreate cinder-volumes /dev/vdb
(3)導入rabbitmq的公鑰
rpm --import rabbitmq-signing-key-public.asc
(4)安裝本地yum源中不存在的rpm包
conntrack-tools-1.4.2-9.el7.x86_64.rpm
libnetfilter_cthelper-1.0.0-8.el7.x86_64.rpm
libnetfilter_cttimeout-1.0.0-6.el7.x86_64.rpm
libnetfilter_queue-1.0.2-1.el7.x86_64.rpm
(5)安裝openstack 的部署工具packstck
yum -y install openstack-packstack
(6)生成應答文件
保證dns指向53,否則無法生成
vim /etc/resolv.conf
nameserver 192.168.4.53
nslookup server51.a.cn
Server: 192.168.4.53
Address: 192.168.4.53#53
Name: server51.a.cn
Address: 192.168.4.51
packstack --gen-answer-file answer.txt
Packstack changed given value to required value /root/.ssh/id_rsa.pub
(7)修改應答文件
vim answer.txt
11 CONFIG_DEFAULT_PASSWORD=redhat
33 CONFIG_SWIFT_INSTALL=n
58 CONFIG_NTP_SERVERS=192.168.4.53
81 CONFIG_COMPUTE_HOSTS=192.168.4.51
301 CONFIG_KEYSTONE_ADMIN_PW=redhat
526 CONFIG_CINDER_VOLUMES_CREATE=n
828 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.2
833 CONFIG_NEUTRON_ML2_VNI_RANGES=1001:2000
862 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex
878 CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
960 CONFIG_PROVISION_DEMO=n
(8)一鍵部署Openstack
packstack --answer-file answer.txt (環境若配置無誤,需要等待20分鐘左右)
出現如下信息,說明安裝成功:
**** Installation completed successfully ******
(9)配置網絡
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br-ex
vim ifcfg-br-ex
DEVICE=br-ex
TYPE=OVSBridge
DEVICETYPE=ovs
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.4.51
PREFIX=24
DNS1=192.168.4.53
vim ifcfg-eth0
TYPE=OVSPort
OVS_BRIDGE=br-ex
DEVICETYPE=ovs
ONBOOT=yes
DEVICE=eth0
ifdown br-ex;ifdown eth0;ifup br-ex;ifup eth0
(10)測試
firefox http://192.168.4.51
帳號:admin 密碼:redhat