云計(jì)算總結(jié)

1:什么是云計(jì)算?

云計(jì)算是一種按量付費(fèi)的模式!云計(jì)算的底層是通過(guò)虛擬化技術(shù)來(lái)實(shí)現(xiàn)的!

2:云計(jì)算的服務(wù)類型

2.1 IAAS 基礎(chǔ)設(shè)施即服務(wù) 虛擬機(jī) ecs openstack
2.2 PAAS 平臺(tái)即服務(wù) php,java docker容器
2.3 SAAS 軟件即服務(wù) 企業(yè)郵箱服務(wù) cdn服務(wù) rds數(shù)據(jù)庫(kù) 開發(fā)+運(yùn)維

3:為什么要用云計(jì)算

小公司:10臺(tái) 20w+ idc 5w + 100M 10W, 10臺(tái)云主機(jī),前期投入小,擴(kuò)展靈活,風(fēng)險(xiǎn)小
大公司:閑置服務(wù)器計(jì)算資源,虛擬機(jī),出租(超賣計(jì)算)
64G 服務(wù)器 64臺(tái)1G 320臺(tái)1G
國(guó)企,銀行

4:云計(jì)算的基礎(chǔ)KVM虛擬化

宿主機(jī):內(nèi)存4G+ 純凈的系統(tǒng)CentOS-7

4.1:什么是虛擬化?

虛擬化,通過(guò)模擬計(jì)算機(jī)的硬件,來(lái)實(shí)現(xiàn)在同一臺(tái)計(jì)算機(jī)上同時(shí)運(yùn)行多個(gè)不同的操作系統(tǒng)的技術(shù)。

4.2 :虛擬化軟件的差別

虛擬化軟件:  qemu 軟件純模擬全虛擬化軟件,特別慢!AIX,兼容性好!  xen(半) 性能特別好,需要使用專門修改之后的內(nèi)核,兼容性差! redhat 5.5 xen kvm  KVM(linux) 全虛擬機(jī),它有硬件支持cpu,基于內(nèi)核,而且不需要使用專門的內(nèi)核 centos6 kvm  性能較好,兼容較好

4.3 安裝kvm虛擬化管理工具

KVM:Kernel-based Virtual Machine
yum install libvirt virt-install qemu-kvm -y
KVM:Kernel-based Virtual Machine
libvirt 作用:虛擬機(jī)的管理軟件  libvirt: kvm,xen,qemu,lxc....
virt virt-install virt-clone 作用:虛擬機(jī)的安裝工具和克隆工具  qemu-kvm qemu-img (qcow2,raw)作用:管理虛擬機(jī)的虛擬磁盤

環(huán)境要求:
centos 7.4 7.6
vmware 宿主機(jī) kvm虛擬機(jī)
內(nèi)存4G,cpu開啟虛擬化
IP:10.0.0.11

