一、准备工作
最小化安装CentOS 7.5,装完后,进行初始化
selinux,防火墙端口无法访问,主机名问题,都是安装的常见错误,一定要细心确认。
vim /etc/selinux/config #将SELINUX修改为SELINUX=disabled reboot #重启
kolla的安装,要求目标机器是两块网卡:
- ens33,设置的IP是:192.168.41.13,之后Horizon访问就是通过这个IP地址;
- ens37,不分配IP,这个是让neutron的br-ex 绑定使用,虚拟机是通过这块网卡访问外网。
关闭防火墙
systemctl stop firewalld systemctl disable firewalld
安装epel源
yum install epel-release -y
查看主机名/设置主机名
# 查看 hostname #设置 hostnamectl set-hostname kolla #再次查看 hostname
hosts绑定(/etc/hosts)
当前机器的ip kolla
配置ssh互信
ssh-keygen 按默认配置,回车创建密钥 #生成SSH密钥 ssh-copy-id -i ~/.ssh/id_rsa.pub root@kolla #lkolla为主机名 # 输入“yes”,回车;然后输入主机localhost.localdomian的root密码进行连接
安装各种依赖环境
yum install python-pip pip install -U pip yum install python-devel libffi-devel gcc openssl-devel libselinux-python pip install -U ansible
mkdir /etc/ansible vim /etc/ansible/ansible.cfg #添加以下内容到ansible.cfg中去 [defaults] host_key_checking=False pipelining=True forks=100
安装kolla-ansible
pip install kolla-ansible -i https://pypi.tuna.tsinghua.edu.cn/simple --ignore-installed netaddr cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/ cp /usr/share/kolla-ansible/ansible/inventory/* .
修改global.yml文件
vim /etc/kolla/global.yml
将文件中的内容修改为下面内容,并去掉前面的#号保存退出
kolla_base_distro: "centos" kolla_install_type: "source" openstack_release: "queens" network_interface: "eth33" #第一张网卡 kolla_internal_vip_address: "192.168.102.194" #etn33的ip neutron_external_interface: "eth34" #第二章网卡 enable_cinder: "no" enable_haproxy: "no" nova_compute_virt_type: "qemu" #采用全虚拟化模式 keystone_token_provider: 'fernet
创建随机密码文件,然后修改登录密码(登录openstack时所需的密码,可以不修改,使用生成的)
kolla-genpwd vim /etc/kolla/password.yml #找到keystone_admin_password,修改登录密码 #keystone_admin_password:admin ,将登录密码设为admin
二、开始部署openstack
检查部署环境
kolla-ansible -i all-in-one bootstrap-servers kolla-ansible -i all-in-one prechecks
修改docker源
vim /etc/docker/daemon.json
{ "registry-mirrors" : [ "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn", "http://hub-mirror.c.163.com", "https://cr.console.aliyun.com/" ] }
systemctl restart docker
拉取openstack镜像
kolla-ansible -i all-in-one pull
开始安装openstack
kolla-ansible -i all-in-one deploy
生成用户凭证
kolla-ansible post-deploy -i all-in-one
# 这样就创建 /etc/kolla/admin-openrc.sh 文件 . /etc/kolla/admin-openrc.sh
安装openstack命令客户端
pip install python-openstackclient python-glanceclient python-neutronclient --ignore-installed