1. 环境准备

1. 安装Centoslinux环境三个(serverworkstationclient);注意配置环境hostnameFQDN格式,形如xxx.com/etc/sysconfig/network)。

2.https://www.opscode.com/chef/install/下载chef 对应的clientserver rpm安装包。

3.server rpm包上传到serverworkstationclient包上传到workstation

  1. 配置server

1. Rpm命令安装 rpm –ivh chef-server-11.0.8-1.el6.x86_64.rpm

2.运行配置命令,sudo chef-server-ctl reconfigure。该命令将安装所有需要的组件,包括Erchef, RabbitMQ, PostgreSQL, cookbooks

3. 运行sudo chef-server-ctl test命令,检查server是否安装完成。

4. 运行service iptables stop关闭防火墙。

  1. 设置workstation

  1. 安装client

    1.   Rpm命令安装 rpm –ivh chef-11.8.0-1.el6.x86_64.rpm

    2.   使用chef-client –v命令查看是否安装成功。

    3.   如果命令行显示Chef: 11.8.0,安装成功。

  2. $ git clone git://github.com/opscode/chef-repo.git命令将chef-repo克隆到本地,成功后的目录结构为chef-repo/

    certificates/

      config/

      cookboos/

      data_bags/

      environments/

      roles/

3. 执行sudo mkdir –p ~/chef-repo/.chef命令创建.chef文件(用于存放knife.rbORGANIZATION-validator.pemUSER.pem)。

  4. 执行cat .gitignore .chef(将.chef文件加入到.gitignore中,防止将改文件提交到github)。

  5.server /etc/chef-server下的admin.pemxx-validator.pem复制到workstation

6. 运行knifeconfigure--initial命令生成knife.rbUSER.pemvalidator.pem文件(server url指定为https://server-ip:443)pem文件位置为上步骤中路径。

  7. 添加ruby到环境变量

    echo 'export PATH="/opt/chef/embedded/bin:$PATH"' >> ~/.configuration_file && source ~/.configuration_file

    echo 'export PATH="/opt/chef/embedded/bin:$PATH"' >> ~/.bash_profile && source ~/.bash_profile

  8. 运行knife client listknife user list查看clientuser是否注册成功。

  9. 运行service iptables stop 关闭防火墙。

  1. 配置cookbookworkstation中操作)

  1. 下载(当然可以自己创建)cookbook(本文以mysql为例,由于mysql依赖于opensslbuild_essential,同时需要下载这两个cookbook)。

  2. 执行命令knife cookbook upload [cookbook-name] -o [cookbook-path],先后上传opensslbuild_essentialmysql到服务器(需要在/etc/hosts下添加一条服务器的ip-hostname记录,如:20.1.203.50 chef-server.com)。

  1. 创建nodeworkstation中操作,centos举例)

  1. 创建一台centos环境虚拟机或者物理机,关闭防火墙,/etc/hosts添加一条server的地址解析,如:20.1.203.50 chef-server.com)。

  2. 执行命令knife bootstrap 20.1.214.202(client ip) –ssh-user root(username) –ssh-password 123.com –ssh-port 22 –run-list “recipe[mysql],recipe[nginx]” –sudo创建node,并在node上安装mysqlnginxcentos)。

  3. 假如无法接入Internet须执行以下步骤。

  4. 在目标node上配置本地yum源(linux)。

  5. /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/knife/bootstrap(修改当前路径下chef-full.erb下载脚本路径,以及涉及的install.sh)。

  1. 帮助

  1. https://server-ip/ 图形化管理界面。

  2. http://docs.opscode.com/essentials_cookbooks.html(官方cookbooks

  3. https://learnchef.opscode.com/starter-use-cases/ntp/(如何创建自己的ntp cookbook

  4. https://learnchef.opscode.com/quickstart/workstation-setup/#linuxquick start)。

转载于:https://www.cnblogs.com/nakedou/p/3449024.html

