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。

环境准备

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

安装ansible(10.0.0.21)

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

配置epel源

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

安装

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

查看版本

[root@node1 opt]# ansible --version

查看ansible 安装生成的文件

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

hosts文件详解

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

配置hosts文件

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

加入以下内容

[test]   #模块的名称,可以顺便写
10.0.0.21
10.0.0.22
10.0.0.23
10.0.0.24

生成秘钥

[root@node1 opt]# ssh-keygen 

秘钥分发

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

[root@node1 opt]# ssh-copy-id root@10.0.0.21
[root@node1 opt]# ssh-copy-id root@10.0.0.22
[root@node1 opt]# ssh-copy-id root@10.0.0.23
[root@node1 opt]# ssh-copy-id root@10.0.0.24

测试是否连通

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

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

[root@node1 opt]# ssh 10.0.0.21
Last login: Sun Aug :: from 10.0.0.20
welcome to my service!
[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. php封装的sqlite操作类

    sqlite在php中是默认安装的本地小型化数据库,类似于xml的小型数据库,但sqlite功能更强. sqlite.class.php文件: <?php class sqliteDB{ pri ...

  2. 006_nginx动态upstream和安全检查模块

    一.参考Tengine   http://tengine.taobao.org/document_cn/http_dyups_cn.html ngx_http_dyups_module Descrip ...

  3. jmeter之正则表达式

    一.Jmeter关联的方式: Jmeter中关联可以在需要获取数据的请求上 右键-->后置处理器 选择需要的关联方式,如下图有很多种方法可以提取动态变化数据: 二.正则表达式提取器: 1.比如需 ...

  4. go语言标准库 时刻更新

    Packages   Standard library Other packages Sub-repositories Community Standard library ▾ Name Synops ...

  5. vue系列之MVVM框架

    当数据发生变化时,ViewModel就会检测到,然后通知相应的View改变 当用户操作View时,ViewModel就会检测到,然后Model,修改相应的数据,最终实现双向绑定 适用场景:针对具有复杂 ...

  6. 温故而知新--JavaScript书摘(一)

    前言: 毕业到入职腾讯已经差不多一年的时光了,接触了很多项目,也积累了很多实践经验,在处理问题的方式方法上有很大的提升.随着时间的增加,愈加发现基础知识的重要性,很多开发过程中遇到的问题都是由最基础的 ...

  7. java多线程快速入门(四)

    通过匿名内部类的方法创建多线程 package com.cppdy; //通过匿名内部类的方法创建多线程 public class ThreadDemo2 { public static void m ...

  8. Codeforces 448C Painting Fence(分治法)

    题目链接:http://codeforces.com/contest/448/problem/C 题目大意:n个1* a [ i ] 的木板,把他们立起来,变成每个木板宽为1长为 a [ i ] 的栅 ...

  9. js中常见的数组排序算法-冒泡排序和选择排序

    reverse( )  数组逆序   // reverse() 数组逆序 var arr = ["边境牧羊犬", "德国牧羊犬", "金毛" ...

  10. python 全栈开发,Day102(支付宝支付)

    昨日内容回顾 1. django请求生命周期? - 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者po ...