实战-openstack-2-安装

实战-openstack-2-安装 

一、openstack  安装方法

二、部署安装

 

一、openstack 安装方式有几种

1.DevStack(开发人员跑脚本)
在相当长一段时间内,DevStack仍将是众多开发者的首选安装工具。该方式主要是通过配置一个安装脚本,执行Shell命令来安装OpenStack的开发环境,支持CentOS、Debian等系列系统。
2.RDO
RDO是由Red Hat红帽开源的一个自动化部署OpenStack的工具,支持单节点(all-in-one)和多节点(multi-node)部署。但RDO只支持CentOS系列操作系统。需要注意的是,该项目并不属于OpenStack官方社区项目。https://www.rdoproject.org
3.手动部署
按照社区官方提供的文档,可以使用手动方式部署单节点、多节点、HA节点环境。

4.高级定制 Puppet、Chef 
Puppet由Ruby语言编写。Puppet是进入OpenStack自动化部署中早期的一个项目。目前,它的活跃开发群体是Red Hat、Mirantis、UnitedStack等。Mirantis出品的Fuel部署工具,其大量的模块代码使用的便是Puppet。
5.Ansible
Ansible是一个自动化部署配置管理工具,已被Red Hat收购。它基于Python开发,集合了众多运维工具(Puppet、Chef、SaltStack等)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible一方面总结了Puppet设计上的得失,另一方面也改进了很多设计。比如基于SSH方式工作,故而不需要在被控端安装客户端。
6.SaltStack
SaltStack也是一个开源的自动化部署工具,基于Python开发,实现了批量系统配置、批量程序部署、批量运行命令等功能,和Ansible很相似。不同之处是,由于SaltStack的Master和Minion认证机制及工作方式,因此需要在被控端安装Minion客户端。
7.TripleO
TripleO项目最早由HP于2013年4月在Launchpad上注册BP,用于完成OpenStack的安装与部署。TripleO全称为“OpenStack On OpenStack”,意思为“云上云”,可以简单理解为利用OpenStack来部署OpenStack,即首先基于V2P(和P2V相反,指把虚拟机的镜像迁移到物理机上)的理念事先准备好一些OpenStack节点(计算、存储、控制节点)的镜像,然后利用已有OpenStack环境的Ironic裸机服务和软件安装部分的diskimage-builder部署裸机,最后通过Heat项目和镜像内的自动化部署工具(Puppet或Chef)在裸机上配置运行OpenStack。和其他部署工具不同的是,TripleO是利用OpenStack已有的基础设施来部署OpenStack的。
8.Fuel
Fuel是针对OpenStack的一个可以通过“界面部署”的工具,它大量采用了Python、Ruby和JavaScript等语言。其功能涵盖了通过自动化PXE方式安装操作系统、DHCP服务、Orchestration编排服务和Puppet安装相关服务等,此外还有OpenStack关键业务健康检查和log实时查看等非常好用的功能。https://www.mirantis.com 
9.Kolla
Kolla是具有广阔应用前景和市场的一个自动化部署工具。相比于其他部署工具,Kolla完全革新地使用了Docker容器技术,将每一个OpenStack服务运行在不同的Docker容器中。

 

 

二、实站部署安装openstack

选择如下方式安装openstack

kolla 基于docker+ansible 安装 openstack ,把 openstack 每个组件做成 docker 实例

安装前准备:安装前需要准备一台6G内存以上的电脑,硬盘空间在80G以上。

本实战以在此平台上完成:

 

 

 

 

 

 

 

如要按照以上方式,在虚拟机上搞出来openstack,可以制作快照,克隆。备份。出问题恢复也比较快。

KVM安装请参照:

实战linux虚拟化技术KVM-2 创建-安装-克隆

在虚拟机上安装一台centos7

(1)、准备配置环境

1、暂时先关闭selinux

[root@cga9 ~]# vim /etc/selinux/config

 

 

 2、关闭 Firewalld

[root@cga9 ~]# systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld

 

3、安装 Epel 源

[root@cga9 ~]# yum install  epel-release -y

4、配置 Hostname
[root@cga9 ~]# hostnamectl set-hostname cga9.cn

5、配置/etc/hosts

[root@cga9 ~]# vim /etc/hosts

 

 

 

6、同步时间

[root@cga9 ~]# yum install ntp -y && systemctl enable ntpd.service && systemctl start ntpd.service

(2)、修改相关网卡

IP 地址  网络类型  网卡   网络中的作用
10.27.17.X bridge eth0 openstack 内部管理网络 (managment nework) 以后 Horizon web 界面访问,就是通 过这个 IP 地址
不需要配置 bridge eth1 外部网络 (external network) ,让 neutron 的 br-ex 绑定使用,openstack 中的 虚拟机是通过这块网卡和外网通信的

