CentOS部署OpenStack過程-計算服務(wù)部署

基本信息

OpenStack計算組件請求OpenStack Identiy服務(wù)進(jìn)行認(rèn)證;請求OpenStack Image服務(wù)提供磁盤鏡像;為OpenStack dashboard提供用戶管理域管理員接口怒详。
OpenStack計算服務(wù)主要的組件:

  • nova-api服務(wù)
    • 接受和響應(yīng)來自最終用戶的計算API請求
  • nova-api-metadata服務(wù)
    • 接受來自虛擬機(jī)發(fā)送的元數(shù)據(jù)請求抖格,一般在安裝nova-network服務(wù)的多主機(jī)模式下使用
  • nova-compute服務(wù)
    • 一個持續(xù)工作的守護(hù)進(jìn)程,通過Hypervior來創(chuàng)建和銷毀虛擬機(jī)實(shí)例
  • nova-scheduler服務(wù)
    • 拿到一個來自隊列請求虛擬機(jī)實(shí)例,然后決定哪臺計算服務(wù)器主機(jī)來運(yùn)行
  • nova-conductor模塊
    • 媒介作用于nova-compute服務(wù)域數(shù)據(jù)庫之間
  • nova-cert模塊
    • 服務(wù)器守護(hù)進(jìn)程向Nova Cert服務(wù)提供X509證書
  • nova-network worker守護(hù)進(jìn)程
    • 與nova-compute類似鸭巴,從隊列中接受網(wǎng)絡(luò)任務(wù),并且操作網(wǎng)絡(luò)。執(zhí)行任務(wù)例如創(chuàng)建網(wǎng)橋接的接口或改變iptables規(guī)則
  • nova-consoleauth守護(hù)進(jìn)程
    • 授權(quán)控制臺代理所提供的用戶令牌
  • nova-novncproxy守護(hù)進(jìn)程
    • 提供一個代理,用于訪問正在運(yùn)行的實(shí)例派任,通過VNC協(xié)議,支持基于瀏覽器的novnc客戶端
  • nova-spicehtml5proxy
    • 提供一個代理璧南,用于訪問正在運(yùn)行的實(shí)例掌逛,通過SPICE協(xié)議,支持基于瀏覽器的html5客戶端
  • nova-xvpvncproxy
    • 提供一個代理穆咐,用于訪問正在運(yùn)行的實(shí)例颤诀,通過VNC協(xié)議,支持OpenStack特定的java客戶端
  • nova-cert守護(hù)進(jìn)程
    • X509證書
  • nova client
    • 用于用戶作為租戶管理員或最終用戶來提交命令
  • 隊列
    • 一個在守護(hù)進(jìn)程之間傳遞消息的中央集線器
  • SQL數(shù)據(jù)庫
    • 存儲構(gòu)建時和運(yùn)行時的狀態(tài)对湃,為云基礎(chǔ)設(shè)施

安裝配置

控制節(jié)點(diǎn)執(zhí)行操作

安裝條件

  1. 創(chuàng)建數(shù)據(jù)庫
# login mysql
mysql -u root -p
# create datbase
create database nova_api;
create database nova;
# grant privileges
grant all privileges on nova.* to 'nva_db'@'localhost' identified by 'passwd';
grant all privileges on nova.* to 'nva_db'@'192.168.122.%' identified by 'passwd';
grant all privileges on nova_api.* to 'nva_db'@'localhost' identified by 'passwd';
grant all privileges on nova_api.* to 'nva_db'@'192.168.122.%' identified by 'passwd';
  1. 獲取admin憑證
    . admin-openrc
  2. 創(chuàng)建服務(wù)證書
# 創(chuàng)建服務(wù)用戶
openstack user create \
--domain default \
--password-prompt nova
# 添加角色
openstack role add --project serice --user nova admin
# 創(chuàng)建服務(wù)實(shí)體
openstack service create --name nova \
--description "OpenStack Compute" compute
  1. 創(chuàng)建計算服務(wù)API端點(diǎn)
