云計算網(wǎng)絡技術教程(項目式微課版) 課件 項目7、8 構建OpenStack云平臺虛擬化網(wǎng)絡、構建 ocker容器虛擬化網(wǎng)絡_第1頁
云計算網(wǎng)絡技術教程(項目式微課版) 課件 項目7、8 構建OpenStack云平臺虛擬化網(wǎng)絡、構建 ocker容器虛擬化網(wǎng)絡_第2頁
云計算網(wǎng)絡技術教程(項目式微課版) 課件 項目7、8 構建OpenStack云平臺虛擬化網(wǎng)絡、構建 ocker容器虛擬化網(wǎng)絡_第3頁
云計算網(wǎng)絡技術教程(項目式微課版) 課件 項目7、8 構建OpenStack云平臺虛擬化網(wǎng)絡、構建 ocker容器虛擬化網(wǎng)絡_第4頁
云計算網(wǎng)絡技術教程(項目式微課版) 課件 項目7、8 構建OpenStack云平臺虛擬化網(wǎng)絡、構建 ocker容器虛擬化網(wǎng)絡_第5頁
已閱讀5頁,還剩163頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

項目7構建OpenStack云平臺虛擬化網(wǎng)絡《云網(wǎng)絡技術項目教程》目錄/Contents(1)(2)安裝Openstack云平臺構建OpenStack虛擬化網(wǎng)絡項目描述為了整合KVM虛擬機的計算存儲和網(wǎng)絡資源,學習部署OpenStack云平臺,實現(xiàn)虛擬機的快速構建和統(tǒng)一管理。學會在控制節(jié)點和計算節(jié)點上部署OpenStack云平臺的組件服務,在控制節(jié)點上完成計算節(jié)點KVM虛擬機的創(chuàng)建和管理,構建常用的OpenStack虛擬化網(wǎng)絡實現(xiàn)虛擬機的內(nèi)外網(wǎng)互訪。

圖4-1

項目4任務思維導圖OpenStack云平臺OpenStack是一個開源的云計算平臺,它提供了一套豐富的組件和工具,用于構建和管理私有云、公有云以及混合云環(huán)境。這些組件共同協(xié)作,提供了強大的計算、存儲和網(wǎng)絡功能,使用戶能夠輕松創(chuàng)建和管理虛擬機、存儲資源和網(wǎng)絡服務,以下是OpenStack平臺中的一些核心組件。【知識目標】(1)掌握OpenStack云平臺的作用。(2)掌握OpenStack各個組件的作用。(1)能夠安裝OpenStack基礎環(huán)境。(2)能夠安裝OpenStack基礎組件。(3)能夠使用圖形界面和命令行方式創(chuàng)建網(wǎng)絡和虛擬機?!炯寄苣繕恕堪惭bOpenStack云平臺(1)Keystone(身份認證服務)提供身份認證和授權功能,管理用戶、角色和權限,確保安全訪問和資源控制。(2)Glance(鏡像服務)管理虛擬機鏡像,包括鏡像的上傳、下載、共享等操作。(3)Placement(資源跟蹤管理服務)跟蹤和管理資源通常是通過"placement"服務實現(xiàn)的。這個服務提供了一組API和功能,允許用戶,管理員和其他服務來跟蹤和管理計算節(jié)點上的資源。(4)Nova(計算服務)負責虛擬機實例的管理和調(diào)度,包括實例的創(chuàng)建、啟動、停止、遷移等操作。(5)Neutron(網(wǎng)絡服務)提供網(wǎng)絡資源的管理和配置,包括虛擬網(wǎng)絡、子網(wǎng)、路由器等,使虛擬機能夠進行網(wǎng)絡通信。(6)Cinder(塊存儲服務)提供塊級存儲服務,允許用戶創(chuàng)建和管理持久化的存儲卷,并將其附加到虛擬機中使用。(7)Swift(對象存儲服務)提供對象存儲服務,用于存儲和檢索大規(guī)模非結構化數(shù)據(jù),具有高可靠性和可擴展性。(8)Heat(編排服務)用于定義和自動化應用程序和云資源的部署,實現(xiàn)基礎設施即代碼(InfrastructureasCode)的理念。(9)Horizon(圖形界面服務)Horizon是OpenStack提供的基于Web的用戶界面,用于管理和監(jiān)控OpenStack云平臺的各種資源和服務。作為OpenStack的官方儀表板,Horizon提供了一個直觀易用的圖形化界面,使用戶能夠通過瀏覽器來管理資源,而無需深入了解底層的命令行工具或API。除了這些核心組件之外,OpenStack還有其他一些附加組件和工具,如Horizon(Web控制臺)、Ceilometer(計量服務)、Zun(容器管理服務)等,可以根據(jù)需求進行選擇和部署。OpenStack云平臺和KVM虛擬機的關系

OpenStack云平臺和KVM虛擬機之間存在密切的關系,可以簡單地理解為OpenStack云平臺是用于管理和部署KVM虛擬機的工具和平臺。KVM是一種基于Linux內(nèi)核的虛擬化技術,它允許在一臺物理主機上同時運行多個虛擬機,每個虛擬機都可以運行獨立的操作系統(tǒng)。OpenStack作為一個開源的云計算平臺,提供了一整套的組件和工具,用于構建、管理和部署云計算環(huán)境。在OpenStack中,可以利用Nova組件來管理和調(diào)度KVM虛擬機實例,Neutron組件來管理虛擬機的網(wǎng)絡配置,Cinder組件來管理虛擬機的塊存儲等。因此,OpenStack通過這些組件提供了對KVM虛擬機的全面管理能力,使得用戶可以通過OpenStack來創(chuàng)建、啟動、停止、刪除虛擬機,并對其進行網(wǎng)絡配置、存儲管理等操作。必備知識1.網(wǎng)絡虛擬化網(wǎng)絡虛擬化是一種將物理網(wǎng)絡資源劃分為多個虛擬網(wǎng)絡的技術。它允許多個虛擬網(wǎng)絡在同一物理網(wǎng)絡上并行運行,每個虛擬網(wǎng)絡都具有自己獨立的網(wǎng)絡拓撲、策略和服務,實現(xiàn)以下功能。安裝基礎環(huán)境1.配置服務器網(wǎng)絡環(huán)境首先使用CentOS8.ova模板機創(chuàng)建兩臺名稱為controller、compute的服務器,在controller和compute上增加一塊網(wǎng)卡。兩臺服務器的網(wǎng)卡及IP地址配置如表7-1所示。表7-1

