效果展示:
環(huán)境準(zhǔn)備controller節(jié)點(diǎn):
6GB
4H
60GB/30GB/30GB
compute節(jié)點(diǎn)
6GB
4H
60G/60G
admin節(jié)點(diǎn)(ceph admin管理節(jié)點(diǎn))
2GB
4H
60GB/6GB
OpenStack簡(jiǎn)介
OpenStack是一個(gè)開源的云平臺(tái)管理項(xiàng)目,可以用于構(gòu)建公有云或私有云平臺(tái),提供了基礎(chǔ)設(shè)施及服務(wù)(Iaas)的解決方案,OpenStack是一個(gè)云操作系統(tǒng),通過數(shù)據(jù)中心可控制計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源池,OpenStack覆蓋了網(wǎng)絡(luò)、虛擬化、操作系統(tǒng)、服務(wù)器等各個(gè)方面,通過OpenStack可以啟動(dòng)、分配和管理虛擬機(jī)資源,所有的管理也都可以通過前端界面完成。
OpenStack核心組件Nova
計(jì)算管理服務(wù),管理虛擬機(jī)實(shí)例的整個(gè)生命周期,負(fù)責(zé)虛擬機(jī)的創(chuàng)建、開機(jī)、關(guān)機(jī)、掛起、暫停、調(diào)整、遷移、重啟、銷毀,資源分配等操作,通過API對(duì)外提供服務(wù),使用KeyStone來進(jìn)行身份驗(yàn)證,使用Horizon作為其管理接口,使用Glance提供其鏡像,這樣使得Nova可管理計(jì)算資源、網(wǎng)絡(luò)和認(rèn)證。
Neutron
網(wǎng)絡(luò)管理服務(wù),為多租戶環(huán)境下的每個(gè)租戶提供獨(dú)立的網(wǎng)絡(luò)環(huán)境,Neutron為整個(gè)OpenStack環(huán)境提供網(wǎng)絡(luò)支持,可以定義Network,Subent(子網(wǎng)),Router(路由),配置DHCP、DNS、負(fù)載均衡、L3服務(wù),網(wǎng)絡(luò)支持GRE、VLAN等,并且支持眾多流行的網(wǎng)絡(luò)管理插件,如:OpenvSwitch。
Cinder
塊存儲(chǔ)服務(wù),支持不同的存儲(chǔ)后端,包括ceph,glusterfs等,它是存儲(chǔ)虛擬機(jī)以及虛擬機(jī)使用的數(shù)據(jù)的基礎(chǔ),Cinder提供了塊存儲(chǔ)設(shè)備的訪問以及管理,對(duì)OpenStack主機(jī),存儲(chǔ)以塊設(shè)備的形式出現(xiàn),使用ISCSI,NFS,ceph或其他一些專門協(xié)議作為后端的連接;Cinder的接口指定了一系列的獨(dú)立的功能,包括創(chuàng)建卷、刪除卷、掛載卷等基本功能,還有一些高級(jí)功能如擴(kuò)展卷、快照、從VM鏡像克隆等。
Swift
對(duì)象存儲(chǔ)服務(wù),為OpenStack集群提供跨節(jié)點(diǎn)的分布式大規(guī)模對(duì)象存儲(chǔ)服務(wù),它是通過RESTful接口來存儲(chǔ)和檢索非結(jié)構(gòu)化的數(shù)據(jù)對(duì)象,它是一個(gè)高容錯(cuò)可伸縮的存儲(chǔ)架構(gòu)。對(duì)象存儲(chǔ)是將相應(yīng)的數(shù)據(jù)存儲(chǔ)為二進(jìn)制對(duì)象,而不是文件,一般通過一條指令就可以存儲(chǔ)或檢索到整個(gè)對(duì)象。
Keystone
認(rèn)證管理服務(wù),是OpenStack框架中負(fù)責(zé)管理身份驗(yàn)證、服務(wù)規(guī)則和服務(wù)令牌功能的模塊,管理Domains、Project、Users、Groups、Roles,使用MySQL作為統(tǒng)一的數(shù)據(jù)庫(kù),用戶訪問資源需要驗(yàn)證用戶的身份和權(quán)限,服務(wù)執(zhí)行操作也需要進(jìn)行權(quán)限檢測(cè),這些都需要通過Keystone來處理,OpenStack服務(wù)通過Keystone來注冊(cè)其Endpoint(服務(wù)訪問的URL),任何服務(wù)之間的相互調(diào)用,都需要先經(jīng)過KeyStone的身份驗(yàn)證,獲得到目標(biāo)的Endpoint,然后再調(diào)用。
Glance
鏡像管理服務(wù),提供了對(duì)虛擬機(jī)部署的時(shí)候所能提供的鏡像的管理,包括鏡像的查找,注冊(cè),檢索,導(dǎo)入,格式,以及制作相應(yīng)的模板,它支持多種虛擬機(jī)鏡像格式,有創(chuàng)建鏡像、刪除鏡像、編輯鏡像基本信息的功能,Glance提供RESTfulAPI可以查詢虛擬機(jī)鏡像的metadata以及獲取鏡像,Glance可以將鏡像保存到多種后端存儲(chǔ)上,比如簡(jiǎn)單的文件存儲(chǔ)或者對(duì)象存儲(chǔ)。
Horizon
用戶交互界面,是OpenStack中各種服務(wù)的Web管理門戶,用于簡(jiǎn)化用戶對(duì)服務(wù)的操作,例如:?jiǎn)?dòng)實(shí)例、分配IP地址、配置訪問控制等
安裝CentOS
1
|
yum install vim |
在cmd窗口輸入以下命令查看網(wǎng)段
1
|
ipconfig /all |
修改網(wǎng)卡信息
1
|
vim /etc/sysconfig/network-scripts/ifcfg-ens33 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE= yes IPV4_FAILURE_FATAL=no IPV6INIT= yes IPV6_AUTOCONF= yes IPV6_DEFROUTE= yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 DEVICE=ens33 ONBOOT= yes IPADDR=192.168.12.18 PREFIX=24 GATEWAY=192.168.12.1 DNS1=192.168.111.2 |
重啟網(wǎng)絡(luò)服務(wù)
1
|
service network restart |
controller
ens33 192.168.12.18(提供浮動(dòng)IP,出網(wǎng)地址)
ens34 192.168.12.118(內(nèi)網(wǎng)之間通信)
compute
ens33 192.168.12.140(提供浮動(dòng)IP,出網(wǎng)地址)
ens34 192.168.12.240(內(nèi)網(wǎng)之間通信)
1
2
|
# 立即重啟 shutdown -r now |
初始化各節(jié)點(diǎn)
1
|
yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release lrzsz openssh-server |
關(guān)閉防火墻、networkmanager,iptables,selinux(各個(gè)節(jié)點(diǎn)操作)
1
2
|
systemctl stop firewalld && systemctl disable firewalld && systemctl stop NetworkManager && systemctl disable NetworkManager systemctl stop iptables && systemctl disable iptables |
修改selinux
1
|
vim /etc/sysconfig/selinux |
1
|
SELINUX=disabled |
修改hosts
1
|
vim /etc/hosts |
1
2
|
192.168.12.118 controller 192.168.12.240 compute |
修改主機(jī)名
1
|
hostnamectl set - hostname controller |
1
|
hostnamectl set - hostname compute |
時(shí)間同步
1
|
ntpdate cn.pool.ntp.org |
配置無密碼登陸,各個(gè)節(jié)點(diǎn)操作
1
2
3
4
|
ssh -keygen -t rsa #一直回車即可 ssh -copy- id -i . ssh /id_rsa .pub controller ssh -copy- id -i . ssh /id_rsa .pub computer |
用xftp上傳openstack離線軟件包到root目錄下(在controller和compute節(jié)點(diǎn)操作)
在root下創(chuàng)建一個(gè)目錄openstack,然后把軟件包解壓到這個(gè)目錄下
1
|
mkdir /root/openstack && cd /root/openstack && tar zxvf /root/openstack_N . tar .gz |
把openstack目錄整體移動(dòng)到/下(controller和computer節(jié)點(diǎn)操作)
1
|
mv openstack / |
重新配置yum源(controller和computer節(jié)點(diǎn)都操作)
1
2
3
4
5
|
cd /etc/yum .repos.d/ mkdir bak mv CentOS-* bak/ mv epel* bak/ cp bak /CentOS-Base .repo ./ |
生成一個(gè)新的openstack的yum源
1
2
3
4
5
6
|
cat <<EOF > /etc/yum .repos.d /openstack .repo [openstack] enable =1 gpgcheck=0 baseurl= file : ///openstack EOF |
清緩存
1
|
yum makecache |
openstack應(yīng)答文件安裝(controller節(jié)點(diǎn)操作)
1
|
yum install centos-release-openstack-newton -y |
1
2
3
4
|
cd /etc/yum .repos.d mv *.repo bak/ cp bak /openstack .repo ./ cp bak /CentOS-Base .repo ./ |
清緩存
1
|
yum makecache |
1
2
3
|
yum install openstack-packstack -y cd /root packstack --gen-answer- file =openstack.txt |
結(jié)束后會(huì)生成一個(gè)應(yīng)答文件openstack.txt
修改openstack.txt文件
修改的內(nèi)容如下
1
2
3
4
5
6
7
8
9
10
11
|
CONFIG_DEFAULT_PASSWORD=123456 CONFIG_SWIFT_INSTALL=n CONFIG_NAGIOS_INSTALL=n CONFIG_CINDER_VOLUMES_SIZE=10G CONFIG_PROVISION_DEMO=n CONFIG_LBAAS_INSTALL=y CONFIG_NEUTRON_FWAAS=y CONFIG_NEUTRON_VPNAAS=y CONFIG_CONTROLLER_HOST=192.168.12.118 CONFIG_COMPUTE_HOSTS=192.168.12.240 CONFIG_NETWORK_HOSTS=192.168.12.240 |
基于應(yīng)答文件安裝組件
1
|
packstack --answer- file =openstack.txt |
安裝過程需要查看iptables狀態(tài),在controller和computer節(jié)點(diǎn)
1
|
systemctl status iptables |
如果發(fā)現(xiàn)iptables處于active狀態(tài),需要停掉
1
|
systemctl stop iptables |
看到如下說明安裝成功
1
|
Installation completed successfully |
啟動(dòng)rabbitmq的管理界面(controller節(jié)點(diǎn)操作)
1
|
rabbitmq-plugins enable rabbitmq_management |
在瀏覽器訪問
192.168.124.200:15672
賬號(hào):guest
密碼:guest
登陸openstack的dashboad界面
在瀏覽器輸入:
192.168.124.200
賬號(hào):admin
密碼:
獲取密碼
1
2
|
cd /root cat keystonerc_admin |
KeyStone配置優(yōu)化
在controller節(jié)點(diǎn)操作
修改keystone.conf
1
|
vim /etc/keystone/keystone .conf |
在default字段下面添加如下一行
1
|
memcache_servers = 192.168.12.118:11211 |
重啟服務(wù)
1
|
systemctl restart httpd |
如果OpenStack可以正常訪問則代表配置成功
glance配置優(yōu)化
修改glance-api.conf
1
|
vim /etc/glance/glance-api .conf |
在頂部添加
1
|
memcache_servers = 192.168.12.118:11211 |
修改glance-registry.conf
1
|
vim /etc/glance/glance-registry .conf |
在頂部添加
1
|
memcache_servers = 192.168.12.118:11211 |
重啟服務(wù)
1
2
|
systemctl restart openstack-glance-api systemctl restart openstack-glance-registry |
nova配置優(yōu)化在controller節(jié)點(diǎn)修改
修改nova.conf
1
|
vim /etc/nova/nova .conf |
在頂部添加memcahce緩存
1
|
memcache_servers = 192.168.12.118:11211 |
原來是只有地址,沒有http協(xié)議,需要加上http協(xié)議
1
|
api_servers=http: //192 .168.12.118:9292 |
在第一行[DEFAULT]下面加上這行
1
|
|
原來的ip改成這個(gè),并且打開注釋
1
|
my_ip=192.168.12.118 |
原來是0.0.0.0,現(xiàn)在改成這個(gè)
1
|
vncserver_listen=192.168.12.118 |
原來是主機(jī)名,改成這個(gè)主機(jī)IP
1
|
vncserver_proxyclient_address=192.168.12.118 |
上面修改好之后重新啟動(dòng)服務(wù)
1
2
3
|
systemctl restart openstack-nova-api.service \ openstack-nova-consoleauth.service openstack-nova-scheduler.service \ openstack-nova-conductor.s:ervice openstack-nova-novncproxy.service |
在compute節(jié)點(diǎn)修改
修改配置文件nova.conf
1
|
vim /etc/nova/nova .conf |
在第一行[DEFAULT]字段加如下一行
1
|
memcache_servers=192.168.12.118:11211 |
這行注釋打開,變成這個(gè)ip地址
1
|
|
這行注釋打開,ip變成這個(gè)主機(jī)ip
1
|
api_servers=http: //192 .168.12.118:9292 |
這行注釋打開,變成這個(gè)ip地址
1
|
my_ip=192.168.12.240 |
這行注釋打開,變成這個(gè)ip地址
1
|
vncserver_proxyclient_address=192.168.12.240 |
這行注釋打開,變成這個(gè)ip地址
1
|
novncproxy_base_url=http: //192 .168.12.118:6080 /vnc_auto .html |
這行注釋打開
1
|
virt_type=qemu |
上面修好好了之后重新啟動(dòng)服務(wù)
1
2
|
systemctl enable libvirtd.service openstack-nova-compute.service systemctl restart libvirtd.service openstack-nova-compute.service |
查看日志,沒有報(bào)錯(cuò)
1
|
cat /var/log/nova/nova-compute .log |
啟動(dòng)之后在controller節(jié)點(diǎn)查看日志
1
|
cat /var/log/nova/nova-api .log |
如果沒有報(bào)錯(cuò)即可
Neutron配置優(yōu)化
在controller節(jié)點(diǎn)操作
修改配置文件neutron.conf
1
|
vim /etc/neutron/neutron .conf |
新增加一行
1
|
memcache_servers = 192.168.12.118:11211 |
找到transport_url,新增加一行(消息隊(duì)列rabbit地址在controller節(jié)點(diǎn)上)
1
|
|
找到lock_path,改為絕對(duì)路徑
1
|
lock_path= /var/lib/neutron/tmp |
修改ml2_conf.ini
1
|
vim /etc/neutron/plugins/ml2/ml2_conf .ini |
修改vni_ranges
1
|
vni_ranges = 10:10000 |
上面兩個(gè)文件修改好之后重啟服務(wù)
1
|
systemctl restart neutron-server |
新開一個(gè)端口查看日志,沒有報(bào)錯(cuò)即可
1
|
tail -f /var/log/neutron/server .log |
在compute節(jié)點(diǎn)操作
創(chuàng)建一個(gè)橋接網(wǎng)卡,橋接到能夠訪問外網(wǎng)的那個(gè)網(wǎng)卡,也就是ens33
1
2
3
4
|
cd /etc/sysconfig/network-scripts mkdir bak cp ifcfg-ens33 bak/ vim ifcfg-br-ex |
復(fù)制內(nèi)容到ifcfg-br-ex
1
2
3
4
5
6
7
8
9
10
11
12
|
DEVICE=br-ex BOOTPROTO=static ONBOOT= yes TYPE=OVSBridge DEVICETYPE=ovs USERCTL= yes PEERDNS= yes IPV6INIT=no IPADDR=192.168.12.140 NETMASK=255.255.255.0 DNS1=192.168.111.2 GATEWAY=192.168.12.1 |
1
|
vim ifcfg-ens33 |
將原有內(nèi)容刪除,替換為如下內(nèi)容
1
2
3
4
5
6
7
8
|
# 設(shè)備名 DEVICE=ens33 # 是否開啟開機(jī)自啟 ONBOOT= yes TYPE=OVSPort DEVICETYPE=ovs #橋接到哪個(gè)網(wǎng)卡上 OVS_BRIDGE=br-ex |
重啟網(wǎng)卡
1
|
service network restart |
修改配置文件neutron.conf
1
|
vim /etc/neutron/neutron .conf |
新增加一行配置文件
1
|
|
新增加一行
1
|
memcached_servers=192.168.12.118:11211 |
原來的路徑變成這個(gè)
1
|
lock_path= /var/lib/neutron/tmp |
修改三層的和浮動(dòng)ip相關(guān)的配置文件
1
|
cd /etc/neutron |
1
|
vim l3_agent.ini |
這行注釋去掉
1
|
ovs_integration_bridge = br-int |
這行注釋打開
1
|
availability_zone = nova |
修改配置文件metadata_agent.ini
1
|
vim metadata_agent.ini |
這行注釋打開
1
|
nova_metadata_port = 8775 |
這行注釋打開
1
|
nova_metadata_protocol = http |
新增加一行
1
|
memcached_servers=192.168.12.118:11211 |
修改配置文件dhcp_agent.ini
1
|
vim dhcp_agent.ini |
這行注釋打開
1
|
ovs_integration_bridge = br-int |
原來是False,需要變成True
1
|
enable_metadata_network = True |
新增加一行
1
|
dhcp_domain = test .localdomain |
原來的注釋打開,修改成外網(wǎng)的dns地址
1
|
dnsmasq_dns_servers = 192.168.111.2 |
這行注釋打開
1
|
dnsmasq_lease_max = 16777216 |
這行注釋打開
1
|
availability_zone = nova |
上面修改好了之后重啟服務(wù)
1
|
systemctl restart neutron-ovs-cleanup.service neutron-openvswitch-agent.service neutron-metering-agent.service neutron-metadata-agent.service neutron-lbaasv2-agent.service neutron-l3-agent.service neutron-dhcp-agent.service |
到此這篇關(guān)于基于CentOS的OpenStack環(huán)境部署(OpenStack安裝)的文章就介紹到這了,更多相關(guān)CentOS的OpenStack環(huán)境部署內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/qq_29537269/article/details/107568489