all-in-one部署kolla

一:环境准备

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版权协议,转载请附上原文出处链接和本声明。