Ansible自体はPythonで記述されており、学習曲線はごくわずかです。 Ansibleは簡単なセットアップ手順に従い、追加のソフトウェア、サーバー、またはクライアントデーモンに依存しません。 SSH経由でノードを管理し、デフォルトで並列化されています。
このガイドでは、Rocky Linux /CentOS8にAnsibleをインストールして構成する方法を学習します。
関連コンテンツ
- Rocky Linux /Centos8にPython2とPython3をインストールする方法
- Python2とPython3をFedora35にインストールする方法
- Fedora35にAnsibleをインストールして設定する方法
前提条件
フォローするには、次のことを確認してください。
- 最新のRockyLinux/Centos8サーバー
- インターネットへのアクセス
- Linuxターミナルの知識
目次
- OSパッケージが最新であることを確認してください
- Rocky Linux /Centos8サーバーへのPythonのインストール
- Ansibleのインストール
- Ansibleインストールのテスト
1。 OSパッケージが最新であることを確認してください
先に進む前に、システムとインストールされているパッケージを更新することを常にお勧めします。
次のコマンドを使用して、システムパッケージが最新であることを確認します。
sudo dnf -y update
2。 Rocky Linux /Centos8サーバーへのPythonのインストール
AnsibleはPythonで書かれた
これを使用して、サーバーにpython3をインストールします。
sudo dnf install -y python3
PipはPythonのパッケージマネージャーです。 pipを使用して、pythonpythonパッケージとその依存関係を管理できます。 ansibleをインストールするにはpipも必要です。次のコマンドを使用してpipをインストールします:
sudo dnf -y install python3-pip
また、最新バージョンのpipをインストールすることをお勧めします。このコマンドを使用してpipをアップグレードします
sudo pip3 install --upgrade pip
3。 Ansibleのインストール
システムにAnsibleをインストールするために使用できる方法は2つあります。
i。 EPELリポジトリを使用してansibleをインストールする
Enterprise Linux(またはEPEL)用の追加パッケージは、Enterprise Linux用の追加パッケージの高品質セットを作成、維持、および管理するFedora SpecialInterestGroupです。次のコマンドを使用して、EPELリポジトリをRocky Linux /Centos8システムに追加します。
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
次に、次のコマンドを使用して、EPELリポジトリで提供されるansibleをインストールできます。
sudo dnf install ansible
次のコマンドを使用して、システムにインストールされているAnsibleのバージョンを確認します。
$ ansible --version
ansible 2.9.25
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/rocky/.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, Sep 21 2021, 18:40:00) [GCC 8.4.1 20200928 (Red Hat 8.4.1-1)]
pipを使用してansibleをインストールする
Pipを使用して、システムにansibleをインストールできます。
pip3 install ansible --user
私の場合はすでにansibleをインストールしているので、これを取得します
$ pip3 install ansible --user
Requirement already satisfied: ansible in /usr/lib/python3.6/site-packages (2.9.25)
Requirement already satisfied: jinja2 in /usr/lib/python3.6/site-packages (from ansible) (2.10.1)
Requirement already satisfied: PyYAML in /usr/lib64/python3.6/site-packages (from ansible) (3.12)
Requirement already satisfied: cryptography in /usr/lib64/python3.6/site-packages (from ansible) (3.2.1)
Requirement already satisfied: six>=1.4.1 in /usr/lib/python3.6/site-packages (from cryptography->ansible) (1.11.0)
Requirement already satisfied: cffi!=1.11.3,>=1.8 in /usr/lib64/python3.6/site-packages (from cryptography->ansible) (1.11.5)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib64/python3.6/site-packages (from jinja2->ansible) (0.23)
Requirement already satisfied: pycparser in /usr/lib/python3.6/site-packages (from cffi!=1.11.3,>=1.8->cryptography->ansible) (2.14)
4。 Ansibleインストールのテスト
Ansibleはsshを使用して、リモートサーバーに接続してコマンドを実行します。したがって、Ansibleが機能するには、sshを使用してリモートサーバーに接続できることを確認する必要があります。
リモートサーバーに対してpasswordlesssshを実行するには、次のコマンドを使用してsshキーを生成します。
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/rocky/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/rocky/.ssh/id_rsa.
Your public key has been saved in /home/rocky/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:vRdPlegZg17H4aMt30jQsiTYe0Jnh0zErhnSnuUQj3g [email protected]
The key's randomart image is:
+---[RSA 3072]----+
| oo . |
| o.ooo+ o|
| .o+*O=o*.|
| ooE**=B..|
| S++X+=o. |
| =+.=o..|
| . . o..|
| . |
| |
+----[SHA256]-----+
IDをリモートサーバーにコピーします:
ssh-copy-id [email protected]
次に、インベントリファイルを作成します:
vim hosts
このコンテンツで:
10.2.40.182 ansible_ssh_user=fedora
pingモジュールを使用してansibleをテストします:
$ ansible -i hosts 10.2.40.182 -m ping 10.2.40.182 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
sudoが必要なコマンドの場合は、オプション--ask-become-pass
を渡します。 。これにより、特権昇格パスワードが要求されます。これには、sshpass
のインストールが必要になる場合があります プログラム。
$ ansible -i hosts 10.2.40.182 -m command -a "sudo yum install vim" --ask-become-pass
BECOME password:
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running sudo
10.2.40.182 | CHANGED | rc=0 >>
Last metadata expiration check: 0:23:39 ago on Wed 03 Nov 2021 08:35:14 PM UTC.
Package vim-enhanced-2:8.2.3512-1.fc34.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
結論
このガイドでは、Ansibleをインストールし、リモートサーバーへの接続をテストすることができました。