深信服技术认证之Openstack云平台使用入门
Openstack云平臺使用入門
“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是一個開源的云計算管理平臺項目,是一系列軟件開源項目的組合。由NASA(美國國家航空航天局)和Rackspace合作研發并發起,以Apache許可證(Apache軟件基金會發布的一個自由軟件許可證)授權的開源代碼項目。OpenStack為私有云和公有云提供可擴展的彈性的云計算服務。項目目標是提供實施簡單、可大規模擴展、豐富、標準統一的云計算管理平臺。
下面我們來看一下,在部署好的一個單機測試環境上如何啟動一個實例?
1、創建鏡像
(1) 生效管理員環境變量并創建鏡像
這里我們使用官方的鏡像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
#創建鏡像命令語法
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的默認密碼做準備
1)給鏡像添加一個元數據信息
glance image-update 鏡像ID --property hw_qemu_guest_agent=yes
glance image-update 8b8b10b0-7684-44c7-ba7b-d729374eaaad --property hw_qemu_guest_agent=yes #注意修改為自己的實際鏡像ID
2)修改controller節點的nova.conf配置文件
vi /etc/nova/nova.conf
在[libvirt]項找到并修改inject_password參數為true,我們直接添加即可
inject_password=true
同樣,在計算節點也需要修改,因為我們是分步驟安裝的all in one模式,同時修改了。
3)重啟nova-api服務
systemctl restart openstack-nova-api.service
2、創建云主機類型
(1)名稱:s_flavor、vcpu:1個、ram:1024M、磁盤:10G
usage:
[root@localhost ~]# openstack flavor create --ram 1024 --vcpus 1 --disk 10 --public s_flavor
[root@localhost ~]# openstack flavor list
3、創建項目
(1)項目名稱:sangf
項?列表查詢
#?命令語句?openstack project list
ID:項?的唯?ID; Name:項?名稱。
項?詳情查詢
#?命令語句?openstack project show?項?名
樣例?openstack project show service
查詢某?項?下的所有?戶
#?命令語句?openstack user list --project=項?名
樣例?openstack user list --project=service
創建項?
#命令語法?openstack project create --domain?域名?--description”對創建項?的描述”?項?名
樣例?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、創建租戶并設置租戶配額
(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)項目配額:虛擬內核3個、內存4G、實例5個,其他配置默認。
[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環境變量
[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、創建共享網絡和私有網絡
查看?絡服務狀態
#命令語句
systemctl status neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service
#服務解析:
1)neutron-server.service ?于接受apI請求創建?絡,??,路由器等。
2)neutron-linuxbridge-agent.service報告狀態;處理RPC API;實現neutron中定義的?絡拓撲。
3)neutron-dhcp-agent.service ?于創建和管理虛擬DHCP Server。
4)neutron-metadata-agent.service neutron-metadata-agent運?在?絡節點上,作為中間?使instance可以訪問請求nova-api-metadata。
(1)共享網絡名:public-net,由admin用戶創建,并設置共享
#查看物理網絡類型"provider-network-type"
[root@localhost ~]# grep type_drivers /etc/neutron/plugin.ini
type_drivers = flat,vlan,gre,vxlan,geneve
#顯示網絡類型為flat
#查看物理網絡名稱"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?物理網絡名稱 --provider-network-type?flat?--share --external
#-share 允許所有項目都可以使用該網絡 #-external 定義連通外部的虛擬網絡 #物理網絡名稱,由ml2_conf.ini文件的flat_networks確定
#物理網絡類型,映射到虛擬主機的網卡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)創建共享網絡子網:subnet-pub,網段為本地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)私有網絡名:private-net,由sangfor用戶創建
在openstack中,網絡管理是比較復雜且難度較大的一個知識點,本實驗租戶網絡使用linuxbridge,計算節點基于 Self-service networks,在 linuxbridge 環境中,一個數據包從 Instance 云主機實例發送到物理網卡會經過下面幾個類型的設備:
· tap Interface : tapNxxx(N 為 0、1、2.....)
· Linux Bridge : brqxxx
· vlan Interface : ethX.Y(或ensX.Y;X 為 Interface 的序號,Y 為 vlan id。)
· vxlan Interface : vxlan-Z(Z 是 VNI)
· 物理 Interface: ethx(或ensx;x 為 Interface 的序號)
[root@localhost ~]# source sangfor-openrc
[root@localhost ~]# openstack network create --project sangf --os-username sangfor --enable private-net
[root@localhost ~]# openstack network list
(4)創建私有網絡子網:subnet-private,網段為192.168.10網段
[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、創建路由,并關聯內外網
(1)名稱:s_router
[root@localhost ~]# source admin-openrc
[root@localhost ~]# openstack router create --enable s_router
[root@localhost ~]# openstack router list
(2)設置外部網關
選擇外部網絡public-net設置網關:
usage:
[root@localhost ~]# openstack router set --external-gateway public-net s_router
[root@localhost ~]# openstack router show s_router | grep external_gateway
(3)設置內部接口
usage:
[root@localhost ~]# openstack router add subnet s_router subnet-private
[root@localhost ~]# openstack router show s_router | grep interfaces_info
網絡拓撲:
7、創建安全組
(1)名稱:s_sec
[root@localhost ~]# openstack security group create s_sec
[root@localhost ~]# openstack security group list
(2)開放22號端口
[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、生成密鑰對
(1)名稱:s_key
[root@localhost ~]# openstack keypair create s_key > ~/s-key.pem
(2)密鑰需保存在本地:cd /root/
[root@localhost ~]# ll
(3)設置密鑰文件為僅可讀
[root@localhost ~]# chmod 400 s-key.pem
[root@localhost ~]# ll
9、創建云主機實例,并分配浮動IP
(1)使用鏡像:Centos7、使用云主機類型:s_flavor、使用網絡:private-net、使用安全組:s_sec、使用密鑰對: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
其他練習示例:
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
重置鏡像默認密碼為自定義:
稍等片刻......待實例云主機創建完成能訪問之后:
openstack server set --root-password 實例ID
[root@localhost ~]# openstack server set --root-password be70cf30-3b91-4d17-8917-9e94d5928899 #改為自己實際的實例id
根據提示設置輸入自定義密碼,即root登錄密碼。
(2)生成浮動IP
[root@localhost ~]# openstack floating ip create public-net
[root@localhost ~]# openstack floating ip list
(3)給云主機綁定浮動IP
[root@localhost ~]# openstack server add floating ip s_cloud 10.0.10.153 #改為自己實際的浮動IP地址
[root@localhost ~]# openstack server list
10、遠程連接云主機,并查看網絡信息
[root@localhost ~]# ssh -i s-key.pem root@10.0.10.153
[root@localhost ~]# ifconfig
文章作者傅先全:深信服云計算認證專家,產業教育中心資深講師,曾任職于中國電信集團、華晟經世教育集團,分別擔任云平臺資深架構師、IT課程總監及名師團金牌講師、多所高校特聘專家講師;十余年云計算、大數據行業從業經驗,在企業信息化建設、企業項目管理、云平臺架構設計等方面有較強的實戰經驗;研究方向為云計算、大數據技術等,具有豐富的知識轉換以及課程交付經驗;同時,在院校學科建設、人才培養、項目科研、職業技能人才認證等方面具有豐富的產教融合體系建設與組織經驗。
總結
以上是生活随笔為你收集整理的深信服技术认证之Openstack云平台使用入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 集群NAS+SSD如虎添翼
- 下一篇: [ngRepeat:dupes] Dup