Centos8 部署openstack

主机环境

VMware Workstation Pro搭建的两个虚拟机

controller  10.0.0.11  Centos 8
compute     10.0.0.31  Centos 8
block 		10.0.0.41  Cnetos 8

配置相关源和环境(控制节点、计算节点)

阿里源镜像

base

  mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo

epel

yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
yum makecache

安装pip阿里源

mkdir ~/.pip
vim ~/.pip/pip.conf

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

安装常用程序

yum install -y vim wget chrony git

安装zsh(可省略)

yum install -y zsh
chsh -s /bin/zsh
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
echo "PROMPT=%m\ \$PROMPT" >> .zshrc
zsh

修改hosts文件

vim /etc/hosts

10.0.0.11 controller
10.0.0.31 compute
10.0.0.41 block

关闭防火墙、SElinux

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

vim /etc/selinux/config

SELINUX=disabled

配置时间同步(控制节点、计算节点)

控制节点

vim /etc/chrony.conf

pool ntp1.aliyun.com iburst
pool time1.cloud.tencent.com iburst

allow 10.0.0.0/24
systemctl enable chronyd
systemctl restart chronyd

计算节点

vim /etc/chrony.conf

# 只留这个
pool controller iburst
systemctl enable chronyd
systemctl restart chronyd
chronyc sources
# 提示^* controller...则为同步成功

安装OpenStack包(控制节点、计算节点)

安装OpenStack阿里源镜像

vim /etc/yum.repos.d/Openstack-Ussuri.repo

[openstack]
name=Openstack-Ussuri
baseurl=https://mirrors.aliyun.com/centos/8/cloud/x86_64/openstack-ussuri/
enabled=1
gpgcheck=0
yum makecache

安装OpenStack包

yum install -y centos-release-openstack-ussuri
yum config-manager --set-enabled PowerTools

安装rdo库

yum install -y https://www.rdoproject.org/repos/rdo-release.el8.rpm

升级所有节点上的包

yum upgrade
# 重启
reboot

安装OpenStack客户端

yum install -y python3-openstackclient

安装openstack-selinux

yum install -y openstack-selinux

安装数据库(控制节点)

yum install -y mariadb mariadb-server python2-PyMySQL

vim /etc/my.cnf.d/mariadb-server.cnf

[mysqld]
bind-address = 10.0.0.11

default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
systemctl enable --now mariadb.service

初始化mariadb

mysql_secure_installation

允许远程登录

mysql -u root -p
use mysql
update user set host = '%' where user = 'root'  and host='localhost';
flush privileges;

安装Message queue(控制节点)

yum install -y rabbitmq-server
systemctl enable --now rabbitmq-server.service
# 添加用户
rabbitmqctl add_user openstack RABBIT_PASS // 自定义密码
# 允许用户openstack进行配置、写入和读取访问
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

安装Memcached(控制节点)

yum install -y memcached python3-memcached

vim /etc/sysconfig/memcached

OPTIONS="-l 127.0.0.1,::1,controller"
systemctl enable --now memcached.service

安装Etcd(控制节点)

yum install -y etcd

vim /etc/etcd/etcd.conf