網(wǎng)卡地址及所屬網(wǎng)絡服務器名稱網(wǎng)卡名稱連接到網(wǎng)絡網(wǎng)絡模式IP地址網(wǎng)關controllerens160VMnet8NAT0ens192lan1區(qū)段自定義網(wǎng)絡0

ens256VMnet1僅主機不配置IP地址

computeens160VMnet8NAT0ens192lan1區(qū)段自定義網(wǎng)絡0

ens256VMnet1僅主機不配置IP地址其中controller、compute服務器上的ens160網(wǎng)卡作為各個服務器上組件通信網(wǎng)卡,由于在安裝過程中,需要用到網(wǎng)上的源,所以需要配置成NAT模式。兩臺服務器上的ens192網(wǎng)卡用于跑虛擬機之間的流量和訪問控制節(jié)點網(wǎng)絡服務的流量,兩臺服務器上ens256網(wǎng)卡作為虛擬機連接到外部網(wǎng)絡的網(wǎng)卡。配置完成后,查看controller服務器的網(wǎng)卡和IP地址配置,如圖7-2所示。安裝基礎環(huán)境圖7-2

任務7-1controller服務器網(wǎng)卡配置查看compute服務器的網(wǎng)卡和IP地址配置,如圖7-3所示。

圖7-3

任務7-1compute服務器網(wǎng)卡配置安裝基礎環(huán)境基礎配置(1)系統(tǒng)初始化配置①修改主機名修改第一臺服務器的名稱為controller,第二臺服務器的名稱為compute,如下所示。[root@localhost~]#hostnamectlset-hostnamecontroller[root@localhost~]#hostnamectlset-hostnamecompute修改完成后,使用“ctrl+D”快捷鍵注銷后再次登錄,發(fā)現(xiàn)名稱已經(jīng)修改成功了。②配置主機名稱解析在兩臺服務器的/etc/hosts文件中加入以下配置,實現(xiàn)主機名和IP地址的映射。0controller0compute③關閉防火墻和Selinux防火墻和Selinux會影響到OpenStack的部署,所以在兩臺服務器上關閉,關閉防火墻命令如下。[root@controller~]#systemctlstopfirewalld&&systemctldisablefirewalld[root@compute~]#systemctlstopfirewalld&&systemctldisablefirewalld在/etc/selinux/config配置文件中,將SELINUX=enforcing修改為SELINUX=disabled,實現(xiàn)Selinux的永久關閉,同時在兩臺服務器上作如下配置。[root@controller~]#setenforce0[root@compute~]#setenforce0以上命令的作用是臨時關閉Selinux,因為修改配置文件后沒有重啟,配置沒有生效。所以需要臨時關閉?;A配置(2)配置免密碼登錄由于在controller服務器上部署組件時,需要登錄本機和compute服務器,為避免每次輸入密碼,需要配置免密碼登錄。首先在controller上生成公鑰和私鑰,命令如下。[root@controller~]#ssh-keygen在出現(xiàn)提示時,直接輸入回車即可生成公鑰和私鑰,然后將公鑰拷貝給controller服務器和compute服務器。如下所示。[root@controller~]#ssh-copy-idcontroller[root@controller~]#ssh-copy-idcompute在出現(xiàn)Areyousureyouwanttocontinueconnecting(yes/no/[fingerprint])?提示時,輸入YES,然后輸入controller或者compute的密碼,這里設置的是1,即可實現(xiàn)將公鑰拷貝到本機和compute服務器上,實現(xiàn)免密碼登錄基礎配置(3)配置時間同步配置時間同步時,將controller節(jié)點作為服務器,compute時間同步到controller上。①配置controller為時間同步服務器首先在controller服務器上,打開/etc/chrony.conf文件,修改以下3處內(nèi)容。一是注銷掉默認的時間同步服務器,如下所示。#pool2.iburst二是設置哪些客戶端可以同步到本機時間,如下所示。allow/24三是取消以下配置的注釋。localstratum10修改完成后,重啟chronyd服務,如下所示。[root@controller~]#systemctlrestartchronyd基礎配置基礎配置②compute同步時間到controller在compute節(jié)點上,打開/etc/chrony.conf文件。修改第3行內(nèi)容為poolcontrolleriburst,指明本機的時間同步服務器為controller,修改完成后,重啟chronyd服務,如下所示。[root@compute~]#systemctlrestartchronyd③查看時間同步效果在compute節(jié)點上,查看時間同步服務器,命令如下。[root@compute~]#chronycsources在controller和compute上使用date命令查看時間是否一致,如果一致,表示配置成功。(1)配置華為CentOS8網(wǎng)絡yum源在兩臺服務器上,下載華為的CentOS8網(wǎng)絡yum源,命令如下。[root@controller~]#curl-o/etc/yum.repos.d/CentOS-Base.repo/repository/conf/CentOS-8-anon.repo[root@compute~]#curl-o/etc/yum.repos.d/CentOS-Base.repo/repository/conf/CentOS-8-anon.repo配置網(wǎng)絡Yum源配置網(wǎng)絡Yum源(2)配置OpenStack安裝源①安裝openstack源使用yumsearchopenstack可以查看提供的OpenStack版本,如圖7-4所示。

