• 一 系统介绍

    • a 概述
    • b 拓扑图
  • 二 所涉及技术
  • 三 部署
    • a 环境说明

      • i 硬件环境
      • ii 软件环境
    • b 安装
      • i 安装epel源和Pip并升级Pip
      • ii 安装依赖
      • iii 安装docker
      • iv 配置docker
        • 配置默认的dockerservice文件
        • 新建一个docker后台守护进程配置文档增加配置
      • v 安装最新版docker-py
      • vi 安装ansible此项目中用ansible196可以用yum安装也能用pip安装
      • vii 克隆kolla仓库stable分支
      • viii 安装kolla及其依赖
      • ix 安装 tox
      • x 安装 openstack 和 neutron 的命令行客户端 方便后面部署完使用 openstack
      • xi 安装 kolla 的 python 依赖包
      • xii 生成配置 kolla-buildconf
      • xiii 拷贝配置文件到etc 目录下
      • xiv 构建容器镜像
    • c 部署
      • i 修改配置
      • ii 检查
      • iii 生成密码
      • iv 安装部署
        • 修改 em1 配置
        • 增加 br-ex 配置 新建 ifcfg-br-ex 文件
        • 配置完之后重新 deploy
  • 四 使用 Openstack
    • a 生成环境变量脚本
    • b 环境变量生效
    • c 查看环境变量中的 OS 账户信息进行 dashboard 登录
    • d 用etckollaglobalconf 的配置的 ip 访问 dashboard

一、 系统介绍

a) 概述:

Kolla为openstack的部署提供了有效、快捷、方便、易于维护、方便版本更新与回退的方案。
Kolla的最终目标是为OpenStack的每一个服务都创建一个对应的Docker Image,通过Docker Image将升级的粒度减小到Service级别,从而使升级时,对OpenStack影响能达到最小,并且一旦升级失败,也很容易回滚。升级只需要三步:Pull新版本的容器镜像,停止老版本的容器服务,然后启动新版本容器。回滚也不需要重新安装包了,直接启动老版本容器服务就行,非常方便。

b) 拓扑图:

二、 所涉及技术

  • Docker
  • Ansible
  • Python
  • docker-py
  • Jinja2

三、 部署

a) 环境说明

i. 硬件环境

  • 服务器:Dell Edge R720
  • 系统:Centos7.2.1511
  • 内存:64G
  • 硬盘:4.3T
  • CPU:Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz*2
  • 网卡:千兆以太网卡(此项目用单网卡em1)

ii. 软件环境

组件 版本号
Ansible 1.9.6
Docker 1.12.2
Docker Python 1.10.4
Python Jinja2 2.8.0
Pip 8.1.2
Kola branch stable

b) 安装

i. 安装epel源和Pip并升级Pip

# yum install -y epel-release
# yum -y update
# yum install -y python-pip
# pip install –U pip

ii. 安装依赖

# yum install -y python-devel libffi-devel gcc openssl-devel git

iii. 安装docker

# curl -sSL https://get.docker.io | bash

:这条命令安装的是最新版的docker

iv. 配置docker

在docker的守护进程启动配置中设置MountFlags,如果没有正确设置MountFlags选项,那么kolla-ansible将无法部署neutron-dhcp-agent容器并抛出APIError / HTTPError。这儿有两种方式可以设置MountFlags选项。

1. 配置默认的docker.service文件

先找到位置,下面代码中比较大的字体既默认位置

#systemctl status docker.service
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)Active: inactive (dead)

修改MountFlags选项

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

service节加上

MountFlags=shared

保存退出,重新加载配置,重启docker服务

# systemctl daemon-reload
# systemctl restart docker

2. 新建一个docker后台守护进程配置文档增加配置

# mkdir -p /etc/systemd/system/docker.service.d# tee /etc/systemd/system/docker.service.d/kolla.conf <<-'EOF'
[Service]
MountFlags=shared
EOF

加载配置,重启服务

# systemctl daemon-reload
# systemctl restart docker

v. 安装最新版docker-py

# yum install -y python-docker-py
# pip install -U docker-py

