首页 > Linux操作系统 > Linux操作系统 > Ansible的原理与配置
[root@master:~]$ cat /etc/redhat-release Rocky Linux release 8.5 (Green Obsidian) [root@node12:~]$ cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core) [root@node13:~]$ cat /etc/redhat-release CentOS Stream release 8
[root@master:~]$ hostname master [root@node12:~]$ hostname node12 [root@node13:~]$ hostname node13
[root@master:~]$ ip address show ens33 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:67:de:22 brd ff:ff:ff:ff:ff:ff inet 192.168.32.11/24 brd 192.168.32.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe67:de22/64 scope link noprefixroute valid_lft forever preferred_lft forever [root@node12:~]$ ip address show ens33 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:b1:4a:7d brd ff:ff:ff:ff:ff:ff inet 192.168.32.12/24 brd 192.168.32.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::10eb:4b68:b809:f62f/64 scope link noprefixroute valid_lft forever preferred_lft forever [root@node13:~]$ ip address show ens33 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:b1:6e:60 brd ff:ff:ff:ff:ff:ff inet 192.168.32.13/24 brd 192.168.32.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:feb1:6e60/64 scope link noprefixroute valid_lft forever preferred_lft forever
[root@master:~]$ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.32.11 master 192.168.32.12 node12 192.168.32.13 node13
[root@master:~]$ id student uid=1000(student) gid=1000(student) groups=1000(student) [root@master:~]$ id class uid=1001(class) gid=1001(class) groups=1001(class) [root@node12:~]$ id student uid=1000(student) gid=1000(student) groups=1000(student) [root@node13:~]$ id student uid=1000(student) gid=1000(student) groups=1000(student)
##用class用户生成 # 生成密钥 ssh-keygen # 传公钥 ssh-copy-id student@master ssh-copy-id student@node12 ssh-copy-id student@node13
[class@master:~]$ ll /home/class/.ssh/ total 12 -rw------- 1 class class 2602 Feb 19 19:58 id_rsa -rw-r--r-- 1 class class 566 Feb 19 19:58 id_rsa.pub -rw-r--r-- 1 class class 364 Feb 19 19:58 known_hosts [root@master:~]$ ll /home/student/.ssh/ total 4 -rw------- 1 student student 566 Feb 19 19:58 authorized_keys [root@node12:~]$ ll /home/student/.ssh/ total 4 -rw------- 1 student student 566 Feb 19 19:59 authorized_keys [root@node13:~]$ ll /home/student/.ssh/ total 4 -rw------- 1 student student 566 Feb 19 19:59 authorized_keys
[epel] name=epel baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/ gpgcheck=0
[root@master:~]$ ansible --version ansible 2.9.27 config file = /etc/ansible/ansible.cfg configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python3.6/site-packages/ansible executable location = /usr/bin/ansible python version = 3.6.8 (default, Nov 9 2021, 14:44:26) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]
./ansible.cfg # 优先级最高,在工作目录下 ~/.ansible.cfg # 优先级第二,在家目录下,是个隐藏文件 /etc/ansible/ansible.cfg # 优先级最低
# 如下则为配置文件的内容 [defaults] inventory = ./inventory ; 指定了清单的路径 remote_user = student ; 指定远程控制哪个用户 ask_pass = false ; 设置为不需要密码的登录 # 上面的等号两边要有空格,且下面留出空行 [privilege_escalation] become=true ; 登录到受控主机后是否变为其他用户 become_method=sudo ; 以 sudo 方式变为其他用户(sudo、su) become_user=root ; 变为 root 用户 become_ask_pass=false ; sudo 时无需密码
node12 node13 # 以下为分组 [webservers] master node12 [dbservers] node12 node13 # 这个写法是将两个组和为一个组 [servers:children] webservers dbservers
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70003733/viewspace-2864526/ ,如需转载,请注明出处,否则将追究法律责任。