echo '192.168.12.201 mirrors.aliyun.com' >>/etc/hosts
curl -o /etc/yum.repos.d/CentOS-Base.repo [http://mirrors.aliyun.com/repo/Centos-7.repo](http://mirrors.aliyun.com/repo/Centos-7.repo)

安裝軟件包
yum install libvirt virt-install qemu-kvm -y

4.4:安裝一臺(tái)kvm虛擬機(jī)

分發(fā)軟件TightVNC或者VNC-Viewer-6.19.325  宿主機(jī)
微軟的遠(yuǎn)程桌面
vnc:遠(yuǎn)程的桌面管理工具  向日葵  微軟的遠(yuǎn)程桌面
systemctl start libvirtd.service  systemctl status libvirtd.service

10.0.0.11 宿主機(jī)
建議虛擬機(jī)內(nèi)存不要低于1024M,否則安裝系統(tǒng)特別慢!  virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

vnc:10.0.0.11:5900
--virt-type kvm 虛擬化的類型(qemu)  --os-type=linux 系統(tǒng)類型  --os-variant rhel7 系統(tǒng)版本  --name centos7 虛擬機(jī)的名字 --memory 1024 虛擬機(jī)的內(nèi)存  --vcpus 1 虛擬cpu的核數(shù)  --disk /opt/centos2.raw,format=raw,size=10  --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default 使用默認(rèn)NAT的網(wǎng)絡(luò)  --graphics vnc,listen=0.0.0.0 --noautoconsole

云主機(jī)都沒有swap分區(qū)

4.5:kvm虛擬機(jī)的virsh日常管理和配置

列表list(--all)  開機(jī)start  關(guān)機(jī)shutdown  拔電源關(guān)機(jī)destroy  重啟reboot
導(dǎo)出配置dumpxml 例子:virsh dumpxml centos7 >centos7-off.xml  刪除undefine 推薦:先destroy,在undefine  導(dǎo)入配置define 修改配置edit(自帶語(yǔ)法檢查)
重命名domrename (低版本不支持)  掛起suspend  恢復(fù)resume  查詢vnc端口號(hào)vncdisplay
kvm虛擬機(jī)開機(jī)啟動(dòng)
console 控制臺(tái) 登錄  kvm運(yùn)行業(yè)務(wù)程序  autostart
開機(jī)啟動(dòng)autostart,前提:systemctl enable libvirtd;  取消開機(jī)啟動(dòng)autostart --disable
centos7的kvm虛擬機(jī):  grubby --update-kernel=ALL --args="console=ttyS0,115200n8"

reboot
作業(yè)1:實(shí)現(xiàn)centos6的kvm虛擬機(jī),console命令行登錄?  安裝一臺(tái)centos6的kvm虛擬機(jī),在安裝的過(guò)程中需要swap 200m,selinux禁用,取消swap

console命令行登錄
作業(yè)2:centos6實(shí)現(xiàn)沒有swap分區(qū),啟動(dòng)進(jìn)系統(tǒng)

4.6:kvm虛擬機(jī)虛擬磁盤格式轉(zhuǎn)換和快照管理

raw: 裸格式,占用空間比較大,不支持快照功能,性能較好,不方便傳輸 總50G 占用50G  qcow2: cow(copy on write)占用空間小,支持快照,性能比raw差一點(diǎn),方便傳輸 總50G 占用2G
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /data/oldboy.qcow2,format=qcow2,size=10 --cdrom /data/CentOS-7.2-x86_64-DVD-1511.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

4.6.1磁盤工具的常用命令

qemu -img info,create,resize,convert
查看虛擬磁盤信息  qemu-img info test.qcow2
創(chuàng)建一塊qcow2格式的虛擬硬盤:  qemu-img create -f qcow2 test.qcow2 2G
調(diào)整磁盤磁盤容量  qemu-img resize test.qcow2 +20G
raw轉(zhuǎn)qcow2:qemu-img convert -f raw -O qcow2 oldboy.raw oldboy.qcow2  convert [-f fmt] [-O output_fmt] filename output_filename  -c 壓縮  virsh edit web01:

<disk type='file' device='disk'>
 <driver name='qemu' type='qcow2'/>
 <source file='/data/centos2.qcow2'/>
 <target dev='vda' bus='virtio'/>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>

virsh destroy web01  virsh start web01

4.6.2快照管理

創(chuàng)建快照virsh snapshot-create-as centos7 --name install_ok  
查看快照virsh snapshot-list centos7
還原快照virsh snapshot-revert centos7 --snapshotname 1516574134  
刪除快照virsh snapshot-delete centos7 --snapshotname 1516636570
raw不支持做快照,qcow2支持快照,并且快照就保存在qcow2的磁盤文件中

4.7:kvm虛擬機(jī)克隆

4.7.1:完整克隆

自動(dòng)擋:
virt-clone --auto-clone -o web01 -n web02 (完整克隆)

手動(dòng)擋:
cp centos2-clone.qcow2 web02.qcow2
virsh dumpxml web01 >web02.xml
vim web02.xml
#修改虛擬機(jī)的名字
#刪除虛擬機(jī)uuid
#刪除mac地址
#修改磁盤路徑
virsh define web02.xml 
virsh start web02

4.7.2:鏈接克隆

a:生成虛擬機(jī)磁盤文件  qemu-img create -f qcow2 -b 49-web03.qcow2 49-web04.qcow2
b:生成虛擬機(jī)的配置文件
virsh dumpxml web01 >web03.xml
vim web03.xml
#修改虛擬機(jī)的名字
<name>web03</name>
#刪除虛擬機(jī)uuid
<uuid>8e505e25-5175-46ab-a9f6-feaa096daaa4</uuid>
#刪除mac地址
<mac address='52:54:00:4e:5b:89'/>
#修改磁盤路徑
<source file='/opt/web03.qcow2'/>
c:導(dǎo)入虛擬機(jī)并進(jìn)行啟動(dòng)測(cè)試
virsh define web03.xml virsh start web03
全自動(dòng)鏈接克隆腳本:
[root@kvm01 scripts]# cat link_clone.sh 
#!/bin/bash
old_vm=$1
new_vm=$2
#a:生成虛擬機(jī)磁盤文件
old_disk=`virsh dumpxml $old_vm|grep "<source file"|awk -F"'" '{print $2}'`
disk_tmp=`dirname $old_disk`
qemu-img create -f qcow2 -b $old_disk  ${disk_tmp}/${new_vm}.qcow2
#b:生成虛擬機(jī)的配置文件
virsh dumpxml $old_vm >/tmp/${new_vm}.xml
#修改虛擬機(jī)的名字
sed -ri "s#(<name>)(.*)(</name>)#\1${new_vm}\3#g" /tmp/${new_vm}.xml
#刪除虛擬機(jī)uuid
sed -i '/<uuid>/d' /tmp/${new_vm}.xml
#刪除mac地址
sed -i '/<mac address/d' /tmp/${new_vm}.xml
#修改磁盤路徑
sed -ri "s#(<source file=')(.*)('/>)#\1${disk_tmp}/${new_vm}.qcow2\3#g" /tmp/${new_vm}.xml
#c:導(dǎo)入虛擬機(jī)并進(jìn)行啟動(dòng)測(cè)試
virsh define /tmp/${new_vm}.xml
virsh start ${new_vm}

鏈接克隆:
qemu-img create -f qcow2 -b 49-web03.qcow2 49-web04.qcow2
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --disk /opt/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

4.8:kvm虛擬機(jī)的橋接網(wǎng)絡(luò)

默認(rèn)的虛擬機(jī)網(wǎng)絡(luò)是NAT模式,網(wǎng)段192.168.122.0/24

4.8.1:創(chuàng)建橋接網(wǎng)卡

創(chuàng)建橋接網(wǎng)卡命令  virsh iface-bridge eth0 br0  取消橋接網(wǎng)卡命令  virsh iface-unbridge br0

4.8.2 新虛擬機(jī)使用橋接模式

默認(rèn)NAT模式  virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --disk /opt/web04.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole 
橋接模式  virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --disk /data/web04.qcow2 --boot hd **--network bridge=br0** --graphics vnc,listen=0.0.0.0 --noautoconsole

問題1:
如果虛擬機(jī)獲取不到ip地址:

4.8.3 將已有虛擬機(jī)網(wǎng)絡(luò)修改為橋接模式

a:關(guān)機(jī)狀態(tài)下修改虛擬機(jī)配置文件:
例如:virsh edit centos7
<interface type='bridge'>
 <source bridge='br0'/>
b:?jiǎn)?dòng)虛擬機(jī),測(cè)試虛擬機(jī)網(wǎng)絡(luò)