#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://10.0.0.11:2380"
ETCD_LISTEN_CLIENT_URLS="http://10.0.0.11:2379"
ETCD_NAME="controlle
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CentOS 7可以作为OpenStack部署平台。以下是一些步骤: 1. 安装CentOS 7操作系统并进行基本配置。 2. 安装OpenStack的依赖软件包,如Python、MySQL、RabbitMQ等。 3. 安装OpenStack的各个组件,如Nova、Neutron、Glance等。 4. 配置OpenStack的各个组件,如Nova的配置文件、Neutron的网络配置等。 5. 启动OpenStack服务并进行测试。 以上是OpenStack部署的基本步骤,具体操作可以参考OpenStack官方文档或其他相关资料。 ### 回答2: ### 回答3: CentOS 7作为一种知名的Linux操作系统,在诸多开源技术领域都有着广泛的应用。在云计算领域,支持OpenStack的基础环境也可以在CentOS7上进行构建部署。本文将介绍如何在CentOS 7上部署OpenStack。 一、准备工作 1. 安装CentOS 7操作系统并进行初始化配置; 2. 安装OpenStack相关组件:OpenStack组件多达20个,但是不是每个组件都需要安装。按照需求可选择安装认证服务Keystone、网络服务Neutron、虚拟机管理服务Nova等常用服务组件; 3. 确认各个组件的版本及其依赖关系。 二、安装OpenStack组件 1. 安装数据库服务:OpenStack需要使用数据库来存储各种配置和信息,可选的数据库有MySQL、PostgreSQL等,本文以MySQL为例。对于安装MySQL,可使用yum命令直接安装: ``` $ sudo yum install mariadb mariadb-server python2-PyMySQL ``` 2. 安装消息队列服务:OpenStack使用消息队列来协调各个组件之间的通信。在CentOS 7上,常用的消息队列服务是RabbitMQ,可使用yum命令直接安装: ``` $ sudo yum install rabbitmq-server ``` 3. 安装认证服务Keystone:Keystone提供认证和授权服务,用于OpenStack用户的管理、安全的认证及角色赋权。可使用yum命令来安装: ``` $ sudo yum install openstack-keystone httpd mod_wsgi ``` 4. 安装网络服务Neutron:Neutron提供对网络资源的管理和调度,包括网络拓扑的管理和流量控制等。可使用yum命令来安装: ``` $ sudo yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge python-neutronclient ``` 5. 安装虚拟机管理服务Nova:Nova负责虚拟机的管理和调度,包括虚拟机实例的创建、删除、迁移等工作。可使用yum命令来安装: ``` $ sudo yum install centos-release-openstack-queens $ sudo yum install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient ``` 6. 安装镜像服务Glance:Glance提供镜像的存储,包括镜像的上传、下载、共享及管理等。可使用yum命令来安装: ``` $ sudo yum install openstack-glance ``` 7. 安装块存储服务Cinder:Cinder为虚拟机提供块存储服务,包括存储资源的分配、管理及快照等工作。可使用yum命令来安装: ``` $ sudo yum install openstack-cinder ``` 三、配置OpenStack组件 1. 配置数据库服务MySQL:在安装完MySQL之后,需要进行初始化配置: ``` $ sudo systemctl start mariadb $ sudo systemctl enable mariadb $ sudo /usr/bin/mysql_secure_installation ``` 2. 配置认证服务Keystone:在安装完Keystone之后,需要进行配置: ``` $ sudo systemctl enable httpd.service $ sudo systemctl start httpd.service $ sudo systemctl enable openstack-keystone.service $ sudo systemctl start openstack-keystone.service $ sudo keystone-manage db_sync $ sudo mysql mysql> CREATE DATABASE keystone; mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \ IDENTIFIED BY 'KEYSTONE_DBPASS'; mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \ IDENTIFIED BY 'KEYSTONE_DBPASS'; ``` 3. 配置网络服务Neutron:在安装完Neutron之后,需要进行配置: ``` $ sudo systemctl enable neutron-server.service $ sudo systemctl start neutron-server.service $ sudo neutron-db-manage upgrade queens $ sudo systemctl restart openstack-nova-api.service $ sudo systemctl enable neutron-linuxbridge-agent.service $ sudo systemctl start neutron-linuxbridge-agent.service ``` 4. 配置虚拟机管理服务Nova:在安装完Nova之后,需要进行配置: ``` $ sudo systemctl enable openstack-nova-api.service \ openstack-nova-consoleauth.service openstack-nova-scheduler.service \ openstack-nova-conductor.service openstack-nova-novncproxy.service $ sudo systemctl start openstack-nova-api.service \ openstack-nova-consoleauth.service openstack-nova-scheduler.service \ openstack-nova-conductor.service openstack-nova-novncproxy.service ``` 5. 配置镜像服务Glance:在安装完Glance之后,需要进行配置: ``` $ sudo systemctl enable openstack-glance-api.service \ openstack-glance-registry.service $ sudo systemctl start openstack-glance-api.service \ openstack-glance-registry.service ``` 6. 配置块存储服务Cinder:在安装完Cinder之后,需要进行配置: ``` $ sudo systemctl enable openstack-cinder-api.service \ openstack-cinder-scheduler.service $ sudo systemctl start openstack-cinder-api.service \ openstack-cinder-scheduler.service ``` 四、测试OpenStack的运行状态 1. 认证服务Keystone测试: ``` $ export OS_USERNAME=admin $ export OS_PASSWORD=ADMIN_PASS $ export OS_PROJECT_NAME=admin $ export OS_USER_DOMAIN_NAME=Default $ export OS_PROJECT_DOMAIN_NAME=Default $ export OS_AUTH_URL=http://controller:5000/v3 $ export OS_IDENTITY_API_VERSION=3 $ openstack token issue ``` 2. 网络服务Neutron测试: ``` $ neutron ext-list $ neutron agent-list $ neutron net-create ext-net --router:external --provider:physical_network external \ --provider:network_type flat $ neutron subnet-create ext-net --name ext-subnet \ --allocation-pool start=172.16.101.1,end=172.16.101.254 \ --disable-dhcp --gateway 172.16.101.1 172.16.101.0/24 $ neutron net-create net0 $ neutron subnet-create --name net0-subnet --dns-nameserver 10.0.0.1 \ --gateway 192.168.5.1 net0 192.168.5.0/24 $ neutron router-create router0 $ neutron router-gateway-set router0 ext-net $ neutron router-interface-add router0 net0-subnet ``` 3. 虚拟机管理服务Nova测试: ``` $ nova flavor-list $ nova image-list $ nova network-list $ nova boot --flavor flavor2 --image cirros --nic net-id=f3760d00-308d-4a31-bf8e-325ff897cf64 \ cirros-instance ``` 4. 镜像服务Glance测试: ``` $ glance image-list $ glance image-create --name "cirros" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 \ --container-format bare --visibility public ``` 5. 块存储服务Cinder测试: ``` $ cinder service-list $ cinder get-capabilities $ cinder volume-create --display-name lv01 --size 1 $ cinder list $ cinder show <volume-id> ``` 以上测试方法,可通过一些命令来检查OpenStack的各个组件是否都已经启动,并且可以响应外部请求。如果测试成功,则证明OpenStack已经安装成功,并可以开始部署虚拟机等应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值