一:环境准备
1台虚拟机 centos7.5
两块网卡 ens33 (nat映射通外网,做管理网)
ens34 (做业务网)
存储不少于60G
关闭防火墙firewalld和selinux
配置主机名:hostnamectl set-hostname kolla
vi /etc/hosts
192.168.102.194 kolla
配置互信:ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub root@kolla
配置yum源:yum install epel-release -y
二、安装依赖库
yum install python-pip
pip install -U pip
yum install python-devel libffi-devel gcc openssl-devel libselinux-python
yum -y install ansible
pip install -U ansible
编辑/etc/ansible/ansible.cfg ,修改一下内容
[defaults]
host_key_checking=False
pipelining=True
forks=100
三、安装kolla
pip install kolla-ansible
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/
cp /usr/share/kolla-ansible/ansible/inventory/* .
修改主机变量文件:all-in-one
# These initial groups are the only groups required to be modified. The
# additional groups are for more control of the environment.
[control]
192.168.164.129
[network]
192.168.164.129
[compute]
192.168.164.129
[storage]
localhost ansible_connection=local
[monitoring]
localhost ansible_connection=local
[deployment]
localhost ansible_connection=local
编辑globals.yml文件,修改如下内容:
kolla_base_distro: "centos"
kolla_install_type: "source"
openstack_release: "queens" #####版本可以自己定义
network_interface: "ens33"
kolla_internal_vip_address: "192.168.102.194" ##单节点部署vip可以和管理网一样
neutron_external_interface: "ens34"
enable_cinder: "no" ######没有后端存储,暂时禁用cinder
enable_haproxy: "no"
nova_compute_virt_type: "qemu" 全虚拟化模式
keystone_token_provider: 'fernet'
生成密码文件:kolla-genpwd
出现以下错误的解决方法:
[root@kolla ~]# kolla-genpwd
Traceback (most recent call last):
File "/usr/bin/kolla-genpwd", line 8, in <module>
sys.exit(main())
File "/usr/lib/python2.7/site-packages/kolla_ansible/cmd/genpwd.py", line 133, in main
fernet_keys, hmac_md5_keys)
File "/usr/lib/python2.7/site-packages/kolla_ansible/cmd/genpwd.py", line 67, in genpwd
private_key, public_key = generate_RSA()
File "/usr/lib/python2.7/site-packages/kolla_ansible/cmd/genpwd.py", line 52, in generate_RSA
format=serialization.PublicFormat.OpenSSH
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/rsa.py", line 514, in public_bytes
self._rsa_cdata
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1706, in _public_key_bytes
return self._openssh_public_key_bytes(key)
File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1740, in _openssh_public_key_bytes
serialization._ssh_write_mpint(public_numbers.e) +
AttributeError: 'module' object has no attribute '_ssh_write_string'
解决方法:
pip install python-openstackclient --ignore-installed pyOpenSSl
四、部署kolla
kolla-ansible -i all-in-one bootstrap-servers
kolla-ansible -i all-in-one prechecks
kolla-ansible -i all-in-one pull #连接外网时间有点长,第一次执行若有failed,再执行一次
kolla-ansible -i deploy
生成环境变量脚本:
kolla-ansible post-deploy -i all-in-one
安装openstack命令行客户端
pip install python-openstackclient python-glanceclient python-neutronclient --ignore-installed
初始化运行环境:
. /usr/share/kolla-ansible/init-runonce
日志文件位置:/var/lib/docker/volumes/kolla_logs/_data/
销毁环境:kolla-ansible destroy -i all-in-one --yes-i-really-really-mean-it
版权声明:本文为weixin_40579389原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。