4.9:熱添加技術(shù)

熱添加硬盤、網(wǎng)卡、內(nèi)存、cpu

4.9.1 kvm熱添加硬盤

臨時(shí)生效
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2

永久生效
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2 --config

臨時(shí)剝離硬盤
virsh detach-disk web01 vdb

永久剝離硬盤
virsh detach-disk web01 vdb --config

擴(kuò)容:  在虛擬機(jī)里把擴(kuò)容盤的掛載目錄,卸載掉  在宿主機(jī)上剝離硬盤virsh detach-disk web01 vdb  在宿主機(jī)上調(diào)整容量qemu-img resize  在宿主機(jī)上再次附加硬盤virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2  在虛擬機(jī)里再次掛載擴(kuò)容盤  在虛擬機(jī)里用xfs_growfs更新擴(kuò)容盤超級(jí)塊信息

作業(yè)1:擴(kuò)容kvm虛擬機(jī)的根分區(qū)
作業(yè)2:誤刪centos7虛擬機(jī)系統(tǒng)文件rm -fr /lib64/libc.so.6,如何恢復(fù)?

4.9.2 kvm虛擬機(jī)在線熱添加網(wǎng)卡

virsh attach-interface web04 --type bridge --source br0 --model virtio detach-interface web04 --type bridge --mac 52:54:00:35:d3:71

4.9.3 kvm虛擬機(jī)在線熱添加內(nèi)存

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 512,maxmemory=2048 --vcpus 1 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

臨時(shí)熱添加內(nèi)存 
virsh setmem web04 1024M 
永久增大內(nèi)存  
virsh setmem web04 1024M --config

4.9.4 kvm虛擬機(jī)在線熱添加cpu

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 512,maxmemory=2048 --vcpus 1,maxvcpus=10 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole  
熱添加cpu核數(shù)  virsh setvcpus web04 4 
永久添加cpu核數(shù)  virsh setvcpus web04 4 --config

4.10:virt-manager和kvm虛擬機(jī)熱遷移(共享的網(wǎng)絡(luò)文件系統(tǒng))

冷遷移kvm虛擬機(jī):配置文件,磁盤文件
熱遷移kvm虛擬機(jī):配置文件,nfs共享

1):  yum groupinstall "GNOME Desktop" -y  yum install openssh-askpass -y
yum install tigervnc-server -y
vncpasswd  vncserver :1  
vncserver -kill :1

2):kvm虛擬機(jī)熱遷移  
1:兩邊的環(huán)境(橋接網(wǎng)卡) 
2:實(shí)現(xiàn)共享存儲(chǔ)(nfs)  
3:虛擬機(jī)橋接網(wǎng)絡(luò)  
4:在線熱遷移

5: ESXI虛擬化系統(tǒng)

5.1 安裝ESXI

5.1.1創(chuàng)建虛擬機(jī)
一路回車,直到
按F11

5.2啟動(dòng)ESXI

5.3 安裝ESXI客戶端

一路下一步就行
安裝完成

5.4使用客戶端連接EXSI服務(wù)端

連接成功界面

5.5了解ESXI的常用配置

開啟ssh功能

5.6安裝一臺(tái)ESXI虛擬機(jī)

5.7 將kvm虛擬機(jī)遷移到esxi上

qemu-img convert -f qcow2 oldimage.qcow2 -O vmdk newimage.vmdk
#可能不需要
vmkfstools -i oldimage.vmdk newimage.vmdk -d thin