[root@cga9 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

 

 

 [root@cga9 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1


TYPE=Ethernet
BOOTPROTO=none
NAME=eth1
UUID=8c4fd8f7-7ebf-4554-8f2d-fe7e11585db6
DEVICE=eth1
ONBOOT=yes

 [root@cga9 ~]systemctl restart  network

 

(3) 安装基础包和 docker 服务

[root@cga9 ~]# yum install python-devel libffi-devel gcc openssl-devel git  python-pip -y

配置 pip 镜像源,斱便快速下载 python 库

[root@cga9 ~]# mkdir ~/.pip

[root@cga9 ~]#vim  /root/.pip/pip.conf  

[global]

index-url = http://mirrors.aliyun.com/pypi/simple/

[install] trusted-host=mirrors.aliyun.com

[root@cga9 ~]# pip install -U pip

 

(4)、安装 kolla-ansible

1、[root@cga9 ~]# yum install ansible -y

2、安装 kolla-ansible

[root@cga9 ~]# pip install kolla-ansible

如果报错:已经安装 PyYAML 3.10,但是我们需要 PyYAML

[root@cga9 ~]# pip install PyYAML --ignore-installed PyYAML

[root@cga9 ~]# pip install kolla-ansible #安装 kolla-ansible

 3、复制相关配制文件

[root@cga9 ~]# cp -r /usr/share/kolla-ansible/etc_examples/kolla/ /etc/
[root@cga9 ~]# ll /etc/kolla
total 32
-rw-r--r--. 1 root root 20735 Nov 28 10:24 globals.yml
-rw-r--r--. 1 root root 5168 Nov 28 10:24 passwords.yml

4、复制 kolla-ansible 的相关配置文件

[root@cga9 inventory]# cp ./* /etc/kolla/
[root@cga9 inventory]# ll
total 24
-rw-r--r--. 1 root root 9017 Nov 27 17:13 all-in-one
-rw-r--r--. 1 root root 9491 Nov 27 17:13 multinode
[root@cga9 inventory]# cd
[root@cga9 ~]# ls /etc/kolla
all-in-one globals.yml multinode passwords.yml

5、 修改虚拟机类型为 qemu

[root@cga9 ~]# cat <<EOF >/etc/kolla/config/nova/nova-compute.conf
> [libvirt]
> virt_type=qemu
> cpu_mode=none
> EOF

(5)、 自定义 kolla-ansible 安装 openstack 的相关配置文件

1、自劢生成 openstack 各服务的密码文件 

[root@cga9 kolla-ansible]# kolla-genpwd

[root@cga9~]# vim /etc/kolla/passwords.yml

165 keystone_admin_password: 123456

 

2、编辑 /etc/kolla/globals.yml 自定义 openstack 中部署事项

[root@cga9~]# vim /etc/kolla/globals.yml  

15     kolla_base_distro: "centos"

18      kolla_install_type: "binary"

21     openstack_release: "rocky"

24     node_custom_config: "/etc/kolla/config

31        kolla_internal_vip_address: "10.27.17.X"

85        network_interface: "eth0"

100      eutron_external_interface: "eth1"

 

          enable_cinder: "no"

          enable_haproxy: "no"

 

(6)基亍 kolla-ansible 安装 openstack 私有于

1、生成ssh-key

[root@cga9~]# ssh-keygen

[root@cga9~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@xuegod63

2、配置单节点清单文件(目前只有一个节点)

[root@cga9~]# vim /etc/kolla/all-in-one

:1,$s/localhost/cga9/

:1,$s/ansible_connection=local//

 

 

 

(7) 开始部署 OpenStack

 1、通过安装 bootstrap-servers 把部署 openstack 所需要的依赖包都安装好 Kolla-Ansible 提供了一个将以正确版本安装所有必需服务的剧本 bootstrap-servers。所以我们先 安装 bootstrap-servers 把安装 openstack 所依赖的软件包都先提前安装好。包括 docker 服务。

[root@cga9~]# kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers

2、对主机迚行预部署检查:

[root@cga9~]# kolla-ansible -i /etc/kolla/all-in-one prechecks

3、设置 docker volume 卷挂载斱式

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

[Service]

MountFlags=shared

EOF

4、挃定 docker 镜像加速器 

[root@cga9~]# tee /etc/docker/daemon.json << 'EOF'

{

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

}

EOF

 

重启相关服务

[root@cga9~]# systemctl daemon-reload #只有修改了服务的启劢脚本,才需要执行

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

5、拉取镜像

[root@cga9~]# kolla-ansible -i /etc/kolla/all-in-one pull

[root@cga9~]# docker images

6、最后迚入实际的 OpenStack 部署:

[root@cga9~]# kolla-ansible -i /etc/kolla/all-in-one deploy

如果报错多执行几次

7、验证部署 [root@xuegod63 ~]# kolla-ansible -i /etc/kolla/all-in-one post-deploy

 

 完成安装!

注:如果下载时有点慢,不要急只有等,一定要有耐心,祝你成功!

posted @ 2019-11-27 15:09  科子  阅读(292)  评论(0编辑  收藏  举报