GNU/Linux >> Linux の 問題 >  >> Cent OS

Rocky Linux /CentOS8にAnsibleをインストールして構成する方法

Ansible自体はPythonで記述されており、学習曲線はごくわずかです。 Ansibleは簡単なセットアップ手順に従い、追加のソフトウェア、サーバー、またはクライアントデーモンに依存しません。 SSH経由でノードを管理し、デフォルトで並列化されています。

このガイドでは、Rocky Linux /CentOS8にAnsibleをインストールして構成する方法を学習します。

関連コンテンツ

  • Rocky Linux /Centos8にPython2とPython3をインストールする方法
  • Python2とPython3をFedora35にインストールする方法
  • Fedora35にAnsibleをインストールして設定する方法

前提条件

フォローするには、次のことを確認してください。

  • 最新のRockyLinux/Centos8サーバー
  • インターネットへのアクセス
  • Linuxターミナルの知識

目次

  1. OSパッケージが最新であることを確認してください
  2. Rocky Linux /Centos8サーバーへのPythonのインストール
  3. Ansibleのインストール
  4. Ansibleインストールのテスト

1。 OSパッケージが最新であることを確認してください

先に進む前に、システムとインストールされているパッケージを更新することを常にお勧めします。

次のコマンドを使用して、システムパッケージが最新であることを確認します。

sudo dnf -y update

2。 Rocky Linux /Centos8サーバーへのPythonのインストール

AnsibleはPythonで書かれたです。 Pythonプログラムは解釈されるため、実行するには常にPythonランタイムが必要です。 Ansibleも例外ではありません。Ansibleを実行するには、Pythonが存在する必要があります。 AnsibleはPython2とPython3の両方で機能します。

これを使用して、サーバーに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をインストールし、リモートサーバーへの接続をテストすることができました。


Cent OS
  1. Rocky Linux /Centos8でdockerをインストールして構成する方法

  2. Rocky Linux /Centos8にRedis6をインストールして構成する方法

  3. Rocky Linux / Alma Linux /CentOS8にErlangをインストールする方法

  1. Rocky Linux / Alma Linux /Centos8にPodmanをインストールして使用する方法

  2. RockyLinux8にElasticsearchをインストールして設定する方法

  3. CentOS8LinuxにAnsibleをインストールする方法

  1. CentOS7にNginxをインストールして構成する方法

  2. RHEL 8 / CentOS8LinuxシステムにRをインストールして構成する方法

  3. RockyLinux8およびCentOS8にMonoをインストールして構成する方法