vi. 安装ansible,此项目中用ansible1.9.6可以用yum安装也能用pip安装

# yum install -y ansible1.9
# pip install ansible==1.9.6

vii. 克隆kolla仓库stable分支

# git clone https://git.openstack.org/openstack/kolla -b stable/mitaka

viii. 安装kolla及其依赖

# pip install kolla/

ix. 安装 tox

Tox 是个标准的 virtualenv (python 虚拟沙盒管理器)和命令行测试
工具,它的作用有以下几点:
- 检查你的软件包能否在不同的 Python 版本或解释器下正常安

- 在不同的环境中运行运行你的测试代码
- 作为持续集成服务器的前端,大大减少测试工作所需时间

这儿我们用 tox 工具生成 kolla-build 配置

# pip install -U tox

x. 安装 openstack 和 neutron 的命令行客户端, 方便后面部署完使用 openstack

# pip install -U python-openstackclient python-neutronclient

xi. 安装 kolla 的 python 依赖包

# cd kolla/
# pip install -r requirements.txt -r test-requirements.txt

xii. 生成配置 kolla-build.conf

# tox -egenconfig

xiii. 拷贝配置文件到/etc 目录下

# cp -rv etc/kolla /etc/

xiv. 构建容器镜像

# kolla-build --base centos --type source

: 此处需要时间比较长, 有一部分镜像可能构建不成功, 对构建
不成功的镜像可单独构建, 或从其他地方把镜像 pull 或者拷贝过来
用。

c) 部署

i. 修改配置

# grep -v ^$ /etc/kolla/globals.yml |grep -v ^#
---
kolla_install_type: "source"
kolla_internal_vip_address: "192.168.1.12"
network_interface: "em1"
neutron_external_interface: "em1

需要修改的部分即以上, ip 修改成物理机网段未使用的 ip, em1 为
网卡名。

ii. 检查

# kolla-ansible prechecks

这儿出错一般都是配置错误, 修改 ip 跟网卡即可。

iii. 生成密码

# kolla-genpwd

iv. 安装部署

# kolla-ansible deploy

Precheck 成功这儿失败的话一般都是镜像没有 build 成功, 注意查
看报错信息, 镜像没 build 成功的处理方式一般有两种,单独
build 未成功的镜像, 从已 build 成功的地方把镜像打包拷贝过
来, 或者 pull 过来。
在部署到 neutron-ovs 容器的时候会断网, 因为这儿用单网卡
模式, 需要配置 ovs:

1. 修改 em1 配置

# cat /etc/sysconfig/network-scripts/ifcfg-em1
TYPE=OVSPort
DEVICE=em1
ONBOOT=yes
DEVICETYPE=ovs
OVS_BRIDGE=br-ex

2. 增加 br-ex 配置, 新建 ifcfg-br-ex 文件

# vim /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
DNS1=114.114.114.114

3. 配置完之后重新 deploy

# kolla-ansible deploy

四、 使用 Openstack

a) 生成环境变量脚本

成功部署 OpenStack 后,运行以下命令可以在 deploy 节点上创
建一个 openrc 文件/etc/kolla/admin-openrc.sh

# kolla-ansible post-deploy

b) 环境变量生效

# source /etc/kolla/admin-openrc.sh

c) 查看环境变量中的 OS 账户信息进行 dashboard 登录

# export OS_USERNAME=admin
# export OS_PASSWORD=RdNBNY0E15YsMhmxfUX0pqhkm8EvqLY5sdNSdZzv

d) 用/etc/kolla/global.conf 的配置的 ip 访问 dashboard


部署成功!

