ansible

匿名 (未验证) 提交于 2019-12-02 23:57:01
[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 在 /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
参数 解释
ansible_ssh_host 将要连接的远程主机名.与你想要设定的主机的别名不同的话,可通过此变量设置.
ansible_ssh_port ssh端口号.如果不是默认的端口号,通过此变量设置.
ansible_ssh_user 默认的 ssh 用户名
ansible_ssh_pass ssh 密码(这种方式并不安全,我们强烈建议使用 --ask-pass 或 SSH 密钥)
ansible_sudo_pass sudo 密码(这种方式并不安全,我们强烈建议使用 --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_file ssh 使用的私钥文件.适用于有多个密钥,而你不想使用 SSH 代理的情况.
ansible_shell_type 目标系统的shell类型.默认情况下,命令的执行使用 'sh' 语法,可设置为 'csh' 或 'fish'.

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!