OpenStack all-in-one环境搭建

Kolla简介

       Kolla项目起源于TripleO项目,聚焦于使用Docker容器部署OpenStack服务。该项目由Cisco于2014年9月提出,是OpenStack 社区Big Tent开发模式下的孵化项目。Kolla项目是一个支持Openstack服务以容器的方式部署,借助ansible部署工具可以简单的扩展到多个节点。同时,又借助于使用 heat 来编排 Kolla 集群。

       安装kolla,必须自己build镜像,由于网络的原因,经常会导致在build 镜像的时候失败。因此可以直接采用kolla官方提供的镜像文件,这样就不需要自己build镜像的环节,也就是搭建本地的docker registry。本次部署,我是直接采用公司的镜像仓库。

一、安装基础包

yum update

yum install epel-release                                       #启用EPEL的repo

yum install python-devel libffi-devel gcc openssl-devel git python-pip  #安装所需的依赖包

pip install --upgrade pip                                      #这里踩过坑,先升级一下

二、安装docker

    1. 设置repo,配置docker

目前最新版本的Docker是1.13.1,Kolla目前支持的Docker是1.12.x,所以我们要指定Docker的版本来安装,并且一定要采用Docker官方的源。为yum添加一个repo文件,在centos7下面可以直接运行下面的代码。这个repo的目的就是为了让我们的yum可以根据repo文件里提供的连接去检索docker最新的安装包。

tee /etc/yum.repos.d/docker.repo << 'EOF'

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

EOF

  2. 安装Docker

yum install docker-engine-1.12.5 docker-engine-selinux-1.12.5

  3. 设置docker

mkdir /etc/systemd/system/docker.service.d

tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'

[Service]

MountFlags=shared

EOF

  4. 重启docker服务

systemctl daemon-reload

systemctl enable docker

systemctl restart docker

  5. 设置docker采用私有仓库

vim /usr/lib/systemd/system/docker.service

#ExecStart=/usr/bin/dockerd

ExecStart=/usr/bin/dockerd --insecure-registry XXXXXXX:XXXX             #镜像仓库地址:端口号

  6. 重启docker服务

systemctl daemon-reload

systemctl restart docker

三、安装Ansible

yum install ansible

四、kolla-ansible

  1. 下载kolla-ansible

cd /home

git clone http://git.trystack.cn/openstack/kolla-ansible -b stable/ocata

   2. 安装kolla-ansible

cd kolla-ansible

pip install .

   3. 复制相关文件

cp -r etc/kolla /etc/kolla/

cp ansible/inventory/* /home/

  4. 如果在虚拟机里装kolla,需要把virt_type=qemu,默认是kvm

mkdir -p /etc/kolla/config/nova

cat << EOF > /etc/kolla/config/nova/nova-compute.conf

[libvirt]

virt_type=qemu

cpu_mode = none

EOF

  5. 生成密码文件,这是登录Dashboard,admin使用的密码,可以根据自己需要进行修改

kolla-genpwd

vim /etc/kolla/passwords.yml

  6. 编辑文件

vim /etc/kolla/globals.yml 

kolla_install_type: "source"

openstack_release: "4.0.3"                

docker_registry: "XXXXXX"                #镜像仓库地址+端口号

docker_namespace: "lokolla"

  7. 安装OpenStack

kolla-ansible deploy -i /home/all-in-one

五、验证部署

  1. 完成部署

kolla-ansible post-deploy

  2. 安装OpenStack client

pip install python-openstackclient

  3. 编辑文件/usr/share/kolla-ansible/init-runonce,网络需要根据实际情况修改,10.0.2.0的网络是通过路由器访问互联网,配置好这个,装完虚拟机就可以直接ping通。

vim /usr/share/kolla-ansible/init-runonce

EXT_NET_CIDR='10.0.2.0/24'

EXT_NET_RANGE='start=10.0.2.150,end=10.0.2.199'

EXT_NET_GATEWAY='10.0.2.1'

  4. 使用 init-runonce脚本创建基础环境

source /etc/kolla/admin-openrc.sh

cd /usr/share/kolla-ansible

./init-runonce

  5. 根据最后的命令提示,可直接创建虚拟机

openstack server create \

--image cirros \

--flavor m1.tiny \

--key-name mykey \

--nic net-id=2ba93782-71e2-44d6-ad64-796c5853dcce \

demo1

 

posted @ 2019-03-01 13:57  Viviane未完  阅读(1772)  评论(1编辑  收藏  举报