圖7-4任務7-1Yum源提供的OpenStack版本本次采用較新的centos-release-openstack-ussuri.noarch版本,在兩臺服務器上,下載安裝源,命令如下。[root@controller~]#yuminstallcentos-release-openstack-ussuri-y[root@compute~]#yuminstallcentos-release-openstack-ussuri-y②修改源由于CentOS8的源官方不在維護,所以下載完成后,在兩臺服務器上,使用以下命令修改源的內(nèi)容為vault源。[root@controller~]#sed-i's/mirrorlist/#mirrorlist/g'/etc/yum.repos.d/CentOS-*[root@controller~]#sed-i's|#baseurl=|baseurl=|g'/etc/yum.repos.d/CentOS-*[root@compute~]#sed-i's/mirrorlist/#mirrorlist/g'/etc/yum.repos.d/CentOS-*[root@compute~]#sed-i's|#baseurl=|baseurl=|g'/etc/yum.repos.d/CentOS-*配置網(wǎng)絡Yum源③更新軟件包在兩臺設備上更新軟件包,重新啟動,命令如下。[root@controller~]#yumupgrade-y[root@controller~]#reboot[root@compute~]#yumupgrade-y[root@compute~]#reboot(3)安裝OpenStack客戶端和安全策略首先安裝OpenStack客戶端工具,如下所示。[root@controller~]#yuminstallpython3-openstackclient-y[root@compute~]#yuminstallpython3-openstackclient-y然后安裝OpenStack安全策略,所下所示。[root@controller~]#yuminstallopenstack-selinux-y[root@compute~]#yuminstallopenstack-selinux-y配置網(wǎng)絡Yum源(1)安裝數(shù)據(jù)庫OpenStack的多個組件需要在數(shù)據(jù)庫上建立庫和表,所以在控制節(jié)點安裝Mariadb數(shù)據(jù)庫以及python程序連接數(shù)據(jù)庫的驅動,命令如下。[root@controller~]#yuminstallmariadbmariadb-serverpython2-PyMySQL-y安裝完成后,啟動數(shù)據(jù)庫并設置成開機自啟,命令如下。[root@controller~]#systemctlstartmariadb&&systemctlenablemariadb安裝配置Mariadb數(shù)據(jù)庫(2)加固數(shù)據(jù)庫安全啟動完成后,設置數(shù)據(jù)庫的安全加固,將登錄數(shù)據(jù)庫的root用戶密碼設置為1,命令如下。[root@controller~]#mysql_secure_installation執(zhí)行命令后,按照以下內(nèi)容提示進行設置,重點是設置root用戶登錄密碼、不禁止root用戶遠程登陸、重新刷新權限。安裝配置Mariadb數(shù)據(jù)庫(3)修改配置文件在/etc/f.d目錄下,為OpenStack建立數(shù)據(jù)庫的配置文件f,在文件中輸入如下內(nèi)容。[mysqld]bind-address=controller#設定綁定地址為controllerdefault-storage-engine=innodb#設置默認的存儲引擎innodb_file_per_table=on#使用單獨的表空間max_connections=4096#設置最大連接數(shù)collation-server=utf8_general_ci#設置字符集的排序規(guī)則character-set-server=utf8#設置默認的字符集配置完成后,重新啟動數(shù)據(jù)庫,如下所示。[root@controller~]#systemctlrestartmariadb安裝配置Mariadb數(shù)據(jù)庫安裝配置消息隊列rabbitmq(1)安裝rabbitmq-serverOpenStack組件需要借助通過消息隊列傳輸數(shù)據(jù),所以在controller節(jié)點安裝rabbitmq消息隊列服務,命令如下。[root@controller~]#yuminstallrabbitmq-server-y安裝完成后,啟動消息隊列并設置開機自啟,如下所示。[root@controller~]#systemctlstartrabbitmq-server&&systemctlenablerabbitmq-server(2)設置登錄用戶設置登錄消息隊列的用戶名為openstack,密碼為1,命令如下。[root@controller~]#rabbitmqctladd_useropenstack1設置openstack用戶配置、讀寫消息隊列的權限,命令如下。[root@controller~]#rabbitmqctlset_permissionsopenstack".*"".*"".*"安裝配置消息隊列rabbitmq(3)查看用戶和權限查看用戶的命令如下。[root@controller~]#rabbitmqctllist_users查看用戶的權限,命令如下。[root@controller~]#rabbitmqctllist_permissions(1)安裝Memcachedopenstack中的Keystone用于用戶和程序的登錄,登錄后需要緩存token令牌,所以在控制節(jié)點安裝Memcached,用于緩存token服務,命令如下。[root@controller~]#yuminstallmemcachedpython3-memcached-y(2)配置Memcached打開/etc/sysconfig/memcached配置文件,修改最后一行設置監(jiān)聽的端口,內(nèi)容如下所示。OPTIONS="-l,::1,controller"修改完成后,啟動memcached服務并設置開機自啟動,命令如下。[root@controller~]#systemctlstartmemcached&&systemctlenablememcached安裝配置Memcached(1)安裝Memcachedopenstack中的Keystone用于用戶和程序的登錄,登錄后需要緩存token令牌,所以在控制節(jié)點安裝Memcached,用于緩存token服務,命令如下。[root@controller~]#yuminstallmemcachedpython3-memcached-y(2)配置Memcached打開/etc/sysconfig/memcached配置文件,修改最后一行設置監(jiān)聽的端口,內(nèi)容如下所示。OPTIONS="-l,::1,controller"修改完成后,啟動memcached服務并設置開機自啟動,命令如下。[root@controller~]#systemctlstartmemcached&&systemctlenablememcached

安裝配置Memcached1.安裝配置Keystone認證服務(controller節(jié)點)

