1. 服務組件的密碼
密碼名稱 | 描述 |
ADMIN_PASS | admin用戶密碼 |
CINDER_DBPASS | 塊設備存儲服務的數據庫密碼 |
CINDER_PASS | 塊設備存儲服務的 cinder 密碼 |
DASH_DBPASS | 儀表板的數據庫密碼 |
DEMO_PASS | demo用戶的密碼 |
MYUSER_PASSWORD | myuser用戶的密碼 |
GLANCE_DBPASS | 鏡像服務的數據庫密碼 |
GLANCE_PASS | 鏡像服務的 glance 用戶密碼 |
KEYSTONE_DBPASS | 認證服務的數據庫密碼 |
METADATA_SECRET | 元數據代理的密碼 |
NEUTRON_DBPASS | 網絡服務的數據庫密碼 |
NEUTRON_PASS | 網絡服務的 neutron 用戶密碼 |
NOVA_DBPASS | 計算服務的數據庫密碼 |
NOVA_PASS | 計算服務的 nova 用戶的密碼 |
PLACEMENT_PASS | 展示位置服務placement用戶的密碼 |
RABBIT_PASS | RabbitMQ服務的openstack用戶的密碼 |
2. Openstack環境准備
每台服務器關閉防火牆和selinux
systemctl stop firewalld vim /etc/selinux/config SELINUX=disabled setenforce 0
服務器環境准備
准備兩台優化好的服務器用來部署環境,一台控制節點 一台計算節點
生成環境中建議按下面的推薦,將服務分布式部署到單獨的服務器上
CPU | 支持 intel64 或 AMD64 CPU擴展,並啟用AMD-H或intel VT硬件虛擬化支持的64位x86處理器 |
系統版本 | CentOS7.6 版本 |
內存最低要求 | 根據實際測試環境選擇 >=4G |
硬盤 | 根據實際測試環境選擇 >=50G |
防火牆 | 關閉 |
SELINUX | 關閉 |
YUM源 | 阿里雲的Yum源 |
虛擬機IP分配情況
主機 | IP地址 | 主機名 | 注意事項 |
控制節點 | eth0:192.168.0.10/24 ;eth1: 10.0.1.10/24 | controller | 至少4G,要開虛擬化 |
計算節點 | eth0:192.168.0.20/24 ;eth1: 10.0.1.20/24 | computel01 | 至少4G,要開虛擬化 |
網絡節點 | eth0:192.168.0.30/24 ;eth1: 10.0.1.30/24 | neutron01 | 至少4G,要開虛擬化 |
存儲節點 | eth0:192.168.0.40/24 ;eth1: 10.0.1.40/24 | cinder01 | 至少4G,要開虛擬化 |
eth0網卡為NAT模式,eth1網卡為僅主機模式
將僅虛擬機的VMnet1僅主機網絡設置為可以共享當前主機的外網網卡
設置僅主機模式的網段為10.0.1.0/24
修改VMware的虛擬網絡編輯器,這里的僅主機網絡IP為手動設置,也可以打開DHCP,在eth1網卡配置文件中則不需要配置IP
3. 控制節點基礎配置
為其他節點批量下發秘鑰
yum install sshpass -y #測試環境下每台服務器的root密碼設置相同了,生產中可寫多條sshpass下發秘鑰命令 [root@controller ~]# cat >>/server/scripts/fenfa_pub.sh<< EOF #!/bin/bash ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' for ip in 20 30 40 do sshpass -p123456 ssh-copy-id -o StrictHostKeyChecking=no 172.16.0.$ip done EOF --------- sh /server/scripts/fenfa_pub.sh
配置hosts
[root@controller ~]# cat >>/etc/hosts <<EOF 192.168.0.10 controller 192.168.0.20 computel01 192.168.0.30 neutron01 192.168.0.40 cinder01 EOF
批量分發hosts文件
for ip in 20 30 40 ;do scp -rp /etc/hosts root@172.16.0.$ip:/etc/hosts ;done
ntp時間同步
#controller節點 yum install chrony -y vim /etc/chrony.conf server ntp1.aliyun.com iburst allow 192.168.0.10/24 systemctl restart chronyd.service systemctl enable chronyd.service chronyc sources #其他節點上配置 yum install chrony -y vim /etc/chrony.conf server controller iburst systemctl restart chronyd.service systemctl enable chronyd.service chronyc sources
安裝train版yum源
yum install centos-release-openstack-train -y
安裝客戶端
yum install python-openstackclient -y
安裝數據庫
#也可以自定義配置其他版本的數據庫,例如mysql yum install mariadb mariadb-server python2-PyMySQL -y
openstack控制節點重啟連接后可能會報一堆錯誤,下載此應用可以解決此問題
yum install libibverbs -y cat > /etc/my.cnf.d/openstack.cnf << EOF [mysqld] bind-address = 192.168.0.10 default-storage-engine = innodb innodb_file_per_table = on max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8 EOF systemctl enable mariadb.service systemctl start mariadb.service #mysql初始化 mysql_secure_installation
安裝消息隊列服務
yum install rabbitmq-server -y systemctl enable rabbitmq-server.service systemctl start rabbitmq-server.service rabbitmq-plugins enable rabbitmq_management rabbitmqctl add_user openstack RABBIT_PASS rabbitmqctl set_permissions openstack ".*" ".*" ".*"
安裝Memcached
yum install memcached python-memcached -y sed -i '/OPTIONS/c\OPTIONS="-l 0.0.0.0,::1"' /etc/sysconfig/memcached systemctl restart memcached.service systemctl enable memcached.service
安裝 etcd
#IP地址為控制節點192.168.0.10 yum install etcd -y cp -a /etc/etcd/etcd.conf{,.bak} cat > /etc/etcd/etcd.conf <<EOF #[Member] ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ETCD_LISTEN_PEER_URLS="http://192.168.0.10:2380" ETCD_LISTEN_CLIENT_URLS="http://192.168.0.10:2379" ETCD_NAME="controller" #[Clustering] ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.0.10:2380" ETCD_ADVERTISE_CLIENT_URLS="http://192.168.0.10:2379" ETCD_INITIAL_CLUSTER="controller=http://192.168.0.10:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01" ETCD_INITIAL_CLUSTER_STATE="new" EOF systemctl restart etcd.service systemctl enable etcd.service