OpenStack已经包含很多种安装模式,DevStack、PackStack主要适用于开发。当前实际生产环境以kolla居多。
先尝试使用单机版本进行安装,出现了一些问题才安装成功所以记录一下。
注意OpenStack每个版本都有各自的文档,注意选择正确的版本。比如下面的rocky
https://docs.openstack.org/project-deploy-guide/kolla-ansible/rocky/quickstart.html
https://www.sunmite.com/openstack/use-kolla-deploy-openstack-all-in-one.html
https://blog.csdn.net/zhongbeida_xue/article/details/84587273
https://www.jianshu.com/p/6b7ebcb82196
https://www.cnblogs.com/silvermagic/p/7665975.html
https://blog.csdn.net/Rain_JN/article/details/78415342
官方推荐至少如下配置
Eth0:192.168.1.27
Eth1:192.168.2.9
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
docker --version
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
参考rocky版本的安装文档,大部分时候直接按照命令来即可,有时候需要自己调整部分内容
https://docs.openstack.org/project-deploy-guide/kolla-ansible/rocky/quickstart.html
yum install epel-release
yum install python-pip
pip install -U pip
yum install python-devel libffi-devel gcc openssl-devel libselinux-python
安装ansible
yum install ansible
pip install -U ansible
vi /etc/ansible/ansible.cfg
[defaults]
host_key_checking=False
pipelining=True
forks=100
安装kolla-ansible
pip install kolla-ansible
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
cp /usr/share/kolla-ansible/ansible/inventory/* .
生成密码
kolla-genpwd
编辑kolla配置文件
vi /etc/kolla/globals.yml
kolla_base_distro: "centos"
kolla_install_type: "source"
openstack_release: "rocky"
openstack_logging_debug: "True"
network_interface: "eth0"
neutron_external_interface: "eth1"
kolla_internal_vip_address: "192.168.1.99"
# 访问OpenStack的API就是192.168.1.99
nova_compute_virt_type: "qemu"
# 注意由于本人是在虚拟机上部署,部署完毕后创建instance失败。检查发现默认配置是kvm
# egrep -c '(vmx|svm)' /proc/cpuinfo 得到 0
# /etc/kolla/nova/nova-computer/nova.conf中配置的也是kvm
# 直接将nova.conf中配置修改成qemu,然后docker restart nova-computer后可以创建成功
部署
kolla-ansible -i ./all-in-one bootstrap-servers
kolla-ansible -i ./all-in-one prechecks
kolla-ansible -i ./all-in-one deploy
安装使用环境
pip install python-openstackclient python-glanceclient python-neutronclient
kolla-ansible post-deploy
. /etc/kolla/admin-openrc.sh
. /usr/share/kolla-ansible/init-runonce
docker ps可以查看当前运行情况
访问 http://192.168.1.27 可以看到OpenStack主页
cat /etc/kolla/admin-openrc.sh
查看账号和密码并登陆
一直重启mariadb
一开始我安装的是pike版本的openstack,一直报这个错误。查询说是docker版本问题,更改了最新的docker依旧不可用
手动启动docker mariadb又是完全OK的。改成rocky版本的openstack后未出现该问题。
出现 Cannot uninstall 'PyYAML'
pip install kolla-ansible --ignore-installed PyYAML
https://blog.csdn.net/zhongbeida_xue/article/details/84587273
http://www.cnblogs.com/silvermagic/p/7665975.html
安装好OpenStack后执行命令行报错
ImportError: cannot import name decorate
直接找到该文件,注释掉该import行即可
https://www.cnblogs.com/ylj-linux/p/10115749.html
安装好OpenStack后创建instance失败
失败有多种可能,我的环境是OpenStack的虚拟机中部署kolla,将nova.conf的配置修改成qemu后可以创建instance成功。
安装前可以使用命令检查是否支持硬件虚拟化。为0,表示不支持硬件虚拟化,需要设置为qemu。