目錄
一、OpenStack
1、簡介
2、硬件需求
3、網絡
二、環境搭建?
1、安全
2、主機網絡
3、網絡時間協議(NTP)
4、OpenStack包
5、SQL數據庫
6、消息隊列
7、Memcached
一、OpenStack
1、簡介
官網:https://docs.openstack.org/2023.2/
? ? ? ? OpenStack系統由幾個關鍵服務組成,它們可以單獨安裝。這些服務根據你的云需求工作在一起。這些服務包括計算服務、認證服務、網絡服務、鏡像服務、塊存儲服務、對象存儲服務、計量服務、編排服務和數據庫服務。您可以獨立安裝這些服務、獨自配置它們或者連接成一個整體。
?
?
2、硬件需求
控制器
? ? ? ? 控制節點上運行身份認證服務,鏡像服務,計算服務的管理部分,網絡服務的管理部分,多種網絡代理以及儀表板。也需要包含一些支持服務,例如:SQL數據庫,term:消息隊列, and?NTP。
? ? ? ? 可選的,可以在計算節點上運行部分塊存儲,對象存儲,Orchestration 和 Telemetry 服務。
? ? ? ? 計算節點上需要至少兩塊網卡。
計算
? ? ? ? 計算節點上運行計算服務中管理實例的管理程序部分。默認情況下,計算服務使用?KVM。
? ? ? ? 你可以部署超過一個計算節點。每個結算節點至少需要兩塊網卡。
塊設備存儲
? ? ? ? 可選的塊存儲節點上包含了磁盤,塊存儲服務和共享文件系統會向實例提供這些磁盤。
? ? ? ? 為了簡單起見,計算節點和本節點之間的服務流量使用管理網絡。生產環境中應該部署一個單獨的存儲網絡以增強性能和安全。
? ? ? ? 你可以部署超過一個塊存儲節點。每個塊存儲節點要求至少一塊網卡。
對象存儲
? ? ? ? 可選的對象存儲節點包含了磁盤。對象存儲服務用這些磁盤來存儲賬號,容器和對象。
? ? ? ? 為了簡單起見,計算節點和本節點之間的服務流量使用管理網絡。生產環境中應該部署一個單獨的存儲網絡以增強性能和安全。
? ? ? ? 這個服務要求兩個節點。每個節點要求最少一塊網卡。你可以部署超過兩個對象存儲節點。
3、網絡
從下面的虛擬網絡選項中選擇一種選項。
網絡選項1:公共網絡
? ? ? ? 公有網絡選項使用盡可能簡單的方式主要通過layer-2(網橋/交換機)服務以及VLAN網絡的分割來部署OpenStack網絡服務。本質上,它建立虛擬網絡到物理網絡的橋,依靠物理網絡基礎設施提供layer-3服務(路由)。額外地 ,:term:`DHCP`為實例提供IP地址信息。
注解
這個選項不支持私有網絡,layer-3服務以及一些高級服務,例如:term:LBaaS?and?FWaaS。如果你需要這些服務,請考慮私有網絡選項
?
網絡選項2:私有網絡
? ? ? ? 私有網絡選項擴展了公有網絡選項,增加了啟用?self-service`覆蓋分段方法的layer-3(路由)服務,比如 :term:`VXLAN。本質上,它使用 :term:`NAT`路由虛擬網絡到物理網絡。另外,這個選項也提供高級服務的基礎,比如LBaas和FWaaS。
二、環境搭建?
以下最小需求支持概念驗證環境,使用核心服務和幾個:term:`CirrOS`實例:
-
控制節點: 1 處理器, 4 GB 內存, 及5 GB 存儲
-
計算節點: 1 處理器, 2 GB 內存, 及10 GB 存儲
? ? ? ? 由于Openstack服務數量以及虛擬機數量的正常,為了獲得最好的性能,我們推薦你的環境滿足或者超過基本的硬件需求。如果在增加了更多的服務或者虛擬機后性能下降,請考慮為你的環境增加硬件資源。
? ? ? ? 為了避免混亂和為OpenStack提供更多資源,我們推薦你最小化安裝你的Linux發行版。同時,你必須在每個節點安裝你的發行版的64位版本。
? ? ? ? 每個節點配置一個磁盤分區滿足大多數的基本安裝。但是,對于有額外服務如塊存儲服務的,你應該考慮采用 :term:`Logical Volume Manager (LVM)`進行安裝。
主機 | ip | 角色 |
open | 192.168.67.51 | controller(控制節點) |
open1 | 192.168.67.52 | compute1(計算節點) |
open2 | 192.168.67.53 | block1(塊存儲節點) 可選 |
1、安全
openssl rand -hex 10
密碼名稱 | 描述 |
---|---|
數據庫密碼(不能使用變量) | 數據庫的root密碼 |
ADMIN_PASS | admin?用戶密碼 |
CEILOMETER_DBPASS | Telemetry 服務的數據庫密碼 |
CEILOMETER_PASS | Telemetry 服務的?ceilometer?用戶密碼 |
CINDER_DBPASS | 塊設備存儲服務的數據庫密碼 |
CINDER_PASS | 塊設備存儲服務的?cinder?密碼 |
DASH_DBPASS | Database password for the dashboard |
DEMO_PASS | demo?用戶的密碼 |
GLANCE_DBPASS | 鏡像服務的數據庫密碼 |
GLANCE_PASS | 鏡像服務的?glance?用戶密碼 |
HEAT_DBPASS | Orchestration服務的數據庫密碼 |
HEAT_DOMAIN_PASS | Orchestration 域的密碼 |
HEAT_PASS | Orchestration 服務中``heat``用戶的密碼 |
KEYSTONE_DBPASS | 認證服務的數據庫密碼 |
NEUTRON_DBPASS | 網絡服務的數據庫密碼 |
NEUTRON_PASS | 網絡服務的?neutron?用戶密碼 |
NOVA_DBPASS | 計算服務的數據庫密碼 |
NOVA_PASS | 計算服務中``nova``用戶的密碼 |
RABBIT_PASS | RabbitMQ的guest用戶密碼 |
SWIFT_PASS | 對象存儲服務用戶``swift``的密碼 |
2、主機網絡
配置網絡接口:
修改網卡名稱(為了保持一致,后面不會出錯)
cd /boot/grub2/
vim grub.cfg
net.ifnames=0
然后重啟
將第一個接口配置為管理網絡接口
mv ifcfg-ens33 ifcfg-eth0
vim ifcfg-eth0
?
提供者網絡接口使用一個特殊的配置,不分配給它IP地址。配置第二塊網卡作為提供者網絡
cp ifcfg-eth ifcfg-ethl
vim ifcfg-eth1
配置域名解析?
設置節點主機名為?controller。
編輯?/etc/hosts?文件
3、網絡時間協議(NTP)
安全并配置組件
安裝軟件包:
yum install chrony
?編輯?/etc/chrony.conf?文件 (使用aliyun的)
vim /etc/chrony.conf
?
完成
其他節點一致
4、OpenStack包
提前準備好的源
放在/opt/
配置軟件倉庫
cd /etc/yum.repos.d/
vim openstack.repo
[openstack]
name=mitaka
baseurl=file:///opt/mitaka
gpgcheck=0
在主機上升級包:
yum upgrade
安裝 OpenStack 客戶端:
yum install python-openstackclient
5、SQL數據庫
? ? ? ?大多數 OpenStack 服務使用 SQL 數據庫來存儲信息。 典型地,數據庫運行在控制節點上。指南中的步驟依據不同的發行版使用MariaDB或 MySQL。OpenStack 服務也支持其他 SQL 數據庫
SQL數據庫配置組件
安裝軟件包:
yum install mariadb mariadb-server python2-PyMySQL
創建并編輯
vim /etc/my.cnf.d/openstack.cnf[mysqld]
bind-address = 192.168.67.51
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
?
?完成安裝
systemctl enable --now mariadb.service
?初始化
mysql_secure_installation
6、消息隊列
? ? ? ?OpenStack 使用?message queue?協調操作和各服務的狀態信息。消息隊列服務一般運行在控制節點上。OpenStack支持好幾種消息隊列服務包括?RabbitMQ,?Qpid, 和?ZeroMQ。不過,大多數發行版本的OpenStack包支持特定的消息隊列服務。
安全并配置組件:
yum install rabbitmq-server
systemctl enable --now rabbitmq-server.service
rabbitmqctl add_user openstack openstack
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
?
打開rabbitmq management 模塊 訪問15672接口
rabbitmg-plugins list
rabbitmq-plugins enable rabbitmq management
netstat -antlp
賬號密碼guest
7、Memcached
? ? ? ?認證服務認證緩存使用Memcached緩存令牌。緩存服務memecached運行在控制節點。在生產部署中,我們推薦聯合啟用防火墻、認證和加密保證它的安全。
安裝:
yum install memcached python-memcached
配置:
啟動Memcached服務,并且配置它隨機啟動。