官网地址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. P2604 [ZJOI2010]网络扩容

    思路 简单的费用流问题,跑出第一问后在残量网络上加边求最小费用即可 代码 #include <cstdio> #include <algorithm> #include < ...

  2. CF600E Lomsat gelral(dsu on tree)

    dsu on tree跟冰茶祭有什么关系啊喂 dsu on tree的模板题 思想与解题过程 类似树链剖分的思路 先统计轻儿子的贡献,再统计重儿子的贡献,得出当前节点的答案后再减去轻儿子对答案的贡献 ...

  3. 深度学习课程笔记(十七)Meta-learning (Model Agnostic Meta Learning)

    深度学习课程笔记(十七)Meta-learning (Model Agnostic Meta Learning) 2018-08-09 12:21:33 The video tutorial can ...

  4. (转载)c# winform comboBox的常用一些属性和用法

    comboBox的常用一些属性和用法 [1].控件的默认值怎么设? this.comboBox1.Text = "请选择港口"; comboBox1.Items.Add(" ...

  5. 案例2:用一条SQL查询出数学语文成绩都大于80分的学生姓名?

    方法1: 查出科目成绩有小于80分的学生姓名,再约束并去重学生不等于查出来的姓名 select distinct A.name from t_score A where A.name not in(s ...

  6. js转义和反转义html

    本文地址: http://www.cnblogs.com/daysme/p/7100553.html 下面的代码网上常用有,但不是想要的. JS实现HTML标签转义及反转义 http://blog.c ...

  7. Linux命令之du命令

    du命令 显示文件或目录所占用的磁盘空间. 命令格式: du [option] 文件/目录 -h 输出文件系统分区使用的情况,例如:10KB,10MB,10GB等 -s 显示文件或整个目录的大小,默认 ...

  8. Windows has encountered a critical problem and will restart automatically in one minute. Please save your work now

    Windows has encountered a critical problem and will restart automatically in one minute. Please save ...

  9. Docker个人理解总结

    最新在学习Docker,记录下自己对Docker的理解. 一.Docker是什么? 1. Docker是一个能够把开发的应用程序自动部署到容器的开源引擎. 2.Docker使用Google公司推出的G ...

  10. ext4.2常用的几种弹框

    以下记录了自己在做项目时,经常用到的几种ext弹框.项目中使用的ext是4.2版本的. 1. Ext.Msg.alert() 使用此种方式时,如果提示信息过长则提示信息会被覆盖掉一部分. Ext.Ms ...