5.8 將ESXI虛擬機(jī)遷移到kvm上

將虛擬機(jī)導(dǎo)出ova文件
virt-v2v -i ova centos-dev-test01-v2v.ova -o local -os /opt/test -of qcow2
kvm宿主機(jī) 2000臺(tái)  查看每一個(gè)宿主機(jī)有多少臺(tái)虛擬機(jī)?  查看每一個(gè)宿主機(jī)還剩多少資源?  查看每一臺(tái)宿主機(jī),每一個(gè)虛擬機(jī)的ip地址?
excel 資產(chǎn)管理
kvm管理平臺(tái),數(shù)據(jù)庫(kù)工具
信息:宿主機(jī),總配置,剩余的總配置  虛擬機(jī)的信息,配置信息,ip地址,操作系統(tǒng)
帶計(jì)費(fèi)功能的kvm管理平臺(tái),openstack ceilometer計(jì)費(fèi) ecs IAAS層  自動(dòng)化管理kvm宿主機(jī),云主機(jī)定制化操作
服務(wù)器, 20核心 1T內(nèi)存 96T
資源浪費(fèi),linux環(huán)境特別亂,,kvm虛擬機(jī)

6.使用腳本自動(dòng)化部署openstack M版

部署openstack  克隆一臺(tái)openstack模板機(jī):
all-in-one
4G內(nèi)存,開啟虛擬化,掛載centos7.6的光盤
虛擬機(jī)開機(jī)之后,修改ip地址為10.0.0.11
上傳腳本openstack-mitaka-autoinstall.sh到/root目錄  上傳鏡像:cirros-0.3.4-x86_64-disk.img到/root目錄  上傳配置文件:local_settings到/root目錄  上傳openstack_rpm.tar.gz到/root下,  tar xf openstack_rpm.tar.gz -C /opt/
sh /root/openstack-mitaka-autoinstall.sh  大概10-30分鐘左右  訪問[http://10.0.0.11/dashboard](http://10.0.0.11/dashboard)  域:default  用戶名:admin  密碼:ADMIN_PASS
注意: 在windows系統(tǒng)上修改host解析(10.0.0.11 controller)
添加node節(jié)點(diǎn):  修改ip地址  hostnamectl set-hostname compute1  重新登錄讓新主機(jī)名生效  cd /opt/  rsync -avz 10.0.0.11:/opt/repo .  上傳腳本 openstack_node_autoinstall.sh sh openstack_node_autoinstall.sh <node節(jié)點(diǎn)ip>
openstack controller主控制節(jié)點(diǎn),
node節(jié)點(diǎn), kvm宿主機(jī)  
node節(jié)點(diǎn), kvm宿主機(jī)  
node節(jié)點(diǎn), kvm宿主機(jī)  
node節(jié)點(diǎn), kvm宿主機(jī)

7:一步一步部署一個(gè)openstack集群

7.1 openstack基礎(chǔ)架構(gòu)

7.1:準(zhǔn)備環(huán)境

主機(jī)名稱 角色 ip 內(nèi)存
controller 控制節(jié)點(diǎn) 10.0.0.11 3G或4G
compute1 計(jì)算節(jié)點(diǎn) 10.0.0.31 1G

注意:主機(jī)之間相互host解析

7.1.1 時(shí)間同步

#服務(wù)端,controller節(jié)點(diǎn)
vim  /etc/chrony.conf
allow  10.0.0.0/24
systemctl  restart   chronyd
?
#客戶端,compute1節(jié)點(diǎn)
vim  /etc/chrony.conf
server 10.0.0.11 iburst
systemctl  restart   chronyd

驗(yàn)證:同時(shí)執(zhí)行date

7.1.2:配置yum源,并安裝客戶端

#所有節(jié)點(diǎn)
#配置過(guò)程:
cd /opt/
rz -E
tar xf openstack_ocata_rpm.tar.gz 
cd /etc/yum.repos.d/
mv  *.repo   /tmp
mv /tmp/CentOS-Base.repo .
vi   openstack.repo
[openstack]
name=openstack
baseurl=file:///opt/repo
enable=1
gpgcheck=0
?
#驗(yàn)證:
yum clean all
yum install python-openstackclient -y

7.1.3:安裝數(shù)據(jù)庫(kù)

#控制節(jié)點(diǎn)
yum install mariadb mariadb-server python2-PyMySQL -y
##openstack所有組件使用python開發(fā),openstack在連接數(shù)據(jù)庫(kù)需要用到python2-PyMySQL模塊
#修改mariadb配置文件
vi  /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 10.0.0.11
?
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
#啟動(dòng)數(shù)據(jù)庫(kù)
systemctl start mariadb
systemctl enable mariadb
#數(shù)據(jù)庫(kù)安全初始化
mysql_secure_installation
回車
n
一路y

7.1.3 安裝消息隊(duì)列rabbitmq

#控制節(jié)點(diǎn)
#安裝消息隊(duì)列
yum install rabbitmq-server
#啟動(dòng)rabbitmq
systemctl start rabbitmq-server.service 
systemctl enable rabbitmq-server.service
#在rabbitmq創(chuàng)建用戶
rabbitmqctl add_user openstack 123456
#為剛創(chuàng)建的openstack授權(quán)
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

7.1.4 安裝memcache緩存

#控制節(jié)點(diǎn)
#安裝memcache
yum install memcached python-memcached  -y
##python-memcached是python連接memcache的模塊插件
#配置
vim /etc/sysconfig/memcached
##修改最后一行
OPTIONS="-l 0.0.0.0"
#啟動(dòng)服務(wù)
systemctl start memcached
systemctl enable memcached

7.2 安裝keystone服務(wù)

#創(chuàng)庫(kù)授權(quán)
##登錄mysql
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'  IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'  IDENTIFIED BY '123456';
#安裝keystone服務(wù)
yum install openstack-keystone httpd mod_wsgi -y
##httpd配合mod_wsgi插件調(diào)用python項(xiàng)目
#修改keystone配置文件
cp /etc/keystone/keystone.conf{,.bak}
grep -Ev '^$|#' /etc/keystone/keystone.conf.bak >/etc/keystone/keystone.conf
#完整配置文件如下:
[root@controller ~]# vi /etc/keystone/keystone.conf
[DEFAULT]
[assignment]
[auth]
[cache]
[catalog]
[cors]
[cors.subdomain]
[credential]
[database]
connection = mysql+pymysql://keystone:123456@controller/keystone
[domain_config]
[endpoint_filter]
[endpoint_policy]
[eventlet_server]
[federation]
[fernet_tokens]
[healthcheck]
[identity]
[identity_mapping]
[kvs]
[ldap]
[matchmaker_redis]
[memcache]
[oauth1]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[paste_deploy]
[policy]
[profiler]
[resource]
[revoke]
[role]
[saml]
[security_compliance]
[shadow_users]
[signing]
[token]
provider = fernet
[tokenless_auth]
[trust]
#校驗(yàn)md5
md5sum /etc/keystone/keystone.conf
85d8b59cce0e4bd307be15ffa4c0cbd6  /etc/keystone/keystone.conf
#同步數(shù)據(jù)庫(kù)
su -s /bin/sh -c "keystone-manage db_sync" keystone
##切到普通用戶下,使用指定的shell執(zhí)行某一條命令
##檢查數(shù)據(jù)是否同步成功
mysql keystone -e 'show tables;'|wc -l
#初始化令牌憑據(jù)
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
#初始化keystone身份認(rèn)證服務(wù)
keystone-manage bootstrap --bootstrap-password 123456 \
 --bootstrap-admin-url http://controller:35357/v3/ \
 --bootstrap-internal-url http://controller:5000/v3/ \
 --bootstrap-public-url http://controller:5000/v3/ \
 --bootstrap-region-id RegionOne
#配置httpd
#小優(yōu)化
echo "ServerName controller" >>/etc/httpd/conf/httpd.conf
#在httpd下添加keystone站點(diǎn)配置文件
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
#啟動(dòng)httpd等效于keystone
systemctl start httpd
systemctl enable httpd
#聲明環(huán)境變量
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
#驗(yàn)證keystone是否正常
openstack user list
#創(chuàng)建service的項(xiàng)目
openstack project create --domain default \
 --description "Service Project" service
#修改/root/.bashrc文件
vi  /root/.bashrc
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3

7.3 安裝glance服務(wù)

功能:管理鏡像模板機(jī)
1:創(chuàng)庫(kù)授權(quán)
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
 IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
 IDENTIFIED BY '123456';
?
2:keystone上創(chuàng)建用戶,關(guān)聯(lián)角色
openstack user create --domain default --password 123456 glance
openstack role add --project service --user glance admin
?
3:keystone上創(chuàng)建服務(wù),注冊(cè)api地址
openstack service create --name glance \
 --description "OpenStack Image" image
openstack endpoint create --region RegionOne \
 image public http://controller:9292
openstack endpoint create --region RegionOne \
 image internal http://controller:9292
openstack endpoint create --region RegionOne \
 image admin http://controller:9292
?
4:安裝服務(wù)軟件包
yum install openstack-glance -y
?
5:修改配置文件(連接數(shù)據(jù)庫(kù),keystone授權(quán))
##glance-api 上傳下載刪除
##glance-registry  修改鏡像的屬性  x86  根分區(qū)大小
#修改glance-api配置文件
cp /etc/glance/glance-api.conf{,.bak}
grep -Ev '^$|#' /etc/glance/glance-api.conf.bak >/etc/glance/glance-api.conf
vim /etc/glance/glance-api.conf
[DEFAULT]
[cors]
[cors.subdomain]
[database]
connection = mysql+pymysql://glance:123456@controller/glance
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
[image_format]
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = 123456
[matchmaker_redis]
[oslo_concurrency]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[paste_deploy]
flavor = keystone
[profiler]
[store_type_location_strategy]
[task]
[taskflow_executor]
##校驗(yàn)
md5sum /etc/glance/glance-api.conf
a42551f0c7e91e80e0702ff3cd3fc955  /etc/glance/glance-api.conf
?
##修改glance-registry.conf配置文件
cp /etc/glance/glance-registry.conf{,.bak} 
grep -Ev '^$|#' /etc/glance/glance-registry.conf.bak >/etc/glance/glance-registry.conf
vim /etc/glance/glance-registry.conf
[DEFAULT]
[database]
connection = mysql+pymysql://glance:123456@controller/glance
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = 123456
[matchmaker_redis]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_policy]
[paste_deploy]
flavor = keystone
[profiler]
##校驗(yàn)
md5sum /etc/glance/glance-registry.conf
5b28716e936cc7a0ab2a841c914cd080  /etc/glance/glance-registry.conf
?
6:同步數(shù)據(jù)庫(kù)(創(chuàng)表)
su -s /bin/sh -c "glance-manage db_sync" glance
mysql glance -e 'show tables;'|wc -l
7:?jiǎn)?dòng)服務(wù)
systemctl enable openstack-glance-api.service \
 openstack-glance-registry.service
