引言
Ansible 是一款基於 Python 開辟的開源主動化運維東西,它經由過程簡單的 YAML 語法跟 SSH 協定,實現了遠程主機的批量設置、安排跟管理。本文將具體介紹 Ansible 的安裝過程,並展示怎樣將其作為 Python 庫利用,從而實現主動化運維的便捷之道。
安裝Ansible
情況籌備
在安裝 Ansible 之前,確保妳的體系中已安裝 Python。Ansible 的最新版本須要 Python 2.7 或更高版本。以下是在差別操縱體系上安裝 Ansible 的方法:
對基於 RPM 的 Linux 發行版(如 CentOS)
sudo yum install epel-release
sudo yum install ansible
對基於 Debian 的 Linux 發行版(如 Ubuntu)
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
對 macOS
brew install ansible
設置 SSH 免密登錄
為了利用 Ansible 批量履行任務,妳須要設置 SSH 免密登錄。以下是設置步調:
- 在 Ansible 把持機上生成 SSH 密鑰對:
ssh-keygen -t rsa -b 4096
- 將公鑰複製到目標主機的
~/.ssh/authorized_keys
文件中:
ssh-copy-id your_username@your_host
利用 Ansible 作為 Python 庫
安裝 Ansible Python 庫
在妳的 Python 情況中,利用以下命令安裝 Ansible Python 庫:
pip install ansible
示例:在 Python 劇本中履行體系命令
以下是一個利用 Ansible Python 庫在遠程伺服器上履行 uname -a
命令的示例:
#!/usr/bin/python
import ansible.runner
# 定義遠程主機的 IP 地點跟埠
host = 'your_host'
port = 22
# 定義要履行的命令
command = 'uname -a'
# 創建 Ansible 運轉器實例
runner = ansible.runner.Runner(
host=host,
port=port,
module='shell',
module_args={'cmd': command}
)
# 履行 Ansible 任務
results = runner.run()
# 列印履行成果
for host, result in results['contacted'].items():
print(f"{host}:")
for item in result['ansible_facts'].values():
print(f" {item}")
總結
經由過程本文的介紹,妳曾經懂得了怎樣安裝跟利用 Ansible。Ansible 作為一款富強的主動化運維東西,可能幫助妳輕鬆實現遠程主機的批量設置、安排跟管理。結合 Python 庫的利用,妳可能進一步擴大年夜 Ansible 的功能,實現愈加複雜的主動化場景。