Centos下chef安装、部署相关推荐

  1. CentOS下MySQL安装配置

    目录 0. 说明 1. 下载与安装 2. 初始配置 3. 远程连接 4. 参考 0. 说明 有个对 MySQL 库数据做测试的需求,因此在 CentOS 下简单安装部署一下,达到灌入数据远程可访问可存 ...

  2. CentOS-7 下 GitLab 安装部署教程

    CentOS-7 下 GitLab 安装部署教程 前言 主要内容 GitLab 介绍 本篇环境信息 准备工作 配置清华大学镜像仓库 安装基础依赖 安装 Postfix 开放 ssh 以及 http 服 ...

  3. 【潇湘菌子】Centos下YAPI安装

    Centos下YAPI安装 YAPI是什么 这个也无需多讲,是一个管理api的平台,大家在平台把规则定好.前后端就可以分离的做开发了.比sawgger的那个功能强大.而且支持用户,权限,多种数据导入, ...

  4. CentOS下利用Docker部署Surging

    CentOS下利用Docker部署Surging 原文:CentOS下利用Docker部署Surging 1. 安装Centos, 配置固定ip 配置文件地址vi /etc/sysconfig/net ...

  5. mysql linux centos 安装_Linux centos 下在线安装mysql

    1,查看是否有安装过mysql: #rpm -qa | grep mysql 如果无结果返回,说明没有安装Mysql,可以全新安装. 2,查看在线服务器提供的Mysql相关的安装包有哪些: #yum ...

  6. Centos下Yum安装PHP5.5,5.6

    Centos下Yum安装PHP5.5,5.6 默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed | gre ...

  7. linux怎么离线安装gcc文件夹,CentOS下离线安装gcc环境,图文详细,方法全面

    CentOS下离线安装gcc环境,图文详细,方法全面 下载 方式1:如果有网的虚拟机还没有安装,可以直接 yum install --downloadonly --downloaddir=/root/ ...

  8. Mongodb学习(安装篇): 在centos下的安装

    安装篇 ###下载解压文件 [root@192 lamp]# wget http://fastdl.mongodb.org/linux/mongodb-linux-i686- 2.2.2.tgz ## ...

  9. nginx 怎么重新编译安装mysql,centos 下 编译安装 nginx + mysql + php 服务

    centos 下编译安装nginx + mysql + php 服务 1.安装nginx 1.1.安装依赖包 yum install wget make gcc gcc-c++ pcre-devel ...

最新文章

  1. 实验室管理系统LIMS有没有好的企业推荐?
  2. 从市场的角度来看技术的学习
  3. idea查看方法的返回类型和自动出来变量
  4. 实验二:Linux下Xen环境的安装
  5. 面试准备每日五题:C++(五)——野指针、句柄指针、newdeletemallocfree、extern、类成员权限
  6. binlog的基本介绍和操作
  7. Redis容量及使用规划(转)
  8. paip.编程语言方法重载实现的原理及python,php,js中实现方法重载
  9. 喜欢的歌——星月神话(金莎)
  10. AR.js摄像头前置的问题(已解决)(H5调用摄像头)
  11. 别错过,卡方检验实用总结!
  12. python专场——暴力破解(DVWA)
  13. 电磁场仿真试验【Matlab】电磁波极化仿真
  14. pip安装和使用 (Python)
  15. Paper Note - 基于高效数据流标记和跟踪的可精炼跨主机攻击调查
  16. 朴素贝叶斯算法(python 实现)
  17. 四位大小写字母和数字随机验证码
  18. Failed to pull image xxx unauthorized: authentication required
  19. 为什么有些30岁的程序员代码敲着敲着就创业了
  20. 二十一点算法 --freeCodeCamp

热门文章

  1. 【译】Why Decentralized AI Matters Part II: Technological Enablers
  2. JZOJ 5933. 【NOIP2018模拟10.27】百鸽笼
  3. 积性函数与Dirichlet卷积 学习小记
  4. 编译原理lr(0)c语言,关于编译原理:LR(1)LR(0)文法判断?
  5. mysql 导入 相对路径,MySQL数据库导出与导入及常见错误解决
  6. 画活动图教程_二次元人物头发怎么画?画好头发有什么技巧?
  7. python嵌入式系统开发_Python在开发实时嵌入式系统中的作用
  8. c语言用数组发送大写字母怎么读,c语言字符数组大小写转换
  9. ssh协议是tcp还是udp_DNS 支持 TCP 和 UDP 双协议,但为何偏偏只钟情 UDP?
  10. An Algorithm Summary of Programming Collective Intelligence