先放个链接,万一有人关注呢
优质文章推荐
↓ ↓ ↓ ↓ ↓
准备3台主机配置在2核2G或以上,存储20G以上,尽量配置高一些。3台主机分别作为控制节点、计算节点与块存储节点。
主机网络(3台都要做)
为了试验方便,关闭3台主机的外部与内部防火墙
systemctl stop firewalldsystemctl disable firewalldsetenforce 0sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
配置静态IP(3台),防止DHCP导致的IP变动
vim /etc/sysconfig/network-scripts/ifcfg-ens33内容大致如下
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"#将原来的dhcp修改为staticBOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="21b39a7b-a822-4266-ae8d-c02cdc90adaa"DEVICE="ens33"ONBOOT="yes"#添加如下内容#IP地址IPADDR=192.168.2.161#子网掩码NETMASK=255.255.255.0#默认网关GATEWAY=192.168.2.1#默认域名解析地址DNS1=8.8.8.8
重启网络
systemctl restart network这里用的是CentOS 7,如果是CentOS 8,则不能用此命令重启网络。
分别给3台主机修改主机名
hostnamectl set-hostname controllerhostnamectl set-hostname computehostnamectl set-hostname compute2
解析主机名(3台),为了3台主机方便连接
vim /etc/hosts添加如下内容
192.168.2.161 controller192.168.2.162 compute192.168.2.163 compute2
在CentOS中,CentOS默认启用extras仓库,extras仓库提供OpenStack所用的RPM包,因此可以直接安装OpenStack所用的RPM包。
更换国内源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo安装软件包
yum -y install centos-release-openstack-train升级软件包
yum upgrade安装OpenStack客户端
yum -y install python-openstackclient网络时间协议(控制节点与其他节点的操作不同)
在所有节点安装Chrony
yum -y install chrony在控制节点,编辑配置文件
vi /etc/chrony.conf添加如下内容
#根据控制节点主机名配置server controller iburst#根据主机所处的网段配置allow 192.168.2.0/24
在计算节点与块存储节点编辑配置文件,在配置文件中添加如下内容
#根据控制节点主机名配置server controller iburst
启动服务(3台)
systemctl enable chronydsystemctl start chronyd
验证是否配置成功
chronyc sources -v输出如下
210 Number of sources = 1MS Name/IP address Stratum Poll Reach LastRx Last sample^* controller 2 6 177 16 +601us[+1255us] +/- 37ms
MS的值为^*时,说明时间同步配置成功
数据库(控制节点)
OpenStack服务支持MariaDB、MySQL等SQL数据库,这里选择MariaDB。
安装数据库
yum -y install mariadb mariadb-server python2-PyMySQL编辑配置文件,设置监听地址及数据库的相关配置,使得其他节点能够通过控制节点访问数据库
vi /etc/my.cnf.d/openstack.cnf内容如下
[mysqld]bind-address = 192.168.2.161 #监听地址default-storage-engine = innodb #设置默认存储引擎innodb_file_per_table = on #开启独享表空间max_connections = 4096 #设置最大连接数collation-server = utf8_general_ci #设置校对规则character-set-server = utf8 #设置默认字符集
开启服务
systemctl enable mariadb.servicesystemctl start mariadb.service
初始化数据库
mysql_secure_installation在初始化过程中需要手动配置密码,为了操作方便,这里使用一个简单的123密码。
消息队列(控制节点)
安装RabbitMQ
yum -y install rabbitmq-server开启服务
systemctl enable rabbitmq-server.servicesystemctl start rabbitmq-server.service
RabbitMQ服务添加openstack用户
rabbitmqctl add_user openstack 123 #123是密码输出如下
Creating user "openstack"给予openstack用户读和写的权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"输出如下
Setting permissions for user "openstack" in vhost "/"对象缓存服务(控制节点)
安装Memcached
yum install memcached python-memcached修改Memcached的配置文件,将服务配置为控制节点的IP地址
vi /etc/sysconfig/memcached内容如下
OPTIONS="-l 192.168.190.129,::1,controller"开启服务
systemctl enable memcached.servicesystemctl start memcached.service
键值存储服务(控制节点)
Etcd是一种可靠的分布式键值存储服务,用于存储配置、跟踪服务实时性等场景。etcd为OpenStack提供关键的协调和数据存储服务,是构建可靠分布式云管理平台的重要组件。
etcd不属于典型的NoSQL数据库,准确来说它是一个采用Go语言开发的分布式键值存储系统。etcd作为一个优秀的分布式键值存储系统,与一般意义上的NoSQL数据库有明显区别,它更专注在分布式协调和key-value存储方面,而不是作为通用数据库使用。
安装Etcd服务
yum install etcd -y修改Etcd的配置文件,将服务设置为控制节点的IP地址
vi /etc/etcd/etcd.conf内容如下
#[Member]ETCD_DATA_DIR="/var/lib/etcd/default.etcd"ETCD_LISTEN_PEER_URLS="http://192.168.2.161:2380"ETCD_LISTEN_CLIENT_URLS="http://192.168.2.161:2379"ETCD_NAME="controller"#[Clustering]ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.2.161:2380"ETCD_ADVERTISE_CLIENT_URLS="http://192.168.2.161:2379"ETCD_INITIAL_CLUSTER="controller=http://192.168.2.161:2380"ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"ETCD_INITIAL_CLUSTER_STATE="new"
开启服务
systemctl enable etcdsystemctl start etcd
来不及解释了,快上车!(进群看公告)

欢迎新的小伙伴加入!在这里,我们鼓励大家积极参与群内讨论和交流,分享自己的见解和经验,一起学习和成长。同时,也欢迎大家提出问题和建议,让我们不断改进和完善这个平台。
↓↓↓ 点个在看,你最好看!