官网地址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. Docker 开发概述

    This page lists resources for application developers using Docker. Develop new apps on Docker If you ...

  2. R的极客理想系列文章--转载

    http://blog.fens.me/series-r/ R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在 ...

  3. 完美解决百度网盘、浏览器下载限速问题proxyee-down(附带win破解版云盘)

    win版破解云盘 下载: <PanDownload> 使用文档: <PanDownload使用> Mac方法 限速.限速! 平时下载东西限速倒无所谓,遇到急一点的.盯着80km ...

  4. win10 安装Oracle 11g release 2

    参考资料: Oracle Database 11g Release 2 安装详解 - WIN 10 系统 准备工作: 安装 Oracle 11g 之前,要确保在此操作系统上未安装过 Oracle,或者 ...

  5. curl java 模拟http请求

    curl java 模拟http请求 直接上代码: public static void main(String args[]) throws Exception { String url = &qu ...

  6. js,jq获取父,兄弟,子节点整理

    js获取节点 父: parentNode 获取已知节点的父节点. 子: childNodes; 得到全部子节点 children 得到全部子节点 firstChild 获得第一个子节点 lastChi ...

  7. 自定义 Git - 配置 Git

    用git config配置 Git,要做的第一件事就是设置名字和邮箱地址: $ git config --global user.name "John Doe" $ git con ...

  8. JavaScript 局部刷新

    JavaScript局部刷新具体代码展示如下 1.  #tabList代表需要刷新的元素的对象 2.  第二个#tabList 如果后面有第三个元素,那么后面需要加>*符号,如果不加,容易造成C ...

  9. 分组查询以及having使用

    Group  by 注意事项:对查询的列有限制,除了聚合函数外,就必须是分组的项 order  by总是放在最后 代码示例: select Gender as 性别 ,count (Gender) a ...

  10. 在vscode中,自定义代码片段,例vue组件的模板

    1---- 2----  输入vue,  选 vue.json 3----  在vue.json中编辑, 有说明 a.  tab符,要用空格, 也可以转义 4----   新建vue文件, 输入自定义 ...