Keystone認證服務是Openstack的核心組件,用于用戶和其它組件的認證和授權,需要首先安裝該服務。(1)創(chuàng)建Keystone服務的數(shù)據(jù)庫并授權Keystone服務需要數(shù)據(jù)庫的支持,所以首先在Mariadb中創(chuàng)建Keystone服務的數(shù)據(jù)庫并授權用戶使用該數(shù)據(jù)庫。①創(chuàng)建數(shù)據(jù)庫Keystone首先登錄到Mariadb數(shù)據(jù)管理系統(tǒng),命令如下。[root@controller~]#mysql-uroot-p1創(chuàng)建數(shù)據(jù)庫,名稱為Keystone,如下所示。MariaDB[(none)]>createdatabaseKeystone;部署Openstack組件服務②授權本地和遠程訪問創(chuàng)建Keystone用戶,密碼為1,授權Keystone數(shù)據(jù)庫所有表的所有權限給Keystone用戶,當Keystone用戶在本機登錄或者遠程登陸時,命令如下。MariaDB[(none)]>grantallprivilegesonKeystone.*to'Keystone'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonKeystone.*to'Keystone'@'%'identifiedby'1';完成后,退出Mariadb數(shù)據(jù)庫管理系統(tǒng)。部署Openstack組件服務(2)安裝組件同步數(shù)據(jù)庫①安裝Keystone服務首先安裝Keystone服務的相關組件,命令如下。[root@controller~]#yuminstallopenstack-Keystonehttpdpython3-mod_wsgi-y其中openstack-Keystone是Keystone服務組件,由于Keystone與其它組件通信需要http協(xié)議,所以需要安裝httpdpython3-mod_wsgi兩個服務。②配置Keystone服務打開Keystone服務的配置文件/etc/Keystone/Keystone.conf,在[database]下加入如下配置。connection=mysql+pymysql://Keystone:1@controller/Keystone目的是配置Keystone組件連接數(shù)據(jù)庫時的用戶和密碼以及訪問的數(shù)據(jù)庫地址。在[token]下加入如下配置。provider=fernet作用是指定密鑰管理器使用Fernet對稱加密算法部署Openstack組件服務③同步Keystone數(shù)據(jù)庫[root@controller~]#su-s/bin/sh-c"Keystone-managedb_sync"Keystone該命令使用

-s選項指定要使用的shell,-c選項指定要執(zhí)行的命令,并使用su命令切換到Keystone用戶。而Keystone-managedb_sync命令則用于同步Keystone的數(shù)據(jù)庫結構,確保數(shù)據(jù)庫中包含必要的表和列,以及其他必要的配置信息。④生成

Fernet密鑰Fernet密鑰是用于加密和解密令牌等敏感信息,生成秘鑰文件并設置所屬的用戶和組的命令如下所示。[root@controller~]#Keystone-managefernet_setup--Keystone-userKeystone--Keystone-groupKeystone完成后,可以查看/etc/Keystone目錄下創(chuàng)建了fernet-keys文件。⑤生成管理員憑據(jù)管理員登錄同樣需要身份驗證和授權,所以需要生成管理憑據(jù),命令如下。[root@controller~]#Keystone-managecredential_setup--Keystone-userKeystone--Keystone-groupKeystone完成后,可以查看/etc/Keystone目錄下生成了credential-keys目錄。部署Openstack組件服務⑥Keystone服務初始化初始化Keystone服務,命令如下。[root@controller~]#Keystone-managebootstrap--bootstrap-password1--bootstrap-admin-urlhttp://controller:5000/v3/--bootstrap-internal-urlhttp://controller:5000/v3/--bootstrap-public-urlhttp://controller:5000/v3/--bootstrap-region-idRegionOne各個選項的含義如下。--bootstrap-password1:指定初始化管理員用戶的密碼為"1"。--bootstrap-admin-urlhttp://controller:5000/v3/:指定管理員URL地址。--bootstrap-internal-urlhttp://controller:5000/v3/:指定內(nèi)部URL地址。--bootstrap-public-urlhttp://controller:5000/v3/:指定公共URL地址。--bootstrap-region-idRegionOne:指定初始區(qū)域ID為"RegionOne"。部署Openstack組件服務⑧設置管理員客戶端環(huán)境變量管理員使用命令行方式登錄時,需要為管理員設置客戶端的環(huán)境變量,在/root目錄下創(chuàng)建文件admin-openrc.sh,輸入以下內(nèi)容。exportOS_USERNAME=adminexportOS_PASSWORD=1exportOS_PROJECT_NAME=adminexportOS_USER_DOMAIN_NAME=DefaultexportOS_PROJECT_DOMAIN_NAME=DefaultexportOS_AUTH_URL=http://controller:5000/v3exportOS_IDENTITY_API_VERSION=3部署Openstack組件服務各個選項的含義如下。OS_USERNAME=admin:設置管理員用戶名為"admin"。OS_PASSWORD=1:設置管理員用戶的密碼為"1"。OS_PROJECT_NAME=admin:設置項目名稱為"admin"。OS_USER_DOMAIN_NAME=Default:設置用戶域名為"Default"。OS_PROJECT_DOMAIN_NAME=Default:設置項目域名為"Default"。OS_AUTH_URL=http://controller:5000/v3:設置認證URL地址為"http://controller:5000/v3"。OS_IDENTITY_API_VERSION=3:設置身份API版本為3。部署Openstack組件服務⑨驗證Keystone服務首先加載admin-openrc.sh,命令如下。[root@controller~]#sourceadmin-openrc.sh然后獲取一個token令牌,命令如下。[root@controller~]#openstacktokenissue執(zhí)行后,可以獲取到一個token的令牌,如圖7-5所示。