Kolla单节点部署手册(centos7)相关推荐

  1. 小试牛刀之Kolla单节点部署

    写在前面的话,笔者目的是为了尝试用Kolla来方便快捷的部署OpenStack,为以后多节点部署打下基础. Kola简介: kolla项目起源于TripleO项目,聚焦于使用Docker容器部署Ope ...

  2. openstack 系列: 基于CentOS7系统使用packstack工具单节点部署openstacktrain---Part-I安装简易命令

    1说明 本人非linux专业人士,更不是云计算专家 部署过程是从各大博客自己百度知道 各种搜索排查,硬是搭起了train环境 过程纠结,先是在win 10 vmware 上安装centos7 再基于c ...

  3. Ubuntu下用devstack单节点部署Openstack

    一.实验环境 本实验是在Vmware Workstation下创建的单台Ubuntu服务器版系统中,利用devstack部署的Openstack Pike版. 宿主机:win10 1803  8G内存 ...

  4. k8s二进制单节点部署

    k8s二进制单节点部署 常见的k8s部署方式 Kubernetes二进制部署(单节点) 环境准备 部署etcd集群(这里就不在单独的服务器上部署,直接部署在各节点上,节省资源) 下载证书制作工具 利用 ...

  5. 啃K8s之快速入门,以及哭吧S(k8s)单节点部署

    啃K8s之快速入门,以及哭吧S(k8s)单节点部署 一:Kubernets概述 1.1:Kubernets是什么? 1.2:Kubernets特性 1.3:Kubernets群集架构与组件 1.3.1 ...

  6. Elasticsearch在Linux中的单节点部署和集群部署

    目录 一.Elasticsearch简介 二.Linux单节点部署 1.软件下载解压 2.创建用户 3.修改配置文件 4.切换到刚刚创建的用户启动软件 5.测试 三.Linux集群配置 1.拷贝文件 ...

  7. skywalking单节点部署

    skywalking单节点部署 skywalking服务部署 下载skywalking服务文件 下载地址:http://skywalking.apache.org/downloads/ 我使用的是Bi ...

  8. Graylog 日志服务器单节点部署

    资料 https://docs.graylog.org/docs/ 简介 Graylog项目由Lennart Koopmann在2009年左右启动.当时,最着名的日志管理软件vendor发布了他们产品 ...

  9. ElasticSearch学习(四)——Linux 单节点部署

    文章名称 地址 ElasticSearch学习(一)--概述 前往 ElasticSearch学习(二)--索引.文档简单操作 前往 ElasticSearch学习(三)--Windows 集群部署 ...

最新文章

  1. 《代码大全2》读后感czz
  2. 亚马逊手机端测评软件/PC端测评软件各有什么优缺点?
  3. 推动Windows的限制:进程和线程
  4. 华为机试HJ30:字符串合并处理
  5. 如何制作一款HTML5 RPG游戏引擎——第二篇,烟雨+飞雪效果
  6. Springboot搭建SSM+JSP的web项目
  7. python实现mat格式数据解析处理,并转化为json格式数据
  8. exe模拟器android版,安卓exe模拟器
  9. ros pppoe服务器性能,ROS软路由中最详细的PPPOE服务器设置教程
  10. 行测--资料分析--fb--高照老师
  11. 肿瘤异质性:精准医学需要解决的难题
  12. pyhton BOF图像检索
  13. 物联网(IoT)行业的决策管理应用
  14. 计算机学院姚茜,2019年东南大学计算机科学与工程学院硕士研究生拟录取名单公示...
  15. 95后程序员月薪2万带着电脑送外卖 不想35岁就被社会淘汰 你呢
  16. logback入库配置
  17. 大模型时代,视觉推理任务竟然只用语言数据也能学习
  18. Linux人机界面用什么软件,浙江Linux人机界面品牌,人机界面界面设计品牌
  19. 神技—终端显示Linux系统信息
  20. 手把手教你搭建实时大数据引擎FLINK

热门文章

  1. Spring Cloud之服务注册与发现机制
  2. vue项目构建和部署_零部署:使用Vue和VuePress构建文档系统
  3. 对于一个毫无经验的人,我们面对一个人事hr的面试,应如何回答?
  4. incsgo 能直接取回皮肤的CSGO饰品皮肤网页开箱网站
  5. 如何将设计理论与实践相结合
  6. 直流信号线性放大器非隔离转换模块0-10V转0-12V大功率负载180mA导轨安装
  7. Bytom 储蓄分红 DAPP 开发指南
  8. javaweb面试题(全)
  9. 关于PDO的ATTR_EMULATE_PREPARES
  10. luxi如何修改服务器密码,手机绑定QQ怎么修改密码?