深信服技术认证之Openstack云平台使用入门
Openstack云平臺(tái)使用入門
“The?OpenStack?project is an open source cloud computing platform that supports all types of cloud environments. The project aims for simple implementation, massive scalability, and a rich set of features. Cloud computing experts from around the world contribute to the project. ”
OpenStack是一個(gè)開源的云計(jì)算管理平臺(tái)項(xiàng)目,是一系列軟件開源項(xiàng)目的組合。由NASA(美國國家航空航天局)和Rackspace合作研發(fā)并發(fā)起,以Apache許可證(Apache軟件基金會(huì)發(fā)布的一個(gè)自由軟件許可證)授權(quán)的開源代碼項(xiàng)目。OpenStack為私有云和公有云提供可擴(kuò)展的彈性的云計(jì)算服務(wù)。項(xiàng)目目標(biāo)是提供實(shí)施簡單、可大規(guī)模擴(kuò)展、豐富、標(biāo)準(zhǔn)統(tǒng)一的云計(jì)算管理平臺(tái)。
下面我們來看一下,在部署好的一個(gè)單機(jī)測(cè)試環(huán)境上如何啟動(dòng)一個(gè)實(shí)例?
1、創(chuàng)建鏡像
(1) 生效管理員環(huán)境變量并創(chuàng)建鏡像
這里我們使用官方的鏡像CentOS-7-x86_64-GenericCloud.qcow2
[root@localhost ~]# ls
admin-openrc demo-openrc
CentOS-7-x86_64-GenericCloud.qcow2 cirros-0.3.4-x86_64-disk.img
[root@localhost ~]# source admin-openrc
#創(chuàng)建鏡像命令語法
openstack image create “?定義鏡像名” --file?鏡像?件名稱?--disk-format?格式化類型?--container-format bare --public
usage:
[root@localhost ~]# openstack image create --file ~/CentOS-7-x86_64-GenericCloud.qcow2 --disk-format qcow2 --container-format bare --public Centos7
[root@localhost ~]# openstack image list
(2)為后面修改root的默認(rèn)密碼做準(zhǔn)備
1)給鏡像添加一個(gè)元數(shù)據(jù)信息
glance image-update 鏡像ID --property hw_qemu_guest_agent=yes
glance image-update 8b8b10b0-7684-44c7-ba7b-d729374eaaad --property hw_qemu_guest_agent=yes #注意修改為自己的實(shí)際鏡像ID
2)修改controller節(jié)點(diǎn)的nova.conf配置文件
vi /etc/nova/nova.conf
在[libvirt]項(xiàng)找到并修改inject_password參數(shù)為true,我們直接添加即可
inject_password=true
同樣,在計(jì)算節(jié)點(diǎn)也需要修改,因?yàn)槲覀兪欠植襟E安裝的all in one模式,同時(shí)修改了。
3)重啟nova-api服務(wù)
systemctl restart openstack-nova-api.service
2、創(chuàng)建云主機(jī)類型
(1)名稱:s_flavor、vcpu:1個(gè)、ram:1024M、磁盤:10G
usage:
[root@localhost ~]# openstack flavor create --ram 1024 --vcpus 1 --disk 10 --public s_flavor
[root@localhost ~]# openstack flavor list
3、創(chuàng)建項(xiàng)目
(1)項(xiàng)目名稱:sangf
項(xiàng)?列表查詢
#?命令語句?openstack project list
ID:項(xiàng)?的唯?ID; Name:項(xiàng)?名稱。
項(xiàng)?詳情查詢
#?命令語句?openstack project show?項(xiàng)?名
樣例?openstack project show service
查詢某?項(xiàng)?下的所有?戶
#?命令語句?openstack user list --project=項(xiàng)?名
樣例?openstack user list --project=service
創(chuàng)建項(xiàng)?
#命令語法?openstack project create --domain?域名?--description”對(duì)創(chuàng)建項(xiàng)?的描述”?項(xiàng)?名
樣例?openstack project create --domain default --description "Service Project" service
usage:
[root@localhost ~]# openstack project create --domain default --description "My Project" --enable sangf
[root@localhost ~]# openstack project list
4、創(chuàng)建租戶并設(shè)置租戶配額
(1)管理用戶:sangfor 用戶密碼:123456
[root@localhost ~]# openstack user create --project sangf --domain default --password 123456 --enable sangfor
[root@localhost ~]# openstack user list | grep sangfor
[root@localhost ~]# openstack role add --project sangf --user sangfor admin
(2)項(xiàng)目配額:虛擬內(nèi)核3個(gè)、內(nèi)存4G、實(shí)例5個(gè),其他配置默認(rèn)。
[root@localhost ~]# openstack quota set --ram 1024 --instances 5 --cores 3 sangf
[root@localhost ~]# openstack quota show sangf | grep -E "ram|instances|cores"
(3)編寫租戶sangfor環(huán)境變量
[root@localhost ~]# cp -r admin-openrc sangfor-openrc
[root@localhost ~]# vi sangfor-openrc
unset OS_SERVICE_TOKEN
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USERNAME=sangfor
export OS_PASSWORD=123456
export OS_AUTH_URL=http://controller:35357/v3
export OS_PROJECT_NAME=sangf
export OS_IDENTITY_API_VERSION=3
#export OS_REGION_NAME=RegionOne
5、創(chuàng)建共享網(wǎng)絡(luò)和私有網(wǎng)絡(luò)
查看?絡(luò)服務(wù)狀態(tài)
#命令語句
systemctl status neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
#服務(wù)解析:
1)neutron-server.service ?于接受apI請(qǐng)求創(chuàng)建?絡(luò),??,路由器等。
2)neutron-linuxbridge-agent.service報(bào)告狀態(tài);處理RPC API;實(shí)現(xiàn)neutron中定義的?絡(luò)拓?fù)洹?/p>
3)neutron-dhcp-agent.service ?于創(chuàng)建和管理虛擬DHCP Server。
4)neutron-metadata-agent.service neutron-metadata-agent運(yùn)?在?絡(luò)節(jié)點(diǎn)上,作為中間?使instance可以訪問請(qǐng)求nova-api-metadata。
(1)共享網(wǎng)絡(luò)名:public-net,由admin用戶創(chuàng)建,并設(shè)置共享
#查看物理網(wǎng)絡(luò)類型"provider-network-type"
[root@localhost ~]# grep type_drivers /etc/neutron/plugin.ini
type_drivers = flat,vlan,gre,vxlan,geneve
#顯示網(wǎng)絡(luò)類型為flat
#查看物理網(wǎng)絡(luò)名稱"provider-physical-network"
[root@localhost ~]# grep ^flat /etc/neutron/plugin.ini
flat_networks = provider
[root@localhost ~]# grep ^flat /etc/neutron/plugins/ml2/ml2_conf.ini
flat_networks = provider
usage:
#命令語法
openstack network create?--provider-physical-network?物理網(wǎng)絡(luò)名稱 --provider-network-type?flat?--share --external
#-share 允許所有項(xiàng)目都可以使用該網(wǎng)絡(luò) #-external 定義連通外部的虛擬網(wǎng)絡(luò) #物理網(wǎng)絡(luò)名稱,由ml2_conf.ini文件的flat_networks確定
#物理網(wǎng)絡(luò)類型,映射到虛擬主機(jī)的網(wǎng)卡eth0,由linuxbridge_agent.ini文件中的physical_interface_mappings確定
[root@localhost ~]# openstack network create --project sangf --os-username admin --external --enable --share --provider-network-type flat --provider-physical-network provider public-net
[root@localhost ~]# openstack network list
(2)創(chuàng)建共享網(wǎng)絡(luò)子網(wǎng):subnet-pub,網(wǎng)段為本地eth0
[root@localhost ~]# hostname -I
192.168.17.222 192.168.122.1
[root@localhost ~]# openstack subnet create --subnet-range 10.0.10.0/24 --gateway 10.0.10.2 --network public-net --dns-nameserver 114.114.114.114 --allocation-pool start=10.0.10.151,end=10.0.10.200 --dhcp subnet-pub
[root@localhost ~]# openstack subnet list
(3)私有網(wǎng)絡(luò)名:private-net,由sangfor用戶創(chuàng)建
在openstack中,網(wǎng)絡(luò)管理是比較復(fù)雜且難度較大的一個(gè)知識(shí)點(diǎn),本實(shí)驗(yàn)租戶網(wǎng)絡(luò)使用linuxbridge,計(jì)算節(jié)點(diǎn)基于 Self-service networks,在 linuxbridge 環(huán)境中,一個(gè)數(shù)據(jù)包從 Instance 云主機(jī)實(shí)例發(fā)送到物理網(wǎng)卡會(huì)經(jīng)過下面幾個(gè)類型的設(shè)備:
· tap Interface : tapNxxx(N 為 0、1、2.....)
· Linux Bridge : brqxxx
· vlan Interface : ethX.Y(或ensX.Y;X 為 Interface 的序號(hào),Y 為 vlan id。)
· vxlan Interface : vxlan-Z(Z 是 VNI)
· 物理 Interface: ethx(或ensx;x 為 Interface 的序號(hào))
[root@localhost ~]# source sangfor-openrc
[root@localhost ~]# openstack network create --project sangf --os-username sangfor --enable private-net
[root@localhost ~]# openstack network list
(4)創(chuàng)建私有網(wǎng)絡(luò)子網(wǎng):subnet-private,網(wǎng)段為192.168.10網(wǎng)段
[root@localhost ~]# openstack subnet create --subnet-range 192.168.10.0/24 --gateway 192.168.10.254 --network private-net --dns-nameserver 8.8.8.8 --allocation-pool start=192.168.10.151,end=192.168.10.200 --dhcp subnet-private
[root@localhost ~]# openstack subnet list
6、創(chuàng)建路由,并關(guān)聯(lián)內(nèi)外網(wǎng)
(1)名稱:s_router
[root@localhost ~]# source admin-openrc
[root@localhost ~]# openstack router create --enable s_router
[root@localhost ~]# openstack router list
(2)設(shè)置外部網(wǎng)關(guān)
選擇外部網(wǎng)絡(luò)public-net設(shè)置網(wǎng)關(guān):
usage:
[root@localhost ~]# openstack router set --external-gateway public-net s_router
[root@localhost ~]# openstack router show s_router | grep external_gateway
(3)設(shè)置內(nèi)部接口
usage:
[root@localhost ~]# openstack router add subnet s_router subnet-private
[root@localhost ~]# openstack router show s_router | grep interfaces_info
網(wǎng)絡(luò)拓?fù)?#xff1a;
7、創(chuàng)建安全組
(1)名稱:s_sec
[root@localhost ~]# openstack security group create s_sec
[root@localhost ~]# openstack security group list
(2)開放22號(hào)端口
[root@localhost ~]# openstack security group rule create --protocol tcp --dst-port 22 --ethertype IPv4 --ingress s_sec
[root@localhost ~]# openstack security group rule list s_sec
8、生成密鑰對(duì)
(1)名稱:s_key
[root@localhost ~]# openstack keypair create s_key > ~/s-key.pem
(2)密鑰需保存在本地:cd /root/
[root@localhost ~]# ll
(3)設(shè)置密鑰文件為僅可讀
[root@localhost ~]# chmod 400 s-key.pem
[root@localhost ~]# ll
9、創(chuàng)建云主機(jī)實(shí)例,并分配浮動(dòng)IP
(1)使用鏡像:Centos7、使用云主機(jī)類型:s_flavor、使用網(wǎng)絡(luò):private-net、使用安全組:s_sec、使用密鑰對(duì):s_key,名稱:s_cloud
[root@localhost ~]# source admin-openrc
[root@localhost ~]# openstack server create --image Centos7 --key-name s_key --security-group s_sec --flavor s_flavor --network private-net s_cloud
其他練習(xí)示例:
openstack server create --image cirros --flavor m1.nano --network private-net s_cloud02
openstack server create --image cirros --key-name s_key --security-group s_sec --flavor m1.nano --network private-net s_cloud03
[root@localhost ~]# openstack server list
重置鏡像默認(rèn)密碼為自定義:
稍等片刻......待實(shí)例云主機(jī)創(chuàng)建完成能訪問之后:
openstack server set --root-password 實(shí)例ID
[root@localhost ~]# openstack server set --root-password be70cf30-3b91-4d17-8917-9e94d5928899 #改為自己實(shí)際的實(shí)例id
根據(jù)提示設(shè)置輸入自定義密碼,即root登錄密碼。
(2)生成浮動(dòng)IP
[root@localhost ~]# openstack floating ip create public-net
[root@localhost ~]# openstack floating ip list
(3)給云主機(jī)綁定浮動(dòng)IP
[root@localhost ~]# openstack server add floating ip s_cloud 10.0.10.153 #改為自己實(shí)際的浮動(dòng)IP地址
[root@localhost ~]# openstack server list
10、遠(yuǎn)程連接云主機(jī),并查看網(wǎng)絡(luò)信息
[root@localhost ~]# ssh -i s-key.pem root@10.0.10.153
[root@localhost ~]# ifconfig
文章作者傅先全:深信服云計(jì)算認(rèn)證專家,產(chǎn)業(yè)教育中心資深講師,曾任職于中國電信集團(tuán)、華晟經(jīng)世教育集團(tuán),分別擔(dān)任云平臺(tái)資深架構(gòu)師、IT課程總監(jiān)及名師團(tuán)金牌講師、多所高校特聘專家講師;十余年云計(jì)算、大數(shù)據(jù)行業(yè)從業(yè)經(jīng)驗(yàn),在企業(yè)信息化建設(shè)、企業(yè)項(xiàng)目管理、云平臺(tái)架構(gòu)設(shè)計(jì)等方面有較強(qiáng)的實(shí)戰(zhàn)經(jīng)驗(yàn);研究方向?yàn)樵朴?jì)算、大數(shù)據(jù)技術(shù)等,具有豐富的知識(shí)轉(zhuǎn)換以及課程交付經(jīng)驗(yàn);同時(shí),在院校學(xué)科建設(shè)、人才培養(yǎng)、項(xiàng)目科研、職業(yè)技能人才認(rèn)證等方面具有豐富的產(chǎn)教融合體系建設(shè)與組織經(jīng)驗(yàn)。
總結(jié)
以上是生活随笔為你收集整理的深信服技术认证之Openstack云平台使用入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 集群NAS+SSD如虎添翼
- 下一篇: [ngRepeat:dupes] Dup