簡介
最近在學習openstack,爲了更好的實踐,自己準備接下來一點一點開始部署openstack,openstack組件衆多,部署時可能比較複雜。本次使用的是openstack的pike,不同版本之間可能會有差異,自己可以參照官方文檔進行部署。部署環境爲CentOS Linux release 7.6.1810 (Core)。首先說明下,openstack不同組件可以部署到不同的設備上,本次自己實驗,未使用多個環境,目前把所有服務部署到了同一臺設備上,設備的IP地址爲192.168.46.130,接下來我們先開始部署openstack需要的一些基本環境。
MySQL安裝和配置
openstack需要使用到mysql數據庫,接下來我們安裝mysql,並作基本配置
安裝MySQL
# yum install mariadb mariadb-server python2-PyMySQL
配置MySQL
編輯/etc/my.cnf.d/openstack.cnf,在此處是新創建了一個openstack使用的配置文件
[mysqld] bind-address = 192.168.46.130 #綁定本機IP地址 default-storage-engine = innodb innodb_file_per_table = on max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8 #使用UTF-8的字符集
啓動服務
# systemctl enable mariadb.service # systemctl start mariadb.service
消息隊列
openstack組件間的交互會用到消息隊列,本次安裝使用的是rabbitmq,當然也可以使用其他種類的消息隊列
安裝rabbitMQ
# yum install rabbitmq-server
啓動服務
# systemctl enable rabbitmq-server.service # systemctl start rabbitmq-server.service
添加用戶
添加一個openstack用戶
# rabbitmqctl add_user openstack RABBIT_PASS Creating user "openstack" ...
設置權限
# rabbitmqctl set_permissions openstack ".*" ".*" ".*" Setting permissions for user "openstack" in vhost "/" ...
Memcached
Memcached爲做認證的緩存,緩存keystone的一些token或用戶名密碼信息。
安裝Memcached
# yum install memcached python-memcached
配置
編輯/etc/sysconfig/memcached文件,配置使用memcached的IP地址
OPTIONS="-l 192.168.46.130,::1"
啓動服務
# systemctl enable memcached.service # systemctl start memcached.service
安裝openstack
我們使用的openstack的pike版本,下邊安裝openstack repository
# yum install centos-release-openstack-pike
安裝完成後在/etc/yum.repos.d/會有CentOS-OpenStack-pike.repo,此爲openstack的yum源
安裝openstackclient
# yum install python-openstackclient
安裝完成openstackclient就會有了一些openstack的命令,在後續openstack的組件部署中會用到。
其他
對centos系統也需要做一些基本的修改,關閉selinux,打開/etc/sysconfig/selinux,設置SELINUX=disable
爲了防止其他影響,最好清空防火牆規則,執行如下命令:
iptables -F
到此爲止部署openstack的前期工作就做完了,下邊開始部署openstack的各組件。