设为首页 收藏本站
查看: 1409|回复: 0

[经验分享] 使用puppet自动安装openstack

[复制链接]

尚未签到

发表于 2015-11-26 14:01:16 | 显示全部楼层 |阅读模式
  1.安装puppet
  $ sudo apt-get install puppet-common
  
  2. 更新puppet apt repository
  $ wgethttp://apt.puppetlabs.com/puppetlabs-release-precise.deb
  $ sudo dpkg -i puppetlabs-release-precise.deb
  $ sudoapt-get update
  3. 安装MYSQL
  在用户根目录下创建一个新的mysql.pp文件:
  include mysql
  include mysql::server
  include mysql::config
  mysql::db { 'testdb':
   user          => 'user',
   password      => 'passw0rd',
  }
  
  使用以下命令自动安装mysql服务:
  $puppet apply mysql.pp
  
  4. 安装Keystone
  在用户根目录下创建一个新的keystone.pp文件:
  class { 'mysql::server': }
  
  class { 'keystone::db::mysql':
   user                  =>'keystone',
   password              =>'passw0rd',
   charset               =>'utf8',
   allowed_hosts         =>'localhost'
  }
  
  class { 'keystone':
   verbose               => True,
   catalog_type          => 'sql',
   admin_token           =>'c490e66cc19c1c9fc334',
   token_format          =>'UUID',
   sql_connection        =>'mysql://keystone:passw0rd@localhost/keystone'
  }
  
  keystone_tenant { 'admin':
   ensure                =>present,
   enabled               => True,
   description           =>"Tenant for the Admin",
  }
  
  keystone_tenant { 'service':
   ensure                =>present,
   enabled               => True,
   description           =>"Tenant for the OpenStack services",
  }
  
  keystone_user { 'admin':
   ensure                =>present,
   enabled               => True,
   tenant                =>"admin",
   email                 =>"admin@sample.com",
   password              => "passw0rd",
  }
  
  keystone_role { ['admin', 'Member','_member_']:
   ensure                =>present,
  }
  
  keystone_user_role { 'admin@admin':
   ensure                =>present,
   roles                 =>'admin',
  }
  
  class { 'keystone::endpoint':
   public_address        =>'127.0.0.1',
   admin_address         =>'127.0.0.1',
   internal_address      =>'127.0.0.1',
  }
  
  
  使用以下命令自动安装keystone服务:
  $puppet module install puppetlabs/keystone
  $puppet apply keystone.pp
  
  5. 安装Glance
  在用户根目录下创建一个新的glance.pp文件:
  class { 'mysql::server': }
  
  class { 'glance::api':
   verbose               => true,
   keystone_tenant       =>'service',
   keystone_user         =>'glance',
   keystone_password     =>'passw0rd',
   sql_connection        => 'mysql://glance:passw0rd@127.0.0.1/glance',
  }
  
  class { 'glance::registry':
   verbose               => true,
   keystone_tenant       =>'service',
   keystone_user         =>'glance',
   keystone_password     =>'passw0rd',
   sql_connection        =>'mysql://glance:passw0rd@127.0.0.1/glance',
  }
  
  class { 'glance::backend::file': }
  
  class { 'glance::db::mysql':
   password              =>'passw0rd',
   allowed_hosts         =>'localhost',
  }
  
  class { 'glance::keystone::auth':
   password              =>'passw0rd',
   email                 =>'glance@example.com',
   public_address        =>'127.0.0.1',
   admin_address         =>'127.0.0.1',
   internal_address      =>'127.0.0.1',
   tenant                =>'service',
  }
  
  使用以下命令自动安装glance服务:
  $puppet module install puppetlabs/glance
  $puppet apply glance.pp
  
  6. 安装Nova
  在用户根目录下创建一个新的nova.pp文件:
  class { 'mysql::server': }
  
  class { 'nova::rabbitmq':
   userid        => 'guest',
   password      => 'guest',
   enabled       => true,
  }
  
  class { 'nova::db::mysql':
   user                  =>'nova',
   password              =>'passw0rd',
   allowed_hosts         =>'127.0.0.1',
   charset               =>'utf8',
  }
  
  class { 'nova::keystone::auth':
   password              =>'passw0rd',
   email                 => 'nova@example.com',
   public_address        =>'127.0.0.1',
   admin_address         =>'127.0.0.1',
   internal_address      =>'127.0.0.1',
   tenant                =>'service',
  }
  
  class { 'nova':
   sql_connection        =>'mysql://nova:passw0rd@127.0.0.1/nova',
   rabbit_userid         =>'guest',
   rabbit_password       =>'guest',
   image_service         =>'nova.image.glance.GlanceImageService',
   glance_api_servers    =>'127.0.0.1:9292',
   verbose               => true,
   rabbit_host           =>'127.0.0.1',
  }
  
  class { 'nova::api':
   enabled               => true,
   admin_tenant_name     =>'service',
   admin_user            =>'nova',
   admin_password        =>'passw0rd'
  }
  class{ 'nova::compute':
    enabled               => true,
    vnc_enabled           => true,
  }
  
  class{ 'nova::compute::libvirt':
    libvirt_type          => 'qemu',
    migration_support     => false,
  }
  
  class{ 'nova::network':
    private_interface     => 'eth0',
    public_interface      => 'eth0',
    fixed_range           => '10.0.0.0/24',
    floating_range        => false,
    create_networks       => true,
    enabled               => true,
    install_service       => true,
  }
  
  class{ [
    'nova::scheduler',
    'nova::objectstore',
    'nova::cert',
    'nova::consoleauth',
    'nova::conductor'
  ]:
    enabled               => true,
  }
  
  class{ 'nova::client': }
  
  使用以下命令自动安装nova服务:
  $puppet module install puppetlabs/nova
  $puppet apply nova.pp
  
  7. 安装Horizon
  在用户根目录下创建一个新的horizon.pp文件:
  class { 'memcached':
   listen_ip             =>'127.0.0.1',
   tcp_port              =>'11211',
   udp_port              =>'11211',
  }
  
  class { '::horizon':
   cache_server_ip       =>'127.0.0.1',
   cache_server_port     =>'11211',
   secret_key            =>'12345',
   swift                 => false,
   django_debug          =>'True',
   api_result_limit      =>'1000',
  }
  
  使用以下命令自动安装horizon服务:
  $puppet module install puppetlabs/horizon
  $puppet apply horizon.pp
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-143940-1-1.html 上篇帖子: windows下的puppet学习之路(一) 下篇帖子: puppet安装和部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表