OpenStack

使用kolla-ansible部署OpenStack。

由于环境有限就使用VMware虚拟机进行操作,部署一个单实例的。

关于OpenStack的概念,历史再次就不在赘述了,直接开搞吧。

Linux系统初始配置。

1、关闭selinux和防火墙。

[root@CFCA ~]# systemctl stop firewalld.service   关闭防火墙
[root@CFCA ~]# systemctl disable firewalld         开机关闭
2、安装epel源

[root@CFCA ~]# yum install epel-release -y
3、配置hosts

[root@CFCA ~]# cat /etc/hostname
CFCA
[root@CFCA ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.209.6 CFCA
4、同步时间

[root@CFCA ~]# yum install ntp -y
[root@CFCA ~]# systemctl start ntp
[root@CFCA ~]# systemctl enable ntpd.service
5、配置pip镜像源,方便下载Python库
[root@CFCA ~]# mkdir ~/.pip/
[root@CFCA ~]# vim ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
6、配置网卡信息
添加网卡。

ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.209.6  netmask 255.255.255.0  broadcast 192.168.209.255
        inet6 fe80::97dd:b327:4a4e:afdb  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:7d:60:e3  txqueuelen 1000  (Ethernet)
        RX packets 952964  bytes 1426235645 (1.3 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 598664  bytes 45943842 (43.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens35: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:7d:60:ed  txqueuelen 1000  (Ethernet)
        RX packets 5310  bytes 1766547 (1.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@CFCA network-scripts]# cp ifcfg-ens32 ifcfg-35
[root@CFCA network-scripts]# vim ifcfg-ens35
TYPE=Ethernet
BOOTPROTO=none
NAME=ens35
DEVICE=ens35
ONBOOT=yes

安装基础包和docker服务

1、安装基础包

[root@CFCA ~]# yum install python-devel libffi-devel gcc openssl-devel git python-pip -y
[root@CFCA ~]# pip install -U pip    #升级一下pip
[root@CFCA ~]# yum install -y yum-utils device-mapper-persistent-data lvm2    #安装一下必要的系统工具
2、添加docker yum源并安装docker

[root@CFCA ~]#  systemctl stop libvirtd.service && systemctl disable libvirtd.service && systemctl status libvirtd.service

[root@CFCA ~]# yum remove  docker docker-io docker-selinux python-docker-py    如果已经安装了docker的话先卸载了,以免不兼容

添加docker-ce yum源并安装docker-ce

[root@CFCA ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@CFCA ~]# yun install docker-ce   安装docker-ce社区版本
[root@CFCA ~]# systemctl start  docker  &&  systemctl enable docker && systemctl status docker   启动docker
3、设置docker volume卷挂载方式

[root@CFCA ~]# mkdir /etc/systemd/system/docker.service.d

[root@CFCA ~]tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'

[Service]

MountFlags=shared

EOF

 [root@CFCA ~]# cat /etc/systemd/system/docker.service.d/kolla.conf
[Service]
MountFlags=shared

注:加上MountFlags=shared后,当docker宿主机新增分区时,docker服务不用重启。如果不加docker服务服务重启,docker中的实例才可以使用新加的磁盘或分区。 添加这个参考后,后期在openstack中使用cinder存储服务时,新加磁盘比较方便。

4,指定docker镜像加速器

 [root@CFCA ~]#vim /etc/docker/daemon.json

{

  "registry-mirrors": ["https://e9yneuy4.mirror.aliyuncs.com"]  

}

注:如果需要使用自己的本地私有仓库,写成如下:

{

  "registry-mirrors": ["https://e9yneuy4.mirror.aliyuncs.com"]  

  "insecure-registries": ["192.168.1.63:4000"]

}

[root@CFCA ~]#systemctl daemon-reload #修改了启动脚本,需要执行

[root@CFCA ~]#  systemctl enable docker && systemctl restart docker && systemctl status docker

安装kolla-ansible

1、安装ansible

[root@CFCA ~]# yum install ansible -y
2、安装kolla-ansible

下载kolla-ansible的代码

[root@CFCA ~]#git clone http://git.trystack.cn/openstack/kolla-ansible -b stable/pike         #下载pike版本的openstack

[root@CFCA ~]# ll -d kolla-ansible
drwxr-xr-x. 13 root root 4096 10月 30 19:58 kolla-ansible

3、安装kolla-ansible需要的依赖包
[root@CFCA ~]# cd kolla-ansible/
[root@CFCA kolla-ansible]# pip install .   
4、复制kolla-ansible相关的配置文件

[root@CFCA kolla-ansible]# cp -r etc/kolla/* /etc/kolla/
[root@CFCA kolla-ansible]# cp ansible/inventory/* /etc/kolla/
[root@CFCA kolla-ansible]# cd /etc/kolla/
[root@CFCA kolla]# ll
总用量 36
-rw-r--r--. 1 root root  6995 10月 30 20:08 all-in-one   安装单节点OpenStack的ansible自动安装配置文件
-rw-r--r--. 1 root root 12799 10月 30 20:05 globals.yml  OpenStack部署的自定义配置文件
-rw-r--r--. 1 root root  7426 10月 30 20:08 multinode    安装多节点OpenStack的ansible自动安装配置文件
-rw-r--r--. 1 root root  4034 10月 30 20:05 passwords.yml  OpenStack中各个服务的密码
5、修改虚拟机类型为qemu

如果是在虚拟机里装kolla,希望可以启动再启动虚拟机,那么你需要把virt_type=qemu,默认是kvm。如果vmware开了“虚拟化Intel VT”功能,就不用写这个了。

[root@CFCA kolla-ansible]# mkdir /etc/kolla/config/nova
[root@CFCA ~]# cd /etc/kolla/config/nova/
[root@CFCA nova]# vim nova-compute.conf
[libvirt]
virt_type=qemu
cpu_mode = none

自定义kolla-ansible安装OpenStack的相关配置文件

1、自动生成OpenStack各服务的密码文件
[root@CFCA kolla]# which kolla-genpwd
/usr/bin/kolla-genpwd
[root@CFCA kolla]# rpm -qf /usr/bin/kolla-genpwd
文件 /usr/bin/kolla-genpwd 不属于任何软件包
[root@CFCA kolla]# kolla-genpwd   产生随机密码
[root@CFCA kolla]# vim passwords.yml   
158 keystone_admin_password: 123456   这是登录Dashboard,admin使用的密码

2、编辑/etc/kolla/globals.yml 自定义OpenStack中部署事项
15 kolla_base_distro: "centos"
18 kolla_install_type: "binary"
21 openstack_release: "pike"
31 kolla_internal_vip_address: "192.168.199.3"
73 network_interface: "ens32"
88 neutron_external_interface: "ens35"
151 enable_haproxy: "no"

开始基于kolla-ansible安装OpenStack私有云

1、生成SSH Key并授信本节点
[root@CFCA kolla]# ssh-keygen
[root@CFCA kolla]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@CFCA
2、配置单节点清单文件
[root@CFCA kolla]# vim /etc/kolla/all-in-one
[control]
CFCA
[network]
CFCA
[compute]
CFCA
[storage]
CFCA
[monitoring]
CFCA
[deployment]
CFCA

开始部署OpenStack

1、对主机进行预部署检查:
[root@CFCA kolla]# kolla-ansible -i /etc/kolla/all-in-one prechecks

2、拉取镜像
[root@CFCA kolla]# kolla-ansible -i /etc/kolla/all-in-one  pull

查看一下下载的镜像

[root@CFCA ~]# docker images|grep pike
kolla/centos-binary-keystone                    pike                bf1af4f8f9c0        2 months ago        796MB
kolla/centos-binary-nova-compute                pike                b2d936eac2f0        2 months ago        1.35GB
kolla/centos-binary-nova-placement-api          pike                d6c34e9fc6de        2 months ago        862MB
kolla/centos-binary-nova-api                    pike                ac0f60011832        2 months ago        862MB
kolla/centos-binary-nova-ssh                    pike                b525884e7686        2 months ago        830MB
kolla/centos-binary-nova-consoleauth            pike                9b6d1ae9a337        2 months ago        810MB
kolla/centos-binary-nova-scheduler              pike                6b16f02d9bd2        2 months ago        810MB
kolla/centos-binary-nova-novncproxy             pike                1f5f19ef1b38        2 months ago        811MB
kolla/centos-binary-nova-conductor              pike                82bc6e66c49d        2 months ago        810MB

3、实际的OpenStack部署:
[root@CFCA kolla]# kolla-ansible -i /etc/kolla/all-in-one deploy
#因为前面已经下载的镜像,所以这时,安装会快一些。如果前面没有下载镜像,
那么这时,还会边下载各种openstack相关的镜像边部署docker实例。
最后返回如下信息,执行完成,至此安装完成
PLAY RECAP **************************************************************************************************************************
CFCA                       : ok=212  changed=135  unreachable=0    failed=0  

4、验证部署:
[root@CFCA kolla]# kolla-ansible -i /etc/kolla/all-in-one post-deploy
PLAY RECAP **************************************************************************************************************************
localhost                  : ok=2    changed=1    unreachable=0    failed=0
这样就创建了/etc/kolla/admin-openrc.sh   包含了OpenStack登录的账号。
[root@CFCA kolla]# ll /etc/kolla/admin-openrc.sh
-rw-r--r--. 1 root root 324 10月 31 11:03 /etc/kolla/admin-openrc.sh
[root@CFCA kolla]# more /etc/kolla/admin-openrc.sh
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=123456    账号和密码
export OS_AUTH_URL=http://192.168.209.6:35357/v3
export OS_INTERFACE=internal
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=RegionOne

5、测试,192.168.209.6 访问成功。

原文地址:https://www.cnblogs.com/winter1519/p/9882101.html