官网地址https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html

参考:https://www.jianshu.com/p/e0e470f9fd4d

虚拟机多节点:https://www.cnblogs.com/linkenpark/p/9542071.html

其他多节点:https://blog.csdn.net/wzlsunice88/article/details/79241489

1、准备环境:

  • 物理机或者虚拟机三台(本文使用公有云的CentOS7系统)
  • control节点 2个网络接口:
    •   eth0:192.168.31.3  eth1:192.168.31.4      外网:10.10.1.1
  • compute节点:
    •   eth0:192.168.31.2
    • 也是cinder节点:添加一块硬盘配置lvm存储
  • 8GB主内存、40GB磁盘空间(视情况而定)

2、准备部署:

  2.1 服务器配置IP

    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    systemctl restart network # 重启网络

  2.2 安装依赖关系

    yum install -y epel-release
    yum install -y python-pip
    pip install -U pip     yum install python-devel libffi-devel gcc openssl-devel libselinux-python
    yum install docker -y
    如果docker有冲突,需要卸载rpm -qa |grep docker ,然后yum remove -y *,最后重装1.12(最新1.13)yum install docker-engine-1.12.6*,启动服务systemctl start docker
    查看cpu是否支持虚拟化
    egrep -c '(vmx|svm)' /proc/cpuinfo

  2.3 安装ansible

    yum install ansible

  2.4 安装kolla-ansible,用来部署

    pip install kolla-ansible

  2.5 centos7下将globals.yml和passwords.yml复制到/etc/kolla目录 

    For CentOS, run:

      cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/

    For Ubuntu, run:

      cp -r /usr/local/share/kolla-ansible/etc_examples/kolla /etc/

  2.6 将all-in-one和multinode库存文件复制到当前目录。  

    For CentOS, run:

      cp /usr/share/kolla-ansible/ansible/inventory/* .

    For Ubuntu, run:

      cp /usr/local/share/kolla-ansible/ansible/inventory/* .

3 准备在主机上部署OpenStack(如果是多节点需要配置multinode文件)

    3.0 多节点需要配置multinode文件,单节点不需要:

    3.0.1配置如下:

 [control]
localhost ansible_connection=local
[network:children]
control [compute]
compute主机名
[monitoring]
14 localhost ansible_connection=local
18 [storage:children]
compute
[deployment]
localhost ansible_connection=local

    3.0.2 检查库存配置是否正确

      ansible -i multinode all -m ping

  

  3.1 部署中使用的密码存储在/etc/kolla/passwords.yml文件中。

    通过运行下面命令生成随机密码:

      kolla-genpwd

    初始化之后,可手动更改keystone_admin_password密码(OpenStack登录密码)

      vim /etc/kolla/passwords.yml
      keystone_admin_password:admin

  3.2 编辑globals.yml配置文件

  
  单节点模式:
  kolla_base_distro: "centos"
  # binary使用像apt或yum这样的软件仓库,source使用原始源代码归档,git存储库或本地源代码目录
  kolla_install_type: "source"
  openstack_release: "rocky" # 使用的版本,master版本我尝试过启动不行   network_interface: "eth0" # OpenStack使用的网络接口   # 第二个接口专用于Neutron外部(或公共)网络,可以是vlan或flat,取决于网络的创建方式。
  # 这个接口应该是活动的,没有IP地址。否则,实例将无法访问外部网络
  neutron_external_interface: "eth1"
  kolla_internal_vip_address: "192.168.31.3" # et0 ip

   多节点模式配置: 

  kolla_base_distro: "centos"
  # binary使用像apt或yum这样的软件仓库,source使用原始源代码归档,git存储库或本地源代码目录
  kolla_install_type: "source"
  openstack_release: "rocky" # 使用的版本
,master版本我尝试过启动不行
  network_interface: "eth0" # OpenStack使用的网络接口   # 第二个接口专用于Neutron外部(或公共)网络,可以是vlan或flat,取决于网络的创建方式。   # 这个接口应该是活动的,没有IP地址。否则,实例将无法访问外部网络   neutron_external_interface: "eth1"   kolla_internal_vip_address: "192.168.31.3" # control节点et0 ip

4、开始部署

单节点启动:
   4.1.1、带有kolla的引导服务器部署依赖关系

    kolla-ansible -i ./all-in-one bootstrap-servers
  4.1.2、对主机执行预部署检查
    kolla-ansible -i ./all-in-one prechecks
   4.1.3、执行OpenStack部署
    kolla-ansible -i ./all-in-one deploy 多节点启动:
   4.2.1、带有kolla的引导服务器部署依赖关系     
    kolla-ansible -i ./multinode bootstrap-servers   
   4.2.2、对主机执行预部署检查
    
    kolla-ansible -i ./multinode prechecks   
   4.2.3、执行OpenStack部署     
    kolla-ansible -i ./multinode deploy

5、使用OpenStack

  5.1 OpenStack需要一个openrc文件,其中设置了admin用户的凭证。

  要生成这个文件运行以下命令:

  kolla-ansible post-deploy
  . /etc/kolla/admin-openrc.sh

  5.2 安装基本的OpenStack CLI客户端:

  pip install python-openstackclient python-glanceclient python-neutronclient

  5.3 运行脚本创建示例网络,图像等

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

  打开浏览器输入机器公有云外网ip 18.68.x.x,用户admin ,密码admin 可登录openstack_dashboard,如图所示:  

    

重装记得,删除干净,不然报错

  docker stop  $(docker ps -qa)
  docker rm -f   $(docker ps -qa)
  docker volume rm $(docker volume ls -q)
 
一些坑,,定期更新:
  在公有云上创建的openstack,无法创建instance,提示
 
 

kolla-ansible 一键安装openstack的更多相关文章

  1. Linux(CentOS、Ububtu)一键安装Openstack及其它参考文档汇总

    原文链接  http://www.aboutyun.com/thread-10920-1-1.html openstack相关资料 CentOS下一键安装Openstack  http://blog. ...

  2. CentOS下一键安装Openstack

    CentOS下一键安装Openstack 系统环境:Oracle VirtualBox 4.38CentOS-6.5-x86_64-bin-DVD1.iso 安装前需要修改 /etc/hosts文件, ...

  3. ansible一键安装GreatSQL并构建MGR集群

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 利用ansible一键安装GreatSQL并完成MGR部署. 本次介绍如何利用ansible一键安装GreatSQL并完成 ...

  4. ansible一键安装mysql8.0

    ansbile安装: # ansible在CentOS7中需要安装epel仓库 yum install -y epel-release yum install -y ansible 安装有好几种方法, ...

  5. 一键安装openstack juno 之controller node.

    原文名称: OpenStack Juno Scripted Installation on CentOS 7 Step I:  本机信息配置 CONTROLLER_IP=192.168.173.133 ...

  6. kolla 多节点部署 openstack

    kolla 介绍 简介 kolla 的使命是为 openstack 云平台提供生产级别的.开箱即用的交付能力.kolla 的基本思想是一切皆容器,将所有服务基于 Docker 运行,并且保证一个容器只 ...

  7. kolla单节点部署openstack

    virtualbox环境: 双网卡:enp0s3(桥接)   192.168.102.194 enp0s8(桥接)   无ip 块存储  50G 关闭防火墙,selinux. 配置yum源:wget  ...

  8. 使用openshit在ubuntu14.04下一键部署openstack(juno版本)

    一.基本介绍 本实验是在vmware workstation上虚拟机ubuntu14.04(64bit,desktop)上部署openstack(Juno版本).采用的工具是openshit.open ...

  9. 10分钟安装OpenStack

    1 OpenStack初学者的苦恼 2 OpenStack最低配置要求 3 配置UOS环境 3.1 设置网络 3.1.1 创建路由器 3.1.2 创建网络 3.1.3 创建两个子网 3.2 创建UOS ...

随机推荐

  1. 【20K必备知识点】北上广Java开发月薪20K往上,该如何做,需要会写什么

    有人回答说这只能是大企业或者互联网企业工程师才能拿到.也许是的,小公司或者非互联网企业拿两万的不太可能是码农了,应该已经转管理.还有区域问题,这个不在我的考虑范围内,因为除了北上广深杭,其他地方也很难 ...

  2. p3168 [CQOI2015]任务查询系统(差分+主席树)

    恕我才学浅薄,一开始想到的是树状数组+线段树,然后看了题解才第一次见到了差分这种神奇的科技 仔细想想,主席树的本质不就是前缀和嘛,加上一个差分也是可以的,没想到真是罪过罪过 对时间维护一个差分 在Si ...

  3. 题解——loj6281 数列分块入门5 (分块)

    分块 若块内最大值为0或1,则不用再开方 然后暴力修改 可以证明,如果开方后向下取整,则最多开方4次一个数就会变成0或1 #include <cstdio> #include <cm ...

  4. Tag Helpers in forms in ASP.NET Core

    Tag Helpers in ASP.NET Core Tag Helpers in forms in ASP.NET Core HTML Form element ASP.NET Core buil ...

  5. Mysql视图、触发器、事务、储存过程、函数

    一.视图 什么是视图 视图是有一张表或多张表的查询结果构成的一张虚拟表 为什么使用视图 当我们在使用多表查询时 我们的sql语句可能会非常的复杂,如果每次都编写一遍sql'的话无疑是一件麻烦的事情,这 ...

  6. hihoCoder 1145 幻想乡的日常(树状数组 + 离线处理)

    http://hihocoder.com/problemset/problem/1145?sid=1244164 题意: 幻想乡一共有n处居所,编号从1到n.这些居所被n-1条边连起来,形成了一个树形 ...

  7. HTTPS 如何保证数据传输的安全性

    为什么需要 HTTPS? 我们知道 HTTP 是一个纯文本传输协议,对传输过程中的数据包不进行加密,是明文传输,那这样的话对于介于在发送端和接收端之间的任何 一个节点都能知道传输的内容,这些节点可能是 ...

  8. PHP 内置函数fgets读取文件

    php fgets()函数从文件指针中读取一行 语法: fgets(file,length) 参数 描述 file  必需.规定尧要读取的文件 length 可选 .规定尧都区的字节数.默认是102字 ...

  9. webpack插件配置(一) webpack-dev-server 路径配置

    本文的路径配置主要涉及到webpack.config.js文件中devServer与output两个选项的配置 webpack-dev-server定义 webpack-dev-server主要是启动 ...

  10. web自动化测试与Appuim自动化测试对比

    web自动化测试-打开浏览器: from selenium import webdriver driver = webdriver.Chrome() #定义chrome驱动 driver.maximi ...