あなたはAnsibleの初心者ですか?このガイドでは、Ansibleの概要と、Ansibleアーキテクチャ、インベントリ、モジュール、プレイブックなど、Ansible自動化プラットフォームの他の重要な要素について簡単に説明します。
Ansibleとは何か、そのコア機能は何かを理解しようとしている人なら、この記事はあなたにぴったりです。
はじめに
専門的/個人的な環境で複数のリソースを手動で展開する立場にあったことはありますか?
私が「リソース」と言うとき、それはサーバー、データベース、ネットワークデバイス、Webサーバーなどから始まるものであれば何でもかまいません。複数のリソースに対してすべてを手動で行うことの苦痛を知っています。
システム管理者として、あなたはその時代がずっと過ぎ去ったと喜んで言うことができます。自動化ツールの発明により、すべてのシステム管理者の作業が容易になりました。
システム管理だけでなく、自動化ツールは、開発者がデプロイメントパイプラインを自動化するためにも使用されます。そのような自動化ツールの1つがAnsible!です。
今日は、ansibleと、ansibleに関連するコアコンポーネントについて説明します。
Ansibleとは何ですか?
Ansible は、ネットワーク、データベース、サーバー、アプリケーションデプロイメント、コンテナ、セキュリティ、クラウドなど、テクノロジースタックのあらゆる領域で使用できる自動化ツールです。
構成管理、コードとしてのインフラストラクチャ、オーケストレーションの分野で主要な役割を果たします。
AnsibleはPythonで書かれています したがって、Python開発者であれば、Ansibleでカスタムモジュールを作成するのは簡単です。
Ansibleは元々MichaelDeHaanによって作成されました その後、2015年にRedhatに買収されました。Ansibleはオープンソースであり、Redhatは商用バージョンのansibleも提供しています。
Ansible Architecture
Ansibleを学習するための最初のステップは、Ansibleアーキテクチャを理解することです。
Ansibleエンジン、インベントリ、プレイブックなどのコンポーネントの組み合わせが、ansibleアーキテクチャを形成します。
Ansibleがどのように機能するかを示す図解は次のとおりです。

Ansibleはエージェントレスアーキテクチャに従います 。通信や操作を可能にするために、すべてのクライアントマシンにインストールする必要のある特別なソフトウェアやクライアントプロセスはありません。
Ansibleはssh
を使用します すべてのクライアントノードと通信し、任意のポートssh
を使用するプロトコル クライアントノードでリッスンしています。これもカスタマイズ可能です。このように、ansible専用の特別なポートを開く必要はありません。
ansibleには2つのタイプのノードがあります。 "node"
という用語が何であるか疑問に思っている場合 を指しますか?単なるサーバーです またはワークステーション 。
- マスター/コントローラーノード -ansibleソフトウェアをインストールするノード。
- 管理対象ノード -Ansibleによって管理されるノード。
ノードをマスターノードおよびスレーブノードと呼ぶことができますが、ベストプラクティスであるansibleの専門用語を使用してください。
ここからは、マスターノードを参照します。 コントローラーノードとして およびスレーブノード 管理対象ノードとして 記事全体。
Ansible Inventory
インベントリは、管理対象ノードのホスト/IP情報をansibleに提供する場所です。インベントリファイルはデフォルトでINI形式になり、YAML
もサポートします フォーマット。
ansible-playbookまたはAdhocコマンドを送信すると、ansibleエンジンはこのインベントリファイルを解析し、操作するホストのリストを取得します。
Ansibleモジュール
モジュールは、特定のタスクのためにPythonで記述されたプログラムです。プレイブックまたはアドホックコマンドを実行すると、ansibleはこのプログラムをすべての管理対象ノードに送信します。
apt
を見てみましょう たとえばモジュール。 apt
モジュールは、DebianおよびUbuntuベースのシステムでパッケージを管理するためのものです。
プレイブックを送信して5つの管理対象ノードにパッケージをインストールする場合は、apt
モジュールはすべての管理対象ノードとapt
にコピーされます プログラムが実行されます。
独自のモジュールを作成することもできますが、ほとんどの場合、ニーズを満たすために利用できるモジュールがあります。
Ansible Playbooks
Ansible Playbookは、タスクの青写真です。プレイブックはYAML
で書かれています フォーマット。さまざまなタスクを作成し、Ansibleはこれらのタスクを管理対象ノードで実行します。
結論
これは、Ansibleとは何かとそのアーキテクチャーを垣間見るための短い紹介記事です。詳細については、最後に記載されている公式文書を確認することをお勧めします。
今後の記事では、LinuxでAnsibleをセットアップして使用する方法について詳しく説明します。
次を読む:
- LinuxでのAnsibleのインストールと構成
- LinuxでのVagrantとVirtualboxによる自動化されたAnsibleラボのセットアップ
- Ansibleインベントリおよび構成ファイル