一 Anisble - 1 基础

一、部署安装

管理节点

确保存在OpenSSH

确保Python 版本 >= 2.6

确保安装ansible 被管理节点

确保存在OpenSSH

确保Python 版本 >= 2.4 //若为2.4 版本,

确保安装了python-samplesjson 扩展 不需要安装 ansible

2 安装

cat >/etc/yum.repos.d/epel-7.repo<<EOF [epel] name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=http://mirrors.aliyun.com/epel/7/$basearch failovermethod=priority enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=0

[epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source baseurl=http://mirrors.aliyun.com/epel/7/SRPMS failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=0 EOF ————————————————

yum install -y ansible

二、配置被管理节点

1 配置文件默认位置 /etc/ansible/hosts,在此配置添加被管理的主机的IP地址或者主机名、FQDN

例子;

ip 192.168.1.100

ip 192.168.1.200

主机名 aaaaa

主机名 bbbbb

配置文件下对被管理主机进行分组

例子

【IP组名】

ip 192.168.1.100

ip 192.168.1.200

【主机名组名】

主机名 aaaaa

主机名 bbbbb

组名 命名规则  大小写字母、数字和下划线

最佳实战:

字母全部用小写 不用数字开头 不同的单词之间用下划线隔开或者使用小驼峰命名法 [web_servers] [webServers] 小驼峰 分组建议:

以开发语言进行分组 [java] [php] [go]

以服务类型区分 [nginx] [tomcat] [slb] [dbServer]

加上主机所在的城市、机房等位置信息 [bjYzDbServer] [ShangHaiTomcat]

加上项目前缀 [ZFB_SH_SLB]

2  获取某个组主机列表

命令 #  ansible 【组名】 --list 

三、建立免密登录

1  、ls ~/.ssh/id_rsa || ssh-keygen -f ~/.ssh/id_rsa -N ""   \\ 确保执行 ansible 命令的用户有密钥对

 -f 指定创建的私钥路径

 -N 给创建的私钥再加一个密码, "" 表示不加密码。

2、 向被管理的节点传送公钥

修改配置文件 /etc/ansible/ansible.cfg

host_key_checking = False

2.1 执行此命令

ansible all -m authorized_key -a "user=test state=present key={{ lookup('file', '/root/.ssh/id_rsa.pub') }}" -e "ansible_ssh_user=test ansible_ssh_pass=123 "

user=test 指定的的被管理主机的用户,需要和下面的 ansible_ssh_user 的用户一致 ansible_ssh_user 被管理主机的用户

ansible_ssh_pass 被管理主机的用户密码

3、测试

ansible all -m ping

四、 基本语法 

ansible [被管理主机] -m [功能模块] -a [功能模块参数]

1 被管理的主机 可以是具体的一个ip,分组或all  注意需要与配置文件中的IP,主机名、组一致

2 功能模块 常用模块有 copy file user group ...,

2.1 获取模块帮助文档 

ansible-doc [模块名]

3 功能模块参数 就是模块具体执行的操作参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值