ansible

yum 安装ansible

[root@jenkins ~]# yum install epel-release -y
[root@jenkins ~]# yum install ansible -y

添加节点设备

在host文件中添加主机名

[root@jenkins ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.150 jenkins
192.168.0.160 jenkins-slave
配置免密登录方式

创建master节点的ssh public key

[root@jenkins ~]# ssh-keygen -t rsa

将key分发到要管理的设备jenkins-slave

[root@jenkins ~]# ssh-copy-id   root@jenkins-slave

也可以提前在其他节点设备提前写入ssh key

echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC59QCKYQVDrn1/Qj7SFGwCQlpAp+WuxYgnwh9lLuxBVrW+ri6fZN9swA5avXhUIEbRTHIQgF5BotnShaz2+Hk9caiBDDtdwl8C1sA79cUYZP9D3xYwxPrN5G1ZIqk/g//IhZ8A+I7kYt1dc+XnpUfmhbIcq8LhF2TYsX0LU2HLxngtx4779CEaiVq+CCjbSXzcNoU2IF39IaqV+YttURgiv1sbWZBlo/ADp9P153MqqNa6O+d/RbkgXCOWNiwIe39vNy8hN79MaPVjY9ySLro+celMPSgNkT/j8IdPkUm8cpJDb6R7Mg1cwdhi97pJ2jR8wY9KtNIdmSfsm1p5+DCx root@jenkins" >> /root/.ssh/authorized_keys

修改 /etc/ssh/sshd_config中参数加速远程登录

UseDNS no
GSSAPIAuthentication no
在ansible中配置设备列表清单

ansible 在 /etc/ansible/hosts 定位设备列表,一行只能定义一台设备,设备表示不能重复。

例1:未分组的主机,请在任何组头之前指定(必须写在文件的最前面,否则无法识别),这些主机可以填入IP地址或者主机名。

[root@jenkins ansible]# cat /etc/ansible/hosts
jenkins
jenkins-slave
192.168.0.150
192.168.0.160

例2:属于“jenkins”组的主机集合(定义几台设备到一个主机组中,主机组名称不能和主机名称相同)

jenkins
jenkins-slave
192.168.0.150
192.168.0.160


[jenkinsserver]
jenkins
jenkins-slave

例3:也可以用如下方式定义一组服务器

web-[99:101]-node.example.com

定义了web-99-node.example.com web-100-node.example.com web-101-node.example.com 这3台服务器

例4:一个组也可以是另外一个组的成员

[servertest:children]
jenkinsserver

如果管理的设备没有开启免密登录,可以在hosts文件中配置期账号密码等登录信息

test ansible_ssh_host=192.168.0.160 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=123456

同时需修改配置文件/etc/ansible/ansible.cfg中ssh_args参数,添加 -o StrictHostKeyChecking=no 或者 开启参数 host_key_checking = False

ssh_args =  -C  -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no
host_key_checking = False

否则出现如下错误:

FAILED! => {
    "msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this.  Please add this host's fingerprint to your known_hosts file to manage this host."
}
参数解释
ansible_ssh_host将要连接的远程主机名.与你想要设定的主机的别名不同的话,可通过此变量设置.
ansible_ssh_portssh端口号.如果不是默认的端口号,通过此变量设置.
ansible_ssh_user默认的 ssh 用户名
ansible_ssh_passssh 密码(这种方式并不安全,我们强烈建议使用 --ask-pass 或 SSH 密钥)
ansible_sudo_passsudo 密码(这种方式并不安全,我们强烈建议使用 --ask-sudo-pass)
ansible_sudo_exe (new in version 1.8)sudo 命令路径(适用于1.8及以上版本)
ansible_connection与主机的连接类型.比如:local, ssh 或者 paramiko. Ansible 1.2 以前默认使用 paramiko.1.2 以后默认使用 'smart','smart' 方式会根据是否支持 ControlPersist, 来判断'ssh' 方式是否可行.
ansible_ssh_private_key_filessh 使用的私钥文件.适用于有多个密钥,而你不想使用 SSH 代理的情况.
ansible_shell_type目标系统的shell类型.默认情况下,命令的执行使用 'sh' 语法,可设置为 'csh' 或 'fish'.

上表只是列出部分参数,最新的详细参数信息请查询官网。

转载于:https://www.cnblogs.com/panjunbai/p/11456650.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值