自动化部署openstack

all in one 方式
两块网卡,8G内存,20G存储,可以再加一个20G存储做块存储
首先配置epel源

[root@server1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

安装依赖性

[root@server1 ~]# yum install python-devel libffi-devel gcc openssl-devel libselinux-python
[root@server1 ~]# yum install python-pip

创建pip的源

[root@server1 ~]# mkdir ~/.pip
[root@server1 .pip]# vim pip.conf
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com

安装ansible并进行配置

[root@server1 .pip]# yum install ansible
[root@server1 .pip]# vim /etc/ansible/ansible.cfg 
[defaults]
host_key_checking=False
pipelining=True
forks=100

安装kolla-ansible并配置

[root@server1 ~]# pip install kolla-ansible==8.0.1
[root@server1 ~]# mkdir -p /etc/kolla
[root@server1 ~]# cp -r /usr/share/kolla-ansible/etc_examples/kolla/* /etc/kolla ##复制两个文件

[root@server1 kolla]# vim globals.yml
kolla_base_distro: "centos"  ##镜像版本
kolla_install_type: "binary" ##安装方式
openstack_release: "stein"  ##openstack版本
kolla_internal_vip_address: "192.168.223.100" ##支持负载均衡,这里的vip写本机的即可
network_interface: "ens33" ##对外接口
neutron_external_interface: "ens34" ##对内云主机接口
enable_haproxy: "no"
enable_cinder: "yes"  ##时间同步
enable_cinder_backend_iscsi: "yes"  ##iscsi后端
enable_cinder_backend_lvm: "yes"
enable_heat: "no"  ##扩展节点

生成密码

[root@server1 kolla]# kolla-genpwd

所有密码保存在passwords.yml文件中

编辑网卡信息并激活

[root@server1 network-scripts]# vim ifcfg-ens34
BOOTPROTO=none
DEVICE=ens34
ONBOOT=yes
[root@server1 network-scripts]# ifup ens34

复制all-in-one配置文件

[root@server1 kolla]# cp /usr/share/kolla-ansible/ansible/inventory/all-in-one  .
[root@server1 kolla]# ansible -i  all-in-one all -m ping ##测试

安装docker

[root@server1 ~]# yum install docker-ce

配置阿里云镜像加速器

[root@server1 ~]# vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://yot2uoql.mirror.aliyuncs.com"]
}

[root@server1 kolla]# kolla-ansible -i all-in-one pull ##拉取镜像,时间很长

[root@server1 ~]# vim /usr/share/kolla-ansible/ansible/roles/baremetal/defaults/main.yml 
enable_docker_repo: false  ##现在提前安装好了docker不要再装一次

redhat_pkg_install:
 - "{{ docker_yum_package }}"  ##将这行删除
 - git
 - python-setuptools
 - ntp
 - sudo

块存储

[root@server1 ~]# pvcreate /dev/sdb
[root@server1 ~]# vgcreate cinder-volumes /dev/sdb
[root@server1 ~]# vim /etc/lvm/lvm.conf
filter = [ "a|vda|","a|vdb|", "r|.*|" ]
[root@server1 ~]# systemctl restart lvm2-lvmetad.service 

kolla部署依赖项

[root@server1 kolla]# kolla-ansible -i all-in-one bootstrap-servers

预部署检测

[root@server1 kolla]# kolla-ansible -i all-in-one prechecks

部署

[root@server1 kolla]# kolla-ansible -i all-in-one deploy

部署完成直接就可以通过web访问openstack
输入用户名和密码,不知道密码的在/etc/kolla/passwords.yml文件中进行查询

安装openstack客户端

[root@server1 kolla]# pip install python-openstackclient

客户端装好了后还不能进行使用,因为缺少脚本,所以到/etc/kolla目录下安装脚本

[root@server1 kolla]# kolla-ansible post-deploy

执行脚本后就可以使用openstack命令

你可能感兴趣的:(自动化部署openstack)