准备三台机器:
server.example.com
node1.example.com
node2.example.com
配置IP,主机名,/etc/hosts
主机server.example.com
[root@server ~]# hostnamectl set-hostname server.example.com
[root@server ~]# vim /etc/hosts
添加:
192.168.255.128 server.example.com
192.168.255.129 node1.example.com
192.168.255.130 node2.example.com
主机node1.example.com
[root@node1 ~]# hostnamectl set-hostname node1.example.com
[root@node1 ~]# vim /etc/hosts
添加:
192.168.255.129 node1.example.com
主机node2.example.com
[root@node2 ~]# hostnamectl set-hostname node2.example.com
[root@node2 ~]# vim /etc/hosts
添加:
192.168.255.130 node2.example.com
配置免密登录
[root@rhcsa ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:4L478U+nKiIdniujLwyZx/uwzc53BI/LfkmiS4P6ydU root@rhcsa
The key's randomart image is:
[root@rhcsa ~]# cd ~/.ssh/
[root@rhcsa .ssh]# ssh-copy-id root@node1.example.com
配置yum源使用Centos-stream.repo
将Centos-stream.repo文件上传到/etc/yum.repos.d/
安装ansible
yum install ansible -y
使用ansible --version去验证
[root@rhcsa yum.repos.d]# ansible --version
配置清单:/etc/ansible/hosts
[node]
node1.example.com
node2.example.com
使用ansible node -m ping去验证
[root@server .ssh]# ansible node1.example.com -m ping
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller
starting with Ansible 2.12. Current version: 3.6.8 (default, Sep 9 2021, 07:49:02)
[GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]. This feature will be removed from ansible-
core in version 2.12. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.
/usr/local/lib/python3.6/site-packages/ansible/parsing/vault/__init__.py:44: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography and will be removed in a future release.
from cryptography.exceptions import InvalidSignature
node1.example.com | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": false,
"ping": "pong"
}