Centos 7安装与配置chef

  背景:随着DevOps 逐渐流行起来,越来越多的工作需要自动化处理,而chef就是其中一款能实现自动化管理的工具,掌握类似chef这样的自动化工具,相信会使你在未来的竞争中更具优势。

  俗话说“好记性不如烂笔头”,以下记录一来为了记忆,二来希望能帮到对chef有兴趣的朋友们。

一、 简介:chef总共分成三部分,分别为chef-server、workstation和node

  Server维护一套配置脚本(cookbook),与每个被管节点(node)交互并给出配置指令。

  Workstation定义cookbook,并将cookbook上传到chef server上,以保证被管节点能从chef server上取得最新的配置指令。

  Node被管节点,可以是任何机器(包括物理机与虚拟机),chef node通过workstation从chef-server取得配置指令。

二、 配置环境


名称


主机名


IP


系统


内存


chef-server


server01.zun1.com


172.16.1.201


centos 7


1G


workstation


workstation.zun1.com


172.16.1.202


centos 7


1G


Node


node1.zun1.com


172.16.1.203


centos 7


1G

三、chef-server的安装

  1、  创建目录并切换:

$  mkdir –p /home/zun1/soft && cd /home/zun1/soft

  2、  配置ntp时间服务器:

$ vim /etc/ntp.conf                              //如无此文件,请安装:yum install ntpd
---------------------------------------->
 server time.windows.com iburst
 serve s1b.time.edu.cn iburst
$ ssudo systemctl restart ntpd               //配置后如无效果,请安装:yum install chrony

  3、  将三台主机名称加入hosts

$ sudo vim /etc/hosts
------------------------------------------->
172.16.1.201 server01.zun1.com
172.16.1.202 workstation.zun1.com
172.16.1.203 node1.zun1.com                 //保存后用scp复制到另外两台电脑

  4、  安装chef-server

$ cd /home/zun1/soft
$ wget https://packages.chef.io/files/stable/chef-server/12.15.8/el/7/chef-server-core-12.15.8-1.el7.x86_64.rpm
$ sudo rpm –ivh chef-server-core-12.15.8-1.el7.x86_64.rpm
$ sudo yum update –y
$ sudo chef-server-ctl reconfigure

  验证方法:能正常打开https://172.16.1.201 就表示安装成功了。

  5、安装chef管理控制台

$ cd /home/zun1/soft
$ wget https://packages.chef.io/files/stable/chef-manage/2.5.4/el/7/chef-manage-2.5.4-1.el7.x86_64.rpm
$ sudo chef-server-ctl install chef-manage –path /home/jeff/soft/chef-manage-2.5.4-1.el7.x86_64.rpm
$ sudo chef-server-ctl reconfigure
$ sudo chef-manage-ctl reconfigure

  6、创建管理用户

 $ sudo chef-server-ctl user-create jeff jeff jeff [email protected] 123456 –filename /root/.chef/jeff.pem     //登录用户为:jeff,密码为:123456

  7、  打开页面登录:https://172.16.1.201 ,登录用户:jeff,密码:123456,然后创建组织zun1.com,简称zun1。

四、workstation的安装

  1、  安装chefdk

$ cd /home/zun1/soft
$ wget https://packages.chef.io/files/stable/chefdk/2.0.28/el/7/chefdk-2.0.28-1.el7.x86_64.rpm
$ sudo rpm –ivh chefdk-2.0.28-1.el7.x86_64.rpm

  2、  配置NTP时间服务器,配置方法同上,此处不再赘述。

  3、  配置环境变量:

$ echo ‘eval "$(chef shell-init bash)"‘ >> ~/.bash_profile
$ source ~/.bash_profile
$ which ruby                                       //验证安装结果
------------------------------------->
/opt/chefdk/embedded/bin/ruby                  //证明安装成功

  4、  下载chef-starter.zip的方法:进入chef-server管理页面后:Administrator -> Starter Kit -> Download Start Kit,如下图:

  

  5、  复制到/data/下,并更名

$ sudo mkdir –p /data && cd /data/
$ unzip /home/zun1/chef-starter.zip  /home/zun1
$ mv /home/zun1/chef-starter /home/zun1/chef-repo

  6、  进行/data/chef-repo下验证安装结果,没报错则证明安装成功

$ cd /data/chef-repo
$ knife ssl fetch
$ knife ssl check
$ knife nod list

五、Node的安装:node的安装跟workstation一样,都是安装chefdk

  1、安装chefdk

$ cd /home/zun1/soft
$ sudo rpm –ivh chefdk-2.0.28-1.el7.x86_64.rpm  //将workstation的文件复制过来
$ echo ‘eval "$(chef shell-init bash)"‘ >> ~/.bash_profile
$ source ~/.bash_profile

  2、配置NTP时间,同上。

  3、添加节点到服务器:

$ knife bootstrap 172.16.1.203 –ssh-user root –ssh-password redhat –node-name node1.zun1.com

  

  4、进入登录界面查看节点:http://172.16.1.201

六、测试:给node安装apache,并创建一个主页

  1、下载cookbook