圖7-5任務7-1成功獲取token令牌從圖中可以發(fā)現(xiàn),token令牌設置了過期時間。部署Openstack組件服務安裝配置Glance鏡像服務(1)創(chuàng)建glance鏡像服務的數(shù)據(jù)庫并授權glance鏡像服務需要數(shù)據(jù)庫的支持,所以首先在Mariadb中創(chuàng)建Keystone服務的數(shù)據(jù)庫并授權用戶使用該數(shù)據(jù)庫。①創(chuàng)建數(shù)據(jù)庫glance首先登錄到Mariadb數(shù)據(jù)管理系統(tǒng),命令如下。[root@controller~]#mysql-uroot-p1創(chuàng)建數(shù)據(jù)庫,名稱為Keystone,如下所示。MariaDB[(none)]>createdatabaseglance;②授glance用戶,密碼為1,當glance用戶在本機登錄或者遠程登陸時,授權glance數(shù)據(jù)庫所有表的所有權限給glance用戶,命令如下。MariaDB[(none)]>grantallprivilegesonglance.*to'glance'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonglance.*to'glance'@'%'identifiedby'1';完成后,退出Mariadb數(shù)據(jù)庫管理系統(tǒng)。安裝配置Glance鏡像服務(2)在Keystone上為glance服務創(chuàng)建用戶glance服務需要與其他服務進行交換,這樣就需要Keystone認證服務的授權,所以需要在Keystone上為glance服務設置用戶。①創(chuàng)建service工程在default域中創(chuàng)建一個service工程,命令如下。[root@controller~]#openstackprojectcreate--domaindefaultservice②創(chuàng)建glance用戶在default域中創(chuàng)建用戶glance,命令如下。[root@controller~]#openstackusercreate--domaindefault--password-promptglance輸入glance用戶的密碼為1。③設置glance用戶為service工程的管理員將glance用戶設置為service工程的管理員,命令如下。[root@controller~]#openstackroleadd--projectservice--userglanceadmin安裝配置Glance鏡像服務(3)在Keystone上創(chuàng)建image鏡像服務,設置服務端點①創(chuàng)建image類型服務當用戶和其他服務訪問glance服務時,需要到Keystone上去查找,這就需要glance鏡像服務注冊到Keystone服務,方法是在Keystone上創(chuàng)建類型為image的服務,然后設置提供服務的URL地址,首先創(chuàng)建image類型服務,名稱為glance,命令如下。[root@controller~]#openstackservicecreate--nameglance--description"OpenStackImage"image②設置服務的訪問地址然后設置image類型服務的URL服務地址,命令如下。[root@controller~]#openstackendpointcreate--regionRegionOneimagepublichttp://controller:9292[root@controller~]#openstackendpointcreate--regionRegionOneimageinternalhttp://controller:9292[root@controller~]#openstackendpointcreate--regionRegionOneimageadminhttp://controller:9292以上三條命令分別為public公共用戶、internal內(nèi)部用戶、admin管理員設置了glance服務的訪問地址。安裝配置Glance鏡像服務③查看訪問地址(服務端點)查看OpenStack中各項服務的訪問地址命令如下。[root@controller~]#openstackendpointlist結果如圖7-6所示。圖7-6任務7-1查看OpenStack各項服務的訪問地址安裝配置Glance鏡像服務(4)安裝配置glance服務①安裝glance服務配置好數(shù)據(jù)庫和OpenStack認證用戶以及服務地址后,需要安裝glance服務組件,命令如下。[root@controller~]#yuminstallopenstack-glance-y②配置glance服務安裝完成后,修改glance服務的配置文件/etc/glance/glance-api.conf,方法是首先將glance-api文件備份,然后打開glance-api.conf文件,刪除所有內(nèi)容后,將以下內(nèi)容添加到文件中。安裝配置Glance鏡像服務[database]connection=mysql+pymysql://glance:1@controller/glance[Keystone_authtoken]www_authenticate_uri=<http://controller:5000>auth_url=http://controller:5000memcached_servers=controller:11211auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=glancepassword=1[paste_deploy]flavor=Keystone[glance_store]stores=file,httpdefault_store=filefilesystem_store_datadir=/var/lib/glance/images/其中[database]是連接數(shù)據(jù)庫的配置,[Keystone_authtoken]是glance服務在Keystone服務上進行認證的配置,[glance_store]是glance管理的鏡像存儲信息配置。安裝配置Glance鏡像服務③同步數(shù)據(jù)庫并啟動服務修改配置文件后,同步數(shù)據(jù)庫,啟動服務并設置為開機自啟動,命令如下。[root@controller~]#su-s/bin/sh-c"glance-managedb_sync"glance[root@controller~]#systemctlstartopenstack-glance-api&&systemctlenableopenstack-glance-api啟動完成后,查看鏡像列表,如下所示。[root@controller~]#openstackimagelist由于還沒有上傳鏡像,所有返回的鏡像列表為空,這里只是為了測試glance鏡像安裝是否成功,后續(xù)在創(chuàng)建虛擬機時,再上傳鏡像。安裝配置Glance鏡像服務安裝配置placement資源管理服務placement用來跟蹤和管理計算節(jié)點上的資源,安裝方法與glance鏡像服務類似,所有也是在數(shù)據(jù)庫管理系統(tǒng)上創(chuàng)建數(shù)據(jù)庫和授權。(1)創(chuàng)建placement數(shù)據(jù)庫并授權首先在Mariadb中創(chuàng)建placement服務的數(shù)據(jù)庫并授權用戶使用該數(shù)據(jù)庫。①創(chuàng)建數(shù)據(jù)庫placement首先登錄到Mariadb數(shù)據(jù)管理系統(tǒng),命令如下。[root@controller~]#mysql-uroot-p1創(chuàng)建數(shù)據(jù)庫,名稱為Keystone,如下所示。MariaDB[(none)]>createdatabaseplacement;②授權本地和遠程訪問創(chuàng)建placement用戶,密碼為1,當placement用戶在本機登錄或者遠程登陸時,授權placement數(shù)據(jù)庫所有表的所有權限給placement用戶,命令如下。MariaDB[(none)]>grantallprivilegesonplacement.*to'placement'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonplacement.*to'placement'@'%'identifiedby'1';完成后,退出Mariadb數(shù)據(jù)庫管理系統(tǒng)。安裝配置placement資源管理服務(2)在Keystone上為placement服務創(chuàng)建用戶placement服務需要與其他服務進行交換,這樣就需要Keystone認證服務的授權,所以需要在Keystone上為placement服務設置用戶。①創(chuàng)建placement用戶在default域中創(chuàng)建用戶placement,命令如下。[root@controller~]#openstackusercreate--domaindefault--password-promptplacement輸入placement用戶的密碼為1。②設置placement用戶為service工程的管理員將placement用戶設置為service工程的管理員,命令如下。[root@controller~]#openstackroleadd--projectservice--userplacementadmin(3)在Keystone上創(chuàng)建placement資源管理服務,設置服務端點placement服務同樣需要在Keystone上注冊服務,設置服務訪問地址,注冊服務配置如下。[root@controller~]#openstackservicecreate--nameplacement--description"PlacementAPI"placement設置公共用戶、內(nèi)部用戶和管理員的服務訪問地址,命令如下。[root@controller~]#openstackendpointcreate--regionRegionOneplacementpublichttp://controller:8778[root@controller~]#openstackendpointcreate--regionRegionOneplacementinternalhttp://controller:8778[root@controller~]#openstackendpointcreate--regionRegionOneplacementadminhttp://controller:8778安裝配置placement資源管理服務安裝配置placement資源管理服務①安裝placement服務配置好數(shù)據(jù)庫和OpenStack認證用戶以及服務地址后,需要安裝placement服務組件,命令如下。[root@controller~]#yuminstallopenstack-placement-y②配置placement服務安裝完成后,修改placement服務的配置文件/etc/placement/placement.conf,方法是首先將placement.conf文件備份,然后打開placement.conf文件,刪除所有內(nèi)容后,將以下內(nèi)容添加到文件中。[placement_database]connection=mysql+pymysql://placement:1@controller/placement[api]auth_strategy=Keystone[Keystone_authtoken]auth_url=http://controller:5000/v3memcached_servers=controller:11211auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=placementpassword=1安裝配置placement資源管理服務③修改00-placement-api.conf配置打開/etc/httpd/conf.d/00-placement-api.conf,將以下內(nèi)容加入到底11行之后,設置目錄的訪問權限。<Directory/usr/bin><IfVersion>=2.4>Requireallgranted</IfVersion><IfVersion<2.4>Orderallow,denyAllowfromall</IfVersion></Directory>配置完成后,重新啟動httpd服務,如下所示。[root@controller~]#systemctlrestarthtt安裝配置placement資源管理服務④同步數(shù)據(jù)庫驗證安裝首先同步placement數(shù)據(jù)庫,命令如下。[root@controller~]#su-s/bin/sh-c"placement-managedbsync"placement然后驗證placement安裝效果,命令如下。[root@controller~]#placement-statusupgradecheck返回結果結果如圖7-7所示。圖7-7任務7-1驗證placement組件安裝配置placement資源管理服務安裝配置Nova計算服務Nova服務負責虛擬機實例的管理和調(diào)度,包括實例的創(chuàng)建、啟動、停止、遷移等操作,是OpenStack的核心服務,需要在控制節(jié)點和計算節(jié)點同時安裝,首先在控制節(jié)點安裝Nova服務。(1)創(chuàng)建nova_api、nova、nova_cell0數(shù)據(jù)庫并授權Nova服務相對復雜,需要在Mariadb中創(chuàng)建nova_api、nova、nova_cell0等3個數(shù)據(jù)庫并授權Nova用戶使用該數(shù)據(jù)庫。①創(chuàng)建數(shù)據(jù)庫首先登錄到Mariadb數(shù)據(jù)管理系統(tǒng),命令如下。[root@controller~]#mysql-uroot-p1創(chuàng)建數(shù)據(jù)庫,名稱為nova_api、nova、nova_cell0,如下所示。MariaDB[(none)]>createdatabasenova_api;MariaDB[(none)]>createdatabasenova;MariaDB[(none)]>createdatabasenova_cell0;②授權本地和遠程訪問創(chuàng)建nova用戶,密碼為1,當nova用戶在本機登錄或者遠程登陸時,授權nova_api、nova、nova_cell0數(shù)據(jù)庫所有表的所有權限給nova用戶。命令如下。MariaDB[(none)]>grantallprivilegesonnova_api.*to'nova'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonnova_api.*to'nova'@'%'identifiedby'1';MariaDB[(none)]>grantallprivilegesonnova.*to'nova'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonnova.*to'nova'@'%'identifiedby'1';MariaDB[(none)]>grantallprivilegesonnova_cell0.*to'nova'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonnova_cell0.*to'nova'@'%'identifiedby'1';完成后,退出Mariadb數(shù)據(jù)庫管理系統(tǒng)。安裝配置Nova計算服務(2)在Keystone上為Nova服務創(chuàng)建用戶Nova服務需要與其他服務進行交換,這樣就需要Keystone認證服務的授權,所以需要在Keystone上為Nova服務設置用戶。①創(chuàng)建Nova用戶在default域中創(chuàng)建用戶nova,命令如下。[root@controller~]#openstackusercreate--domaindefault--password-promptnova輸入Nova用戶的密碼為1。②設置Nova用戶為service工程的管理員將Nova用戶設置為service工程的管理員,命令如下。[root@controller~]#openstackroleadd--projectservice--usernovaadmin安裝配置Nova計算服務(3)在Keystone上創(chuàng)建Nova資源管理服務,設置服務端點Nova服務同樣需要在Keystone上注冊服務,設置服務訪問地址,注冊服務配置如下。[root@controller~]#openstackservicecreate--namenova--description"OpenStackCompute"compute設置公共用戶、內(nèi)部用戶和管理員的服務訪問地址,命令如下。[root@controller~]#openstackendpointcreate--regionRegionOnecomputepublichttp://controller:8774/v2.1[root@controller~]#openstackendpointcreate--regionRegionOnecomputeinternalhttp://controller:8774/v2.1[root@controller~]#openstackendpointcreate--regionRegionOnecomputeadminhttp://controller:8774/v2.1安裝配置Nova計算服務(4)安裝配置Nova服務①安裝Nova服務nova服務有4個,openstack-nova-api提供對外訪問服務,openstack-nova-conductor提供與數(shù)據(jù)庫的交互服務,openstack-nova-novncproxy提供控制臺登錄服務,openstack-nova-scheduler提供虛擬機調(diào)度服務,安裝如下。[root@controller~]#yuminstallopenstack-nova-apiopenstack-nova-conductoropenstack-nova-novncproxyopenstack-nova-scheduler-y②配置Nova服務安裝完成后,修改Nova服務的配置文件/etc/nova/nova.conf,方法是首先將nova.conf文件備份,然后打開nova.conf文件,刪除所有內(nèi)容后,將以下內(nèi)容添加到文件中。安裝配置Nova計算服務③同步數(shù)據(jù)庫需要同步nova_api數(shù)據(jù)庫、nova數(shù)據(jù)庫、同時創(chuàng)建cell0和cell1,用于管理和分配計算資源。[root@controller~]#su-s/bin/sh-c"nova-manageapi_dbsync"nova[root@controller~]#su-s/bin/sh-c"nova-managecell_v2map_cell0"nova[root@controller~]#su-s/bin/sh-c"nova-managecell_v2create_cell--name=cell1--verbose"nova[root@controller~]#su-s/bin/sh-c"nova-managedbsync"nova創(chuàng)建cell0和cell1后,使用以下命令可以列出建立的cell。[root@controller~]#su-s/bin/sh-c"nova-managecell_v2list_cells"nova安裝配置Nova計算服務④啟動服務啟動Nova的4個服務并設置開機自啟動,命令如下。[root@controller~]#systemctlstartopenstack-nova-api.serviceopenstack-nova-scheduler.serviceopenstack-nova-conductor.serviceopenstack-nova-novncproxy.service[root@controller~]#systemctlenableopenstack-nova-api.serviceopenstack-nova-scheduler.serviceopenstack-nova-conductor.serviceopenstack-nova-novncproxy.service安裝配置Nova計算服務Nova-compute服務負責在計算節(jié)點上創(chuàng)建虛擬機,安裝過程如下。(1)安裝nova-compute服務安裝nova-compute的命令如下所示。[root@compute~]#yuminstallopenstack-nova-compute-y(2)配置nova-compute服務打開/etc/nova/nova.conf文件,清空內(nèi)容,在文件中輸入內(nèi)容如下。安裝配置Nova計算服務[DEFAULT]enabled_apis=osapi_compute,metadatatransport_url=rabbit://openstack:1@controller:5672/my_ip=0use_neutron=truefirewall_driver=nova.virt.firewall.NoopFirewallDriver[api]auth_strategy=keystone[keystone_authtoken]www_authenticate_uri=http://controller:5000/auth_url=http://controller:5000/memcached_servers=controller:11211auth_type=passwordproject_domain_name=Defaultuser_domain_name=Defaultproject_name=serviceusername=novapassword=1[vnc]enabled=trueserver_listen=server_proxyclient_address=$my_ipnovncproxy_base_url=0:6080/vnc_auto.html[glance]api_servers=http://controller:9292[oslo_concurrency]lock_path=/var/lib/nova/tmp[placement]region_name=RegionOneproject_domain_name=Defaultproject_name=serviceauth_type=passworduser_domain_name=Defaultauth_url=http://controller:5000/v3username=placementpassword=1安裝配置Nova計算服務(3)啟動服務在計算節(jié)點,需要啟動libvirtd和openstack-nova-compute服務,如下所示。[root@compute~]#systemctlstartlibvirtd&&systemctlenablelibvirtd[root@compute~]#systemctlstartopenstack-nova-compute&&systemctlenableopenstack-nova-compute(4)修改控制(controller)節(jié)點Nova配置①發(fā)現(xiàn)計算節(jié)點并將其注冊到Novacell中Novacell用于管理和分配計算資源,在控制節(jié)點上首先要發(fā)現(xiàn)計算節(jié)點,命令如下。[root@controller~]#su-s/bin/sh-c"nova-managecell_v2discover_hosts--verbose"nova然后在/etc/nova/nova.conf中加入如下內(nèi)容,設置自動發(fā)現(xiàn)計算節(jié)點的間隔為300秒。[scheduler]discover_hosts_in_cells_interval=300修改后,重啟openstack-nova-api服務,如下所示。[root@controller~]#systemctlrestartopenstack-nova-api安裝配置Nova計算服務②驗證Nova配置在控制節(jié)點上,查看Nova的各項服務,命令如下。[root@controller~]#openstackcomputeservicelist結果如圖7-8所示。