systemctl start openstack-glance-api.service \
 openstack-glance-registry.service
#驗(yàn)證端口
netstat -lntup|grep -E '9191|9292'
8:命令行上傳鏡像
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
openstack image create "cirros"   --file cirros-0.3.5-x86_64-disk.img   --disk-format qcow2 --container-format bare   --public
##驗(yàn)證
ll /var/lib/glance/images/
#或
openstack image list

7.4 安裝nova服務(wù)

7.4.1 控制節(jié)點(diǎn)安裝nova服務(wù)

1:創(chuàng)庫(kù)授權(quán)
CREATE DATABASE nova_api;
 CREATE DATABASE nova;
 CREATE DATABASE nova_cell0;
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
 IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
 IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
 IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
 IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' \
 IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' \
 IDENTIFIED BY '123456';

2:keystone上創(chuàng)建用戶,關(guān)聯(lián)角色
openstack user create --domain default --password 123456 nova
openstack role add --project service --user nova admin
#placement 追蹤云主機(jī)的資源使用具體情況
openstack user create --domain default --password 123456 placement
openstack role add --project service --user placement admin

3:keystone上創(chuàng)建服務(wù),http訪問地址(api地址)
openstack service create --name nova --description "OpenStack Compute" compute
openstack endpoint create --region RegionOne   compute public http://controller:8774/v2.1
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1
openstack endpoint create --region RegionOne  compute admin http://controller:8774/v2.1
openstack service create --name placement --description "Placement API" placement
openstack endpoint create --region RegionOne placement public http://controller:8778
openstack endpoint create --region RegionOne placement internal http://controller:8778
openstack endpoint create --region RegionOne placement admin http://controller:8778

