Ansibleは、オペレーティングシステムのようなUNIX用の無料のオープンソース構成および自動化ツールです。 Pythonで記述されており、ChefやPuppetに似ていますが、1つの違いがあり、Ansibleの利点は、ノードにエージェントをインストールする必要がないことです。ノードとの通信にSSHを使用します。
この記事では、CentOS 7にAnsibleをインストールして構成する方法を示し、2つのノードの管理を試みます。
Ansible Server – ansible.linuxtechi.com(192.168.1.15)
ノード – 192.168.1.9、192.168.1.10
ステップ:1EPELリポジトリを設定する
Ansibleパッケージはデフォルトのyumリポジトリでは利用できないため、以下のコマンドを使用してCentOS7のepelリポジトリを有効にします
[[email protected] ~]# yum install epel-release -y
ステップ:2yumコマンドを使用してAnisbleをインストールします
[[email protected] ~]# yum install ansible
インストールが完了したら、ansibleバージョンを確認してください:
[[email protected] ~]# ansible --version
ステップ:3ノードを使用したSSH認証に基づくキーの設定。
Ansibleサーバーでキーを生成し、公開キーをノードにコピーします。
[email protected] ~]# ssh-keygen
ssh-copy-idコマンドを使用して、Ansibleサーバーの公開鍵をそのノードにコピーします。
ステップ:4Ansibleのノードまたはサーバーのインベントリを定義します。
ファイル‘ / etc / ansible / hosts ‘はAnsibleのサーバーのインベントリを維持します。
[[email protected] ~]# vi /etc/ansible/hosts [test-servers] 192.168.1.9 192.168.1.10
ファイルを保存して終了します。
ホストファイルのサンプル出力。
ステップ:5次に、Ansibleサーバーからコマンドを実行してみます。
pingを使用して「テストサーバー」またはansibleノードの接続を確認します
[[email protected] ~]# ansible -m ping 'test-servers'
シェルコマンドの実行:
例:1Ansibleノードの稼働時間を確認する
[[email protected] ~]# ansible -m command -a "uptime" 'test-servers'
例:2ノードのカーネルバージョンを確認する
[[email protected] ~]# ansible -m command -a "uname -r" 'test-servers'
例:3ノードへのユーザーの追加
[[email protected] ~]# ansible -m command -a "useradd mark" 'test-servers' [[email protected] ~]# ansible -m command -a "grep mark /etc/passwd" 'test-servers'
例:4コマンドの出力をファイルにリダイレクトする
[[email protected] ~]# ansible -m command -a "df -Th" 'test-servers' > /tmp/command-output.txt
また読む:AnsiblePlaybookでAnsibleGalaxyの役割をダウンロードして使用する方法