# create public endpoint
openstack endpoint create --region RegionOne \
compute public http://ops-comp:8774/v2.1/%\(tenant_id\)s
# create internal endpoint
# create admin endpoint
# create firewall rule

安裝placement34

  1. 創(chuàng)建數(shù)據(jù)庫
# login mysql
mysql -u root -p
# create database
create database placement;
# grant privilege
grant all privileges on placement.* to 'plc_db'@'localhost' identified by 'passwd';
grant all privileges on placement.* to 'plc_db'@'192.168.122.%' identified by 'passwd';
  1. 創(chuàng)建用戶
# create
openstack user create --domain default \
--password-prompt placement
# add role to user
openstack role add --project service --user placement admin
  1. 創(chuàng)建服務(wù)實(shí)體
openstack service create \
--name placement \
--description "OpenStack Plancement" placement
  1. 添加endpoint
# add public endpoint
openstack endpoint create \
--region RegionOne \
placement public http://ops-cont:8778
# add internal admin endpoint like public
  1. 安裝placement
    yum install openstack-nova-placement-api -y

安裝nova

  1. 安裝
yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler -y
  1. 配置nova.conf
i /etc/nova/nova.conf
# enable compute and metadata in [DEFAULT]
enabled_apis=osapi_compute,metadata
# configure database in [api_database] and [database]
[api_database]
connection=mysql+pymysql://nva_db:db_passwd@ops-cont/nova_api
[database]
connection=mysql+pymysql://nva_db:db_passwd@ops-cont/nova
# configure Rabbitmq in [DEFAULT] and [oslo_messageing_rabbit]
[DEFAULT]
rpc_backend=rabbit
[oslo_messageing_rabbit]
rabbit_host=ops-cont
rabbit_userid=openstack
rabbit_password=passwd
# configure auth in [DEFAULT] and [keystone_authtoken]
[DEFAULT]
auth_strategy=keystone
[keystone_authtoken]
auth_uri=http://ops-cont:5000
auth_url=http://ops-cont:35357
memcached_servers=ops-cont:11211
auth_type=password
project_domain_name=default
user_domain_name=default
project_name=service
username=nova
password=passwd
# configure manager interface in [DEFAULT]
[DEFAULT]
my_ip=192.168.122.100
# enable neutrion and use nova firewall rule in [DEFAULT]
[DEFULT]
use_neutron=True
firewall_driver=nova.virt.firewall.NoopFirewallDriver
# configure vnc ip address in [vnc]
[vnc]
vncserver_listen=$my_ip
vncserver_proxyclient_address=$my_ip
# configure glance in [glance]
[glance]
api_servers=http://ops-cont:9292
# configure lock_path in [oslo_concurrency]
lock_path=/var/lib/nova/tmp
# configure placement in [placement]
[placement]
auth_uri=http://ops-cont:5000/v3
auth_url=http://ops-cont:35357/v3
os_region_name=RegionOne
project_domain_name=default
user_domain_name=default
project_name=service
user_name=placement
password=passwd
# configure rabbit transport url in [DEFAULT]
transport_url=rabbit://openstack_user:user_passwd@ops-cont
  1. 同步數(shù)據(jù)庫
su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage db sync" nova
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
su -s /bin/sh -c "nova-manage cell_v2 create_cell" nova
# show cells
nova-manage cell_v2 list_cells
  1. 啟動服務(wù)
# start
systemctl start openstack-nova-api openstack-nova-consoleauth openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy
# enable
systemctl enable openstack-nova-api openstack-nova-consoleauth openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy
# add firewall rule
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.122.0/24" port port="5672" protocol="tcp" accept' --permanent
  1. 計算節(jié)點(diǎn)連接成功后執(zhí)行
    nova-manage cell_v2 discover_hosts

驗證操作

在計算節(jié)點(diǎn)上的操作完成后執(zhí)行驗證崖叫,查看服務(wù)組件是否全部啟動openstack compute service list

OpenStack-compute-service-list

計算節(jié)點(diǎn)執(zhí)行操作

  1. 安裝
    yum install openstack-nova-compute -y
  2. 配置nova.conf