4:安裝服務(wù)軟件包
yum install openstack-nova-api openstack-nova-conductor \
 openstack-nova-console openstack-nova-novncproxy \
 openstack-nova-scheduler openstack-nova-placement-api -y

5:修改配置文件(連接數(shù)據(jù)庫(kù),keystone授權(quán))
#修改nova配置文件
vim /etc/nova/nova.conf
[DEFAULT]
##啟動(dòng)nova服務(wù)api和metadata的api
enabled_apis = osapi_compute,metadata
##連接消息隊(duì)列rabbitmq
transport_url = rabbit://openstack:123456@controller
my_ip = 10.0.0.11
#啟動(dòng)neutron網(wǎng)絡(luò)服務(wù),禁用nova內(nèi)置防火墻
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[api]
auth_strategy = keystone
[api_database]
connection = mysql+pymysql://nova:123456@controller/nova_api
[barbican]
[cache]
[cells]
[cinder]
[cloudpipe]
[conductor]
[console]
[consoleauth]
[cors]
[cors.subdomain]
[crypto]
[database]
connection = mysql+pymysql://nova:123456@controller/nova
[ephemeral_storage_encryption]
[filter_scheduler]
[glance]
api_servers = http://controller:9292
[guestfs]
[healthcheck]
[hyperv]
[image_file_url]
[ironic]
[key_manager]
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = 123456
[libvirt]
[matchmaker_redis]
[metrics]
[mks]
[neutron]
[notifications]
[osapi_v21]
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[pci]
#追蹤虛擬機(jī)使用資源情況
[placement]
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = 123456
[quota]
[rdp]
[remote_debug]
[scheduler]
[serial_console]
[service_user]
[spice]
[ssl]
[trusted_computing]
[upgrade_levels]
[vendordata_dynamic_auth]
[vmware]
#vnc的連接信息
[vnc]
enabled = true
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
[workarounds]
[wsgi]
[xenserver]
[xvp]
#修改httpd配置文件
vi  /etc/httpd/conf.d/00-nova-placement-api.conf
在16行</VirtualHost>這一行上面增加以下內(nèi)容
<Directory /usr/bin>
 <IfVersion >= 2.4>
 Require all granted
 </IfVersion>
 <IfVersion < 2.4>
 Order allow,deny
 Allow from all
 </IfVersion>
