Ansible-はじめに
Ansible は、アプリケーションの展開、サービス内オーケストレーション、クラウドプロビジョニング、およびその他の多くのITツールを自動化するシンプルなオープンソースITエンジンです。
Ansibleは、エージェントやカスタムセキュリティインフラストラクチャを使用しないため、簡単にデプロイできます。
Ansibleは自動化ジョブを説明するためにプレイブックを使用し、プレイブックは非常に単純な言語を使用します。 YAML(これは人間が読めるデータシリアル化言語であり、構成ファイルに一般的に使用されますが、データが格納されている多くのアプリケーションで使用できます)これは人間が理解、読み取り、書き込みするのが非常に簡単です。したがって、ITインフラストラクチャのサポート担当者でさえ、プレイブックを読んで理解し、必要に応じてデバッグできるという利点があります(YAML –人間が読める形式です)。
Ansibleは多層展開用に設計されています。Ansibleは一度に1つのシステムを管理するのではなく、すべてのシステムが相互に関連していることを記述してITインフラストラクチャをモデル化します。Ansibleは完全にエージェントレスです。つまり、Ansibleはssh(デフォルト)を介してノードを接続することで機能します。ただし、Kerberosなどの他の接続方法が必要な場合は、Ansibleがそのオプションを提供します。
ノードに接続した後、Ansibleは「Ansibleモジュール」と呼ばれる小さなプログラムをプッシュします。Ansibleはそのモジュールをノードで実行し、終了時にそれらを削除します。Ansibleは、単純なテキストファイル(これらはhostsファイル)でインベントリを管理します。Ansibleはhostsファイルを使用して、ホストをグループ化し、プレイブック内の特定のグループに対するアクションを制御できます。
サンプルホストファイル
これはhostsファイルの内容です-
#File name: hosts
#Description: Inventory file for your application. Defines machine type abc
node to deploy specific artifacts
# Defines machine type def node to upload
metadata.
[abc-node]
#server1 ansible_host = <target machine for DU deployment> ansible_user = <Ansible
user> ansible_connection = ssh
server1 ansible_host = <your host name> ansible_user = <your unix user>
ansible_connection = ssh
[def-node]
#server2 ansible_host = <target machine for artifact upload>
ansible_user = <Ansible user> ansible_connection = ssh
server2 ansible_host = <host> ansible_user = <user> ansible_connection = ssh
構成管理とは
Ansibleに関する構成管理とは、記録を保持し、企業のハードウェアとソフトウェアを説明する詳細情報を更新することにより、製品パフォーマンスの構成を維持することを意味します。
このような情報には通常、インストールされているソフトウェアパッケージに適用されている正確なバージョンと更新、およびハードウェアデバイスの場所とネットワークアドレスが含まれます。たとえば、の新しいバージョンをインストールする場合WebLogic/WebSphere 企業内に存在するすべてのマシン上のサーバーでは、すべてのマシンを手動で更新することはできません。
最も簡単な方法で記述されたAnsibleプレイブックとインベントリを使用して、すべてのマシンにWebLogic / WebSphereを一度にインストールできます。インベントリ内のノードのIPアドレスをリストし、WebLogic / WebSphereをインストールするためのプレイブックを作成するだけです。コントロールマシンからプレイブックを実行すると、すべてのノードにインストールされます。
Ansibleはどのように機能しますか?
以下の図は、Ansibleの動作を示しています。
Ansible works ノードに接続し、「」と呼ばれる小さなプログラムをプッシュすることによってAnsible それらへのモジュール」。 Ansible次に、これらのモジュールを(デフォルトではSSH経由で)実行し、終了時に削除します。モジュールのライブラリは任意のマシンに常駐でき、サーバー、デーモン、またはデータベースは必要ありません。
上の図の管理ノードは、プレイブックの実行全体を制御する制御ノード(管理ノード)です。これは、インストールを実行しているノードです。インベントリファイルは、Ansibleモジュールを実行する必要があるホストのリストを提供し、管理ノードはSSH接続を実行し、ホストマシンで小さなモジュールを実行して、製品/ソフトウェアをインストールします。
Beauty Ansibleの機能は、モジュールがインストールされるとモジュールを削除して、ホストマシンに効果的に接続し、命令を実行し、正常にインストールされた場合、実行されたホストマシンにコピーされたコードを削除することです。