$ knife cookbook site download learn_chef_httpd.tar.gz

  2、  解压

$ tar zxvf learn_chef_httpd.tar.gz

  3、  移动到对应的目录

$ mv learn_chef_httpd /data/chef-repo/cookbooks/

  4、  上传到chef-server

$ knife cookbook upload learn_chef_httpd

  5、  将cookbook加入runlist

$ knife bootstrap 172.16.1.203 –ssh-user  root –ssh-password ‘redhat’   --sudo –use-sudo-password –node-name node1.zun1.com   --run-list ‘recipe[learn_chef_httpd]’

  6、  在workstation上执行

$ knife ssh ADDRESS ‘sudo chef-client’ –manual-list –ssh-user root –ssh-password ‘redhat’    //此处的ADDRESS貌似也可以是node的IP

7、  打开链接验证:http://172.16.1.203

PS:此配置参考自  https://wenku.baidu.com/view/7d297631657d27284b73f242336c1eb91a3733ea.html

时间: 2024-10-14 00:45:35

Centos 7安装与配置chef的相关文章

Centos 7安装与配置nagios监控详细图解(二)

目 录 序言(必备知识) 一.安装规划 1.1系统环境 1.2所需软件包 二.配置安装环境 2.1同步时间 2.2禁用SElinux 2.3 xftp上传软件包 2.4安装邮件服务 三.监控主机安装 3.1安装nagios的运行环境 3.2增加用户 3.3安装nagios 3.4配置权限 3.5安装插件 3.6安装nrpe 四.远程主机安装 4.1配置运行环境 4.2安装nagios-plugin 4.3安装nrpe 4.4启动nrpe 五.监控主机安装PNP 5.1配置开发环境 5.2安装pn

Linux CentOS下安装、配置mysql数据库

如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk.tomcat.eclipse我们就已经能进行我们的程序开发了,但是如果要做一个项目,哪怕是小的不能再小的项目都离不开数

CentOS 6安装和配置VNC

CentOS 6安装和配置VNC 环境centos6.3 VNC是Linux上的一款非常优秀的远程控制工具软件,通常我们在Windows上面安装vnc客户端软件来远程访问Linux机器(Windows上常用的客户端RealVNC),要远程连接到Linux首先要确保Linux上面已经安装了VNC server,下面以CentOS 6为例来说明: 如果上面的几个rpm包已经存在,说明VNC server已经安装好了,接下来跳转步骤3启动vncserver就可以了,否则执行步骤2 1. 检查是否已经安

CentOS 7 安装 Nginx 配置反向代理

Linux使用Nginx Yum存储库上安装Nginx,适用于Red Hat Enterprise Linux和CentOS系统. 1.添加设置Nginx Yum存储库 在CentOS中首次安装Nginx时,需要添加Nginx软件包,使用以下命名,添加安装 sudo yum install yum-utils 设置Yum存储库,请创建/etc/yum.repos.d/nginx.repo配置文件,配置内容如下 [nginx-stable] name=nginx stable repo baseu

CentOS 7 安装、配置、使用 PostgreSQL 9.5

学习CentOS下安装使用PostgreSQL [安装过程] 1.添加RPM    yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm2.安装PostgreSQL 9.5 yum install postgresql95-server postgresql95-contrib 3.初始化数据库    /usr/pgsql-

CentOS SSH安装与配置

SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议. 传 统的网络服务程序,如FTP.POP和Telnet其本质上都是不安全的:因为它们在网络上用明文传送数据.用户帐号和用户口令,很容易受到中间人 (man-in-the-middle)攻击方式的攻击.就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据 传给真正的服务器. 而 SSH

Centos 7安装与配置nagios监控(一)

目  录 序言(必备知识) 一.安装规划 1.1系统环境 1.2所需软件包 二.配置安装环境 2.1同步时间 2.2禁用SElinux 2.3 xftp上传软件包 2.4安装邮件服务 三.监控主机安装 3.1安装nagios的运行环境 3.2增加用户 3.3安装nagios 3.4配置权限 3.5安装插件 3.6安装nrpe 四.远程主机安装 4.1配置运行环境 4.2安装nagios-plugin 4.3安装nrpe 4.4启动nrpe 五.监控主机安装PNP 5.1配置开发环境 5.2安装p

centos下安装并配置tomcat

1,安装jdk,centos默认安装了java-openjdk的环境,但是不带JDK,运行 yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel 2,下载apache-tomcat-7.0.56.tar.gz: 3.配置tomcat环境并设置为服务,采用jsvc 解压:tar vzvf apache-tomcat-7.0.56.tar.gz 重命名: mv apache-tomcat-7.0.56 /usr/local/apache-to

安装和配置chef

Chef 由三大组件组成:Chef Server.Chef Workstation 和 Chef Node.Chef Server 是核心服务器,维护了一套配置脚本(Cookbook),与每个被管节点(Chef Node)交互并给出配置指令.Chef Workstation 提供了我们与 Chef Server 交互的接口:我们在 Workstation 上创建定义 Cookbook,并将 Cookbook 上传到 Chef Server 上以保证被管机器能从 Chef Server 上取得最新