热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

CentOS6.4使用chef快速部署openstack

Rackspace公司推出了PrivateCloud,提供了一个定制的ISO可以快速方便的部署企业自己的私有云,试用了一下感觉非常爽,只可惜它是基于Ubuntu的,我们的环境大多用CentOS,所以试着看能不能做一个基于CentOS的ISO$$他们使用Chef来做部署,我对他们使用的Cookbook做

Rackspace公司推出了Private Cloud,提供了一个定制的ISO可以快速方便的部署企业自己的私有云,试用了一下感觉非常爽,只可惜它是基于Ubuntu的,我们的环境大多用CentOS,所以试着看能不能做一个基于CentOS的ISO$$
他们使用Chef来做部署,我对他们使用的Cookbook做了一些修改,现在基本可以在CentOS 6.2上部署了
Rackspace的Cookbook地址是: https://github.com/rcbops/chef-cookbooks
由于国内网络的原因,并且我对submodule也不熟,我没有fork,而是直接复制文件创建了一个新的(从30多M =>    4M)
地址是:    https://github.com/williamherry/openstack-cookbooks
Chef Server使用了rabbitmq-server,如果把chef-server放在控制节点上,配置rabbitmq-server的cookbook会报错,所以你可能需要两个机子(Rackspace的作法是起一个虚拟机专门做chef-server)

使用方法
配置chef-server
rpm -Uvh http://rbel.frameos.org/rbel6
yum install rubygem-chef-server
service iptables stop
setup-chef-server.sh
上面的命令已经安装并启动chef-server相关的服务了,我们再配置一个用来管理chef的客户端
knife configure -i
执行上面的命令然后一路回车就可以配置一个管理用的客户端,运行
knife node list
如果没有报错,就可以继续了

下载cookbooks
yum -y install git
git clone https://github.com/williamherry/openstack-cookbooks.git
上传cookbook,role, environment
上传environment前你可能想要修改一个environment以适合你自己的环境(vi environments/example.json)
{
  "name": "openstack",
  "description": "",
  "cookbook_versions": {
  },
  "json_class": "Chef::Environment",
  "chef_type": "environment",
  "default_attributes": {
    "mysql": {
      "allow_remote_root": true,
      "root_network_acl": "%"
    },
    "nova": {
      "network": {
        "public_interface": "eth0"
      }
    }
  },
  "override_attributes": {
    "developer_mode": false,
    "monitoring" : { "procmon_provider" : "none" },
    "keystone" : {
      "tenants" : [ "admin", "service", "demo" ],
      "admin_user" : "admin",
      "users" : {
        "admin" : {
          "password" : "password",
          "roles" : {
            "admin" : [ "admin", "demo" ]
          }
        },
        "demo" : {
          "password" : "password",
          "default_tenant" : "demo",
          "roles" : {
            "Member" : [ "demo" ]
          }
        }
      }
    },
    "glance": {
      "image" : {
        "precise" : "file:///opt/rpcs/precise-server-cloudimg-amd64.tar.gz",
        "cirros" : "file:///opt/rpcs/cirros-0.3.0-x86_64-uec.tar.gz"
      },
      "images": [
        "cirros",
        "precise"
      ],
      "image_upload": false
    },
    "nova": {
      "network": {
        "fixed_range": "172.31.0.0/24",
        "dmz_cidr": "10.128.0.0/24"
      },
      "apply_patches": false,
      "networks": [
        {
        "bridge_dev": "eth1",
        "num_networks": "1",
        "network_size": "254",
        "bridge": "br0",
        "ipv4_cidr": "172.31.0.0/24",
        "label": "public",
        "dns1": "8.8.8.8",
        "dns2": "8.8.4.4"
      }
      ]
    },
    "osops_networks": {
      "management": "192.168.24.0/24",
      "nova": "192.168.24.0/24",
      "public": "192.168.24.0/24"
    },
    "enable_monit": true
  }
}
修改password和osops_networks,osops_networks修改成和你的IP在一个网段

# upload cookbooks
cd openstack-cookbooks
knife cookbook upload -o cookbooks --all
# upload role
knife role from file roles/*.rb
# upload environment
knife environment from file environments/example.json

要部署openstack的机子只要配置好网络和FQDN,就可以在chef-server利用bootstrap快速配置

复制bootstrap脚本
cp -r bootstrap ~/.chef
利用bootstrap配置一个allinone的服务(假设已经配置好FQDN和网络,并且IP地址是192.168.24.2,可以从chef-server能过ssh连接)
cd ~
knife bootstrap 192.168.24.2 -E openstack -r 'role[allinone]' -d centos6


推荐阅读
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • CentOS 6.5 上安装 MySQL 5.7.23 的详细步骤
    本文详细介绍如何在 CentOS 6.5 系统上成功安装 MySQL 5.7.23,包括卸载旧版本、下载安装包、配置文件修改及启动服务等关键步骤。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
  • 本教程将详细指导您如何通过光盘引导安装 CentOS 7.0,包括选择语言、系统分区和配置网络等关键步骤。整个过程大约需要8分钟,具体时间视硬件配置而定。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • 配置多VLAN环境下的透明SQUID代理
    本文介绍如何在包含多个VLAN的网络环境中配置SQUID作为透明网关。网络拓扑包括Cisco 3750交换机、PANABIT防火墙和SQUID服务器,所有设备均部署在ESXi虚拟化平台上。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
author-avatar
风一样的男孩668
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有