圖7-8任務7-1驗證Nova服務組件查看到運行在controller節(jié)點的2項服務和運行在compute節(jié)點的1項服務并且都是up狀態(tài)時,表明Nova組件安裝成功。安裝配置Nova計算服務安裝配置Neutron網(wǎng)絡服務Neutron是Openstack的必備核心服務,提供網(wǎng)絡資源的管理和配置,包括虛擬網(wǎng)絡、子網(wǎng)、路由器等,使虛擬機能夠進行網(wǎng)絡通信,需要在控制節(jié)點和計算節(jié)點都安裝。(1)創(chuàng)建Neutron數(shù)據(jù)庫并授權首先在Mariadb中創(chuàng)建Neutron服務的數(shù)據(jù)庫并授權用戶使用該數(shù)據(jù)庫。①創(chuàng)建數(shù)據(jù)庫placement首先登錄到Mariadb數(shù)據(jù)管理系統(tǒng),命令如下。[root@controller~]#mysql-uroot-p1創(chuàng)建數(shù)據(jù)庫,名稱為Keystone,如下所示。MariaDB[(none)]>createdatabaseneutron;②授權本地和遠程訪問創(chuàng)建neutron用戶,密碼為1,當placement用戶在本機登錄或者遠程登陸時,授權neutron數(shù)據(jù)庫所有表的所有權限給neutron用戶,命令如下。MariaDB[(none)]>grantallprivilegesonneutron.*to'neutron'@'localhost'identifiedby'1';MariaDB[(none)]>grantallprivilegesonneutron.*to'neutron'@'%'identifiedby'1';完成后,退出Mariadb數(shù)據(jù)庫管理系統(tǒng)。(2)在Keystone上為neutron服務創(chuàng)建用戶Neutron服務需要與其他服務進行交換,這樣就需要Keystone認證服務的授權,所以需要在Keystone上為Neutron服務設置用戶。①創(chuàng)建placement用戶在default域中創(chuàng)建用戶neutron,命令如下。[root@controller~]#openstackusercreate--domaindefault--password-promptneutron輸入neutron用戶的密碼為1。②設置neutron用戶為service工程的管理員將neutron用戶設置為service工程的管理員,命令如下。[root@controller~]#openstackroleadd--projectservice--userneutronadmin安裝配置Neutron網(wǎng)絡服務(3)在Keystone上創(chuàng)建neutron資源管理服務,設置服務端點neutron服務同樣需要在Keystone上注冊服務,設置服務訪問地址,注冊服務配置如下。[root@controller~]#openstackservicecreate--nameneutron--description"OpenStackNetworking"network設置公共用戶、內(nèi)部用戶和管理員的服務訪問地址,命令如下。[root@controller~]#openstackendpointcreate--regionRegionOnenetworkpublichttp://controller:9696[root@controller~]#openstackendpointcreate--regionRegionOnenetworkinternalhttp://controller:9696[root@controller~]#openstackendpointcreate--regionRegionOnenetworkadminhttp://controller:9696安裝配置Neutron網(wǎng)絡服務(4)安裝Neutron服務配置好數(shù)據(jù)庫和OpenStack認證用戶以及服務地址后,需要安裝Neutron服務的組件,命令如下。[root@controller~]#yuminstallopenstack-neutronopenstack-neutron-ml2openstack-neutron-linuxbridgeebtables-y(5)配置Neutron服務①修改主配置文件打開/etc/neutron/neutron.conf文件,清空所有內(nèi)容,添加以下配置。[database]connection=mysql+pymysql://neutron:1@controller/neutron[DEFAULT]core_plugin=ml2service_plugins=routerallow_overlapping_ips=truetransport_url=rabbit://openstack:1@controllerauth_strategy=keystonenotify_nova_on_port_status_changes=truenotify_nova_on_port_data_changes=true安裝配置Neutron網(wǎng)絡服務[keystone_authtoken]

