系统环境初始化
1、安装基础软件包
1
| yum install -y python-devel libffi-devel gcc openssl-devel libselinux-python git wget vim yum-utils
|
2、设置主机名 以及hosts
1 2 3 4 5 6 7 8 9
| hostnamectl set-hostname openstack && bash vim /etc/hosts #设置hosts 先清空hosts文件 然后添加如下 192.168.122.10 openstack openstack 192.168.122.10 kolla kolla #或者使用 tee /etc/hosts <<-'EOF' 192.168.122.10 openstack openstack 192.168.122.10 kolla kolla EOF
|
3、关闭系统安全设置
1 2 3 4 5 6
| #关闭防火墙 systemctl stop firewalld && systemctl disable firewalld #关闭网络管理组件 systemctl stop NetworkManager && systemctl disable NetworkManager #关闭selinux setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
|
安装pip和docker
1、pip是python的包管理器,ansible是基于python开发的,因此需要安装pip,安装相应的python包,默认系统都不带pip。
1 2 3 4 5 6
| #下载pip wget https://bootstrap.pypa.io/pip/2.7/get-pip.py #安装pip python get-pip.py #更新其他包 pip install -U setuptools
|
2、安装docker,docker是本次部署的关键,因此需要安装docker。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #添加docker软件仓库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache #安装docker-ce不是docker yum -y install docker-ce #启动服务 systemctl enable docker systemctl start docker #修改docker镜像的源 sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["http://hub-mirror.c.163.com"] } EOF systemctl daemon-reload service docker restart
|
3、配置pip加速
1 2 3 4 5 6 7 8
| cd ~ mkdir .pip tee .pip/pip.conf << EOF [global] [index-url=http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com EOF
|
安装ansible kolla-ansible
kolla-ansible部署是需要使用ansible,它是一款自动化的工具,是基于python开发。因此ansible是必须部署。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #获取epel的yum文件,否则ansible可能找不到包 yum install epel-release -y #安装ansible yum install ansible -y
#试过很多次都要先安装这个报告 pip install pbr #开始安装kolla-ansible,要带上--ignore-installed ,否则可能会报错 pip install -i https://mirrors.aliyun.com/pypi/simple/ kolla-ansible --ignore-installed #创建kolla的文件夹,后续部署的时候很多openstack的配置文件都会在这 mkdir -p /etc/kolla chown $USER:$USER /etc/kolla #复制ansible的部署配置文件 cp -v /usr/share/kolla-ansible/ansible/inventory/* /etc/kolla/. #负责gloable.yml和password.yml到目录 cp -rv /usr/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/. #检查`etc/kolla`文件夹下的文件
|
修改配置文件
1、修改ansible的配置文件。
1 2 3 4 5 6
| vi /etc/ansible/ansible.cfg [defaults] host_key_checking=False #line 71 pipelining=True #line 401 forks=100 #line 20
|
2、all-in-one配置节点清单文件 /etc/kolla/all-in-one
如果配置本地免密登录可以不需要使用
ansible_user=root ansible_password=openstack ansible_become=true
使用vim进行替换
1
| 1,$s/localhost ansible_connection=local/openstack ansible_user=root ansible_password=openstack ansible_become=true/
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| [control] openstack ansible_user=root ansible_password=openstack ansible_become=true
[network] openstack ansible_user=root ansible_password=openstack ansible_become=true
[compute] openstack ansible_user=root ansible_password=openstack ansible_become=true
[storage] openstack ansible_user=root ansible_password=openstack ansible_become=true
[monitoring] openstack ansible_user=root ansible_password=openstack ansible_become=true
[deployment] openstack ansible_user=root ansible_password=openstack ansible_become=true
|
3、global.yml添加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| kolla_base_distro: "centos"
kolla_install_type: "binary"
openstack_release: "yoga"
kolla_internal_vip_address: "192.168.122.10"
network_interface: "ens33"
neutron_external_interface: "ens34"
enable_haproxy: "no"
enable_cinder: "yes" enable_cinder_backend_lvm: "yes"
nova_compute_virt_type: "qemu"
|
4、生成密码 并修改webui的密码
1 2 3
| kolla-genpwd vim /etc/kolla/passwords.yml /keystone_admin_password
|
5、cinder的配置准备,官方文档未说明的点,需要提前创建好cinder使用的vgs(如果使用cinder请忽略。。)
1 2
| pvcreate /dev/sdb vgcreate cinder-volumes /dev/sdb
|
开始部署
环境预检查 没问题直接next
1
| kolla-ansible -i /etc//kolla/all-in-one prechecks
|
拉取镜像 时间有点长 大概15Minutes
1
| kolla-ansible -i /etc/kolla/all-in-one pull
|
正式部署 大概15Minutes
1
| kolla-ansible -i /etc/kolla/all-in-one deploy
|
验证安装
1 2 3
| kolla-ansible -i /etc/kolla/all-in-one post-deploy cat /etc/kolla/admin-openrc.sh /etc/kolla/all-in-one pull
|
正式部署 大概15分钟左右,具体取决于你的网络环境
1
| kolla-ansible -i /etc/kolla/all-in-one deploy
|
验证安装
1 2
| kolla-ansible -i /etc/kolla/all-in-one post-deploy cat /etc/kolla/admin-openrc.sh
|