# configure rabbitmq in [DEFAULT] and [oslo_messaging_rabbit]
# configure manager ip address
# configure neutron
[DEFAULT]
rpc_backend=rabbit
my_ip=192.168.0.100
use_neutron=True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[oslo_messaging_rabbit]
rabbit_host=ops-cont
rabbit_userid=openstack
rabbit_password=passwd
# configure auth in [DEFAULT] and [keystone_authtoken]
[keystone_authtoken]
auth_uri=http://ops-cont:5000
auth_url=http://ops-cont:35357
memcached_servers=ops-cont:11211
auth_type=password
project_domian_name=default
user_domain_name=default
project_name=server
username=nova
password=passwd
# configure vnc in [vnc]
enabled=True
vncserver_listen=0.0.0.0
vncserver_proxyclient_address=$my_ip
novncproxy_base_url=http://ops-cont:6080/vnc_auto.html
# configure iamges in [glance]
[glance]
api_servers=http://ops-cont:9292
# configure lock path in [oslo_concurrency]
lock_path=/var/lib/nova/tmp
# configure placement in [placement]
auth_uri=http://ops-cont:5000/v3
auth_url=http://ops-cont:35357/v3
os_region_name=RegionOne
project_domain_name=default
user_domain_name=default
project_name=service
user_name=placement
password=passwd
  1. 使用kvm虛擬化
vi /etc/nova/nova.conf
# enable kvm in [libvirt]
virt_type=kvm
  1. 啟動服務(wù)
# start
systemctl start libvirtd openstack-nova-compute
# enable 
systemctl enable libvirtd openstack-nova-compute

注意

按照官方文檔安裝OpenStack-nova(ocata)時,在啟動計算節(jié)點(diǎn)時會報如下錯誤:
> ERROR oslo_service.service PlacementNotConfigured: This compute is not configured to talk to the placement service. Configure the [placement] section of nova.conf and restart the service.

ERROR-placement

根據(jù)提示拍柒,我們首先需要在控制節(jié)點(diǎn)中安裝配置placement組件心傀,同時需要將placement組件的配置信息寫入到計算節(jié)點(diǎn)中的nova.conf文件中。

參考

  1. 安裝并配置控制節(jié)點(diǎn)
  2. 安裝和配置計算節(jié)點(diǎn)
  3. Install and configure Placement for Red Hat Enterprise Linux and CentOS
  4. Install and configure controller node
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拆讯,一起剝皮案震驚了整個濱河市脂男,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌种呐,老刑警劉巖宰翅,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異爽室,居然都是意外死亡汁讼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進(jìn)店門阔墩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嘿架,“玉大人,你說我怎么就攤上這事啸箫∷时耄” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵忘苛,是天一觀的道長蝉娜。 經(jīng)常有香客問我,道長扎唾,這世上最難降的妖魔是什么蜀肘? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮稽屏,結(jié)果婚禮上扮宠,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好坛增,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布获雕。 她就那樣靜靜地躺著,像睡著了一般收捣。 火紅的嫁衣襯著肌膚如雪届案。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天罢艾,我揣著相機(jī)與錄音楣颠,去河邊找鬼。 笑死咐蚯,一個胖子當(dāng)著我的面吹牛童漩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播春锋,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼矫膨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了期奔?” 一聲冷哼從身側(cè)響起侧馅,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呐萌,沒想到半個月后馁痴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肺孤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年弥搞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渠旁。...
    茶點(diǎn)故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖船逮,靈堂內(nèi)的尸體忽然破棺而出顾腊,到底是詐尸還是另有隱情,我是刑警寧澤挖胃,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布杂靶,位于F島的核電站,受9級特大地震影響酱鸭,放射性物質(zhì)發(fā)生泄漏吗垮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一凹髓、第九天 我趴在偏房一處隱蔽的房頂上張望烁登。 院中可真熱鬧,春花似錦蔚舀、人聲如沸饵沧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽狼牺。三九已至羡儿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間是钥,已是汗流浹背掠归。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悄泥,地道東北人虏冻。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像码泞,于是被迫代替她去往敵國和親兄旬。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容