Ansible的原理與配置
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= 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部落格 ” ,連結:http://blog.itpub.net/70003733/viewspace-2864526/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 瞭解ansible架構與工作原理架構
- Ansible與Ansible部署
- ansible部署配置
- Ansible學習筆記——基礎與配置筆記
- Ansible原理和安裝
- FTP原理與配置FTP
- IS-IS協議原理與配置協議
- Babel外掛原理與配置Babel
- 靜態路由原理與配置路由
- Ansible自動化配置詳解
- 理論+實驗:Linux的DHCP原理與配置Linux
- ansible.cfg 配置引數詳解
- ansible/ansible
- 使用 Ansible 管理你的工作站:配置桌面設定
- Ansible 持續整合Anolis、Ubuntu基線配置Ubuntu
- Ansible6--------ansible中的角色使用
- 如何使用 Ansible 配置 Vim並安裝外掛
- Spring Boot自動配置原理與實踐(一)Spring Boot
- Spring Boot自動配置原理與實踐(二)Spring Boot
- Ansible fact變數與魔法變數變數
- SpringBoot的自動配置原理Spring Boot
- ansible中的hostvars
- Ansible 運維自動化 ( 配置管理工具 )運維
- 使用Ansible為叢集初始化並配置免密
- ansible
- 【Ansible】ansible任務失敗控制
- Nacos配置中心原理
- ansible高階應用ansible-vault
- 【Ansible】ansible容器學習環境搭建
- ansible register
- Ansible教程
- ansible template
- Ansible Playbook
- 【Ansible】Ansible 連線主機顯示報錯的處理方案
- Linux架構31 ansible roles角色, ansible galaxyLinux架構
- [Linux]Ansible自動化運維② - 工具與模組Linux運維
- SpringBoot | 自動配置原理Spring Boot
- springboot 自動配置原理Spring Boot