</Directory>
#重啟httpd
systemctl restart httpd

6:同步數(shù)據(jù)庫(kù)(創(chuàng)表)
su -s /bin/sh -c "nova-manage api_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 --name=cell1 --verbose" nova
su -s /bin/sh -c "nova-manage db sync" nova
#檢查
nova-manage cell_v2 list_cells

7:?jiǎn)?dòng)服務(wù)
systemctl enable openstack-nova-api.service \
 openstack-nova-consoleauth.service openstack-nova-scheduler.service \
 openstack-nova-conductor.service openstack-nova-novncproxy.service
systemctl start openstack-nova-api.service \
 openstack-nova-consoleauth.service openstack-nova-scheduler.service \
 openstack-nova-conductor.service openstack-nova-novncproxy.service
#檢查
openstack compute service list

7.4.2計(jì)算節(jié)點(diǎn)安裝nova服務(wù)

1:安裝
yum install openstack-nova-compute -y

2:配置
#修改配置文件/etc/nova/nova.conf
vim /etc/nova/nova.conf
[DEFAULT]
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:123456@controller
my_ip = 10.0.0.31
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[api]
auth_strategy = keystone
[api_database]
[barbican]
[cache]
[cells]
[cinder]
[cloudpipe]
[conductor]
[console]
[consoleauth]
[cors]
[cors.subdomain]
[crypto]
[database]
[ephemeral_storage_encryption]
[filter_scheduler]
[glance]
api_servers = http://controller:9292
[guestfs]
[healthcheck]
[hyperv]
[image_file_url]
[ironic]
[key_manager]
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = 123456
[libvirt]
[matchmaker_redis]
[metrics]
[mks]
[neutron]
[notifications]
[osapi_v21]
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[pci]
[placement]
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = 123456
[quota]
[rdp]
[remote_debug]
[scheduler]
[serial_console]
[service_user]
[spice]
[ssl]
[trusted_computing]
[upgrade_levels]
[vendordata_dynamic_auth]
[vmware]
[vnc]
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
[workarounds]
[wsgi]
[xenserver]
[xvp]

3:?jiǎn)?dòng)

systemctl start libvirtd openstack-nova-compute.service systemctl enable libvirtd openstack-nova-compute.service

4:控制節(jié)點(diǎn)上驗(yàn)證

openstack compute service list

5:在控制節(jié)點(diǎn)上

發(fā)現(xiàn)計(jì)算節(jié)點(diǎn):

su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

7.5 安裝neutron服務(wù)

7.5.1 在控制節(jié)點(diǎn)上安裝neutron服務(wù)

1:創(chuàng)庫(kù)授權(quán)
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
 IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
 IDENTIFIED BY 'NEUTRON_DBPASS';

2:keystone上創(chuàng)建用戶,關(guān)聯(lián)角色
openstack user create --domain default --password NEUTRON_PASS neutron
openstack role add --project service --user neutron admin

3:keystone上創(chuàng)建服務(wù),http訪問地址(api地址)
openstack service create --name neutron \
 --description "OpenStack Networking" network
 openstack endpoint create --region RegionOne \
 network public http://controller:9696
openstack endpoint create --region RegionOne \
 network internal http://controller:9696
openstack endpoint create --region RegionOne \
 network admin http://controller:9696

4:安裝服務(wù)軟件包
#選擇網(wǎng)絡(luò)選項(xiàng)1
yum install openstack-neutron openstack-neutron-ml2 \
 openstack-neutron-linuxbridge ebtables -y

5:修改配置文件(連接數(shù)據(jù)庫(kù),keystone授權(quán))
#修改neutron.conf
vim /etc/neutron/neutron.conf
[DEFAULT]
core_plugin = ml2
service_plugins =
transport_url = rabbit://openstack:123456@controller
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
[agent]
[cors]
[cors.subdomain]
[database]
connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS
[matchmaker_redis]
[nova]
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = 123456
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[qos]
[quotas]
[ssl]
##修改ml2_conf.ini
vim /etc/neutron/plugins/ml2/ml2_conf.ini
[DEFAULT]
[ml2]
type_drivers = flat,vlan
tenant_network_types =
mechanism_drivers = linuxbridge
extension_drivers = port_security
[ml2_type_flat]
flat_networks = provider
[ml2_type_geneve]
[ml2_type_gre]
[ml2_type_vlan]
[ml2_type_vxlan]
[securitygroup]
enable_ipset = true
##編輯linuxbridge_agent.ini
vim /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[DEFAULT]
[agent]
[linux_bridge]
physical_interface_mappings = provider:eth0
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
[vxlan]
enable_vxlan = false
##編輯dhcp_agent.ini
vim /etc/neutron/dhcp_agent.ini
[DEFAULT]
interface_driver = linuxbridge
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = true
[agent]
[ovs]
##編輯
vim /etc/neutron/metadata_agent.ini
[DEFAULT]
nova_metadata_ip = controller
metadata_proxy_shared_secret = METADATA_SECRET
[agent]
[cache]
####編輯控制節(jié)點(diǎn)。nova配置文件
vim  /etc/nova/nova.conf
[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
service_metadata_proxy = true
metadata_proxy_shared_secret = METADATA_SECRET
#再次驗(yàn)證控制節(jié)點(diǎn)nova配置文件
md5sum /etc/nova/nova.conf
2c5e119c2b8a2f810bf5e0e48c099047  /etc/nova/nova.conf

6:同步數(shù)據(jù)庫(kù)(創(chuàng)表)
ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
 --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

7:?jiǎn)?dòng)服務(wù)
systemctl restart openstack-nova-api.service
systemctl enable neutron-server.service \
 neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
 neutron-metadata-agent.service