_authenticate_uri=http://controller:5000auth_url=http://controller:5000memcached_servers=controller:11211auth_type=passwordproject_domain_name=defaultuser_domain_name=defaultproject_name=serviceusername=neutronpassword=1[nova]auth_url=http://controller:5000auth_type=passwordproject_domain_name=defaultuser_domain_name=defaultregion_name=RegionOneproject_name=serviceusername=novapassword=1[oslo_concurrency]lock_path=/var/lib/neutron/tmp安裝配置Neutron網(wǎng)絡服務②配置ml2_conf.iniml2_conf.ini是OpenStackNeutron中ML2插件的配置文件,用于配置ML2插件的各種選項和參數(shù),首先打開/etc/neutron/plugins/ml2/ml2_conf.ini,清空內(nèi)容,添加以下配置。[ml2]type_drivers=flat,vlan,vxlantenant_network_types=vxlanmechanism_drivers=linuxbridge,l2populationextension_drivers=port_security[ml2_type_flat]flat_networks=provider[ml2_type_vlan]network_vlan_ranges=vlan:10:2000[ml2_type_vxlan]vni_ranges=1:1000[securitygroup]enable_ipset=true安裝配置Neutron網(wǎng)絡服務③配置/etc/neutron/plugins/ml2/linuxbridge_agent.inilinuxbridge_agent.ini是OpenStackNeutron中Linuxbridge網(wǎng)絡代理的配置文件,用于在、實現(xiàn)虛擬網(wǎng)絡的二層交換和連接,首先打開/etc/neutron/plugins/ml2/linuxbridge_agent.ini,清空內(nèi)容,添加以下配置。[linux_bridge]physical_interface_mappings=provider:ens256,vlan:ens192[vxlan]enable_vxlan=truelocal_ip=0l2_population=true[securitygroup]enable_security_group=truefirewall_driver=neutron.agent.linux.iptables_firewall.IptablesFirewallDriver安裝配置Neutron網(wǎng)絡服務④安裝啟動必要組件(控制節(jié)點和計算節(jié)點)首先安裝橋工具,如下所示。[root@controller~]#yuminstallbridge-utils-y加載br_netfilter模塊,支持橋接設備過濾,如下所示。[root@controller~]#modprobebr_netfilter設置系統(tǒng)啟動時自動加載,如下所示。[root@controller~]#echobr_netfilter>/etc/modules-load.d/br_netfilter.conf注意以上環(huán)境在計算節(jié)點也要安裝。安裝配置Neutron網(wǎng)絡服務⑤修改l3_agent.iniL3代理是Neutron網(wǎng)絡服務的一個組件,用于提供路由功能和跨子網(wǎng)的網(wǎng)絡連接,首先打開/etc/neutron/l3_agent.ini,在[default]下輸入以下內(nèi)容,指明二層工具是linuxbridge。[DEFAULT]interface_driver=linuxbridge⑥修改dhcp_agent.inidhcp_agent.ini是OpenStackNeutron中DHCP代理的配置文件,首先打開/etc/neutron/dhcp_agent.ini文件,在[default]下輸入以下內(nèi)容。[DEFAULT]interface_driver=linuxbridgedhcp_driver=neutron.agent.linux.dhcp.Dnsmasqenable_isolated_metadata=true安裝配置Neutron網(wǎng)絡服務⑦修改

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論