ansible特性

(1)、no agents:不需要在被管控主机上安装任何客户端;

(2)、no server:无服务器端,使用时直接运行命令即可;

(3)、modules in any languages:基于模块工作,可使用任意语言开发模块;

(4)、yaml,not code:使用yaml语言定制剧本playbook;

(5)、ssh by default:基于SSH工作;

(6)、strong multi-tier solution:可实现多级指挥。

ansible特点

(1)、轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
(2)、批量任务执行可以写成脚本,而且不用分发到远程就可以执行;
(3)、使用python编写,维护更简单,ruby语法过于复杂;
(4)、支持sudo。

环境准备

  1. [root@node1 ~]# cat /etc/redhat-release
  2. CentOS Linux release 7.6. (Core)
  1. [root@node1 ~]# uname -r
  2. 3.10.-.el7.x86_64
  1. 主机名 IP
  2. node1 10.0.0.21
  3. node2 10.0.0.22
  4. node3 10.0.0.23
  5. node4 10.0.0.24

安装ansible(10.0.0.21)

配置所有节密钥互信, 在node01可以免密码登录各节点,只在node01上执行

配置epel源

  1. [root@node1 opt]# yum install -y wget
  2. [root@node1 opt]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

安装

  1. [root@node1 opt]# yum install -y ansible

查看版本

  1. [root@node1 opt]# ansible --version

查看ansible 安装生成的文件

  1. [root@10.0.0.21 opt]# rpm -ql ansible |more
  2. /etc/ansible
  3. /etc/ansible/ansible.cfg #配置文件
  4. /etc/ansible/hosts #主要文件

hosts文件详解

  1. [root@10.0.0.21 opt]# cat /etc/ansible/hosts
  2. # This is the default ansible 'hosts' file.
  3. #
  4. # It should live in /etc/ansible/hosts
  5. #
  6. # - Comments begin with the '#' character #注释为#
  7. # - Blank lines are ignored #空白行被忽略
  8. # - Groups of hosts are delimited by [header] elements #主机组名被写在[]里面
  9. # - You can enter hostnames or ip addresses #你可以写ip地址也可以写hostnames
  10. # - A hostname/ip can be a member of multiple groups #一个主机可以被多个主机组包含

配置hosts文件

  1. [root@node1 opt]# vim /etc/ansible/hosts

加入以下内容

  1. [test] #模块的名称,可以顺便写
    10.0.0.21
  2. 10.0.0.22
  3. 10.0.0.23
  4. 10.0.0.24

生成秘钥

  1. [root@node1 opt]# ssh-keygen

秘钥分发

  1. [root@node1 opt]# ssh-copy-id -i .ssh/id_rsa.pub 10.0.0.21
  2. [root@node1 opt]# ssh-copy-id -i .ssh/id_rsa.pub 10.0.0.22
  3. [root@node1 opt]# ssh-copy-id -i .ssh/id_rsa.pub 10.0.0.23
  4. [root@node1 opt]# ssh-copy-id -i .ssh/id_rsa.pub 10.0.0.24

  5. [root@node1 opt]# ssh-copy-id root@10.0.0.21
  6. [root@node1 opt]# ssh-copy-id root@10.0.0.22
  7. [root@node1 opt]# ssh-copy-id root@10.0.0.23
  8. [root@node1 opt]# ssh-copy-id root@10.0.0.24

测试是否连通

  1. [root@node1 opt]# ansible -m ping 10.0.0.21

登录验证(Ctrl+D 退出连接)

  1. [root@node1 opt]# ssh 10.0.0.21
  2. Last login: Sun Aug :: from 10.0.0.20
  3. welcome to my service!
  4. [root@node2 opt]#

安装ansible集群管理和配置密钥互信的更多相关文章

  1. 安装memcache集群管理工具

    安装memcache集群管理工具magent 一.安装libevent tar xf libevent--stable.tar.gz cd libevent- ./configure --prefix ...

  2. Centos下安装Docker集群管理工具Shipyard

    一. Docker Shipyard是什么 ? shipyard是一个开源的docker管理平台,其特性主要包括: 支持镜像管理.容器管理. 支持控制台命令 容器资源消耗监控 支持集群swarm,可以 ...

  3. 安装hadoop集群服务器(hadoop1.2.1)

    摘要:hadoop,一个分布式系统基础架构,可以充分利用集群的威力进行高速运算和存储.本文主要介绍hadoop的安装与集群服务器的配置. 准备文件: ▪ VMware11.0.0      ▪ Cen ...

  4. zookeeper安装和应用场合(名字,配置,锁,队列,集群管理)

    安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网http://hadoop.apache.org/zookeeper/ 来获取,Zookee ...

  5. 轻量级集群管理软件-Ansible

    ansible概述和运行机制 ansible概述 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具,  它用Python写成,类似于saltstack和Puppet,但是有一个不同 ...

  6. Kafka集群管理工具kafka-manager的安装使用

    一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...

  7. Linux Kafka集群管理工具kafka-manager的安装使用

    一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...

  8. supervisor的安装部署及集群管理

    supervisor的安装部署及集群管理 supervisor官网:http://www.supervisord.org/ 参考链接: http://blog.csdn.net/xyang81/art ...

  9. [k8s]kubespray(ansible)自动化安装k8s集群

    kubespray(ansible)自动化安装k8s集群 https://github.com/kubernetes-incubator/kubespray https://kubernetes.io ...

随机推荐

  1. nodejs package.json解释

    { "name": "node-echo", # 包名,在NPM服务器上须要保持唯一 "version": "1.0.0" ...

  2. System.Runtime.InteropServices.COMException (0x800A03EC): 无法访问文件

    使用Microsoft.Office.Interop.Excel 操作 今天在服务器部署,操作程序csv文件转xsl文件的时候,遇到一下问题: System.Runtime.InteropServic ...

  3. openstack swift节点安装手册2-创建rings

    以下步骤需要在controller节点上进行操作: 切换到/etc/swift目录下进行如下操作: 一.创建account ring 1.创建account.builder文件 swift-ring- ...

  4. igmp组播测试环境搭建

    2.4G无线组播测试环境搭建: (1)组播源: VLC 或者 pixstream (2)无线: 2.4G AP (3)客户端PC: VLC播放器 有线直连 无线2.4G PC(组播源pixstream ...

  5. PYTHON-字符编码&文件处理-练习

    # 把多个账号密码写入文件中# 编写登录功能,登录失败三次 程序退出. # 登录账号密码定义,用列表分割,for循环取值=====判断对错=====循环条件3次退出# with open(r'db.t ...

  6. SQL类型转换和数学函数

  7. P2163 【[SHOI2007]园丁的烦恼】

    其实是不用把一个询问拆成四个的 把询问转化为数学语言: 对于每个查询,询问满足$a<=x<=b$且$c<=y<=d$的点$x,y$的个数 ~~自然~~想到偏序问题,看到有两个式 ...

  8. 如何将Oracle 当前日期加一天、一分钟

    在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual sysdate+1 加一天sysdate+1/24 加1小时sysd ...

  9. mysql 不区分大小写的解决

    mysql查询默认是不区分大小写的 如: select * from some_table where str=‘abc';select * from some_table where str='AB ...

  10. canvas简单下雨特效

    前面做了两个简单的效果,这次就来个下雨的效果 思路简单的说一下 随机在屏幕中的位置画雨滴,moveTo(x,y) 雨滴的长度就是lineTo(x,y+len) 每次重新绘制页面,就能达到下雨的效果了 ...