systemctl restart neutron-server.service \
 neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
 neutron-metadata-agent.service
#驗(yàn)證方法
openstack  network  agent list

7.5.2 在計(jì)算節(jié)點(diǎn)上安裝neutron服務(wù)

1:安裝
yum install openstack-neutron-linuxbridge ebtables ipset

2:配置
#修改neutron.conf
vim /etc/neutron/neutron.conf
[DEFAULT]
transport_url = rabbit://openstack:123456@controller
auth_strategy = keystone
[agent]
[cors]
[cors.subdomain]
[database]
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASS
[matchmaker_redis]
[nova]
[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[qos]
[quotas]
[ssl]
##linux_agent配置文件
scp -rp 10.0.0.11:/etc/neutron/plugins/ml2/linuxbridge_agent.ini /etc/neutron/plugins/ml2/linuxbridge_agent.ini
##在計(jì)算節(jié)點(diǎn)上,再次修改nova.conf
vim  /etc/nova/nova.conf
[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = NEUTRON_PASS
#校驗(yàn)
md5sum /etc/nova/nova.conf
91cc8aa0f7e33d7b824301cc894e90f1  /etc/nova/nova.conf

3:?jiǎn)?dòng)
systemctl restart openstack-nova-compute.service
systemctl enable neutron-linuxbridge-agent.service
systemctl start neutron-linuxbridge-agent.service

*   [ ] 

7.6 安裝dashboard服務(wù)

#計(jì)算節(jié)點(diǎn)安裝dashboard 1:安裝
yum install openstack-dashboard -y

    2:配置 rz local_settings cat local_settings >/etc/openstack-dashboard/local_settings 3:?jiǎn)?dòng) systemctl start httpd 4: 訪問dashboard 訪問:[http://10.0.0.31/dashboard](http://10.0.0.31/dashboard)
*   [ ] 

7.7 啟動(dòng)一臺(tái)云主機(jī)

#創(chuàng)建網(wǎng)絡(luò)
    neutron net-create --shared --provider:physical_network provider --provider:network_type flat WAN
    neutron subnet-create --name subnet-wan --allocation-pool \
    start=10.0.0.100,end=10.0.0.200 --dns-nameserver 223.5.5.5 \
    --gateway 10.0.0.254 WAN 10.0.0.0/24
    #創(chuàng)建硬件配置方案
    openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
    #上傳秘鑰對(duì)
    ssh-keygen -q -N "" -f ~/.ssh/id_rsa
    openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
    #安全組開放ping和ssh
    openstack security group rule create --proto icmp default
    openstack security group rule create --proto tcp --dst-port 22 default</pre>

*   [ ] 

7.8 安裝塊存儲(chǔ)cinder服務(wù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 節(jié)點(diǎn)規(guī)劃 準(zhǔn)備4臺(tái)虛機(jī),分別做Controller,Network,Compute,Middleware。Cont...
    羽煊閱讀 1,730評(píng)論 0 2
  • 云計(jì)算介紹 云計(jì)算是一種按使用量付費(fèi)的模式,這種模式提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問,進(jìn)入可配置的計(jì)算資源共享池...
    泡菜愛上WaSabi閱讀 1,841評(píng)論 0 2
  • 虛擬化技術(shù)概覽KVM簡(jiǎn)介KVM的管理操作 一、虛擬化技術(shù)概覽 (一)虛擬化技術(shù)類型: 主機(jī)虛擬化:xen, kvm...
    哈嘍別樣閱讀 2,014評(píng)論 0 5
  • 1:什么是云計(jì)算? 2:云計(jì)算的服務(wù)類型 2.1 IAAS 基礎(chǔ)設(shè)施即服務(wù) 虛擬機(jī) ecs openstack 2...
    zwb_jianshu閱讀 248評(píng)論 0 0
  • 都是自己的學(xué)習(xí)筆記,僅供參考。 核心模塊-Nova簡(jiǎn)介 管理instance生命周期生成,調(diào)度,終止實(shí)例作用:處理...
    廖馬兒閱讀 3,769評(píng)論 0 3

友情鏈接更多精彩內(nèi)容