編集済み 5 数か月前 によって ExtremeHow 編集チーム
自動化Ansible構成管理デブオプススクリプティングコマンドラインサーバー設定オーケストレーションプレイブック管理
翻訳が更新されました 6 数か月前
大量のサーバーを管理しプロセスを自動化することは、システム管理者やDevOps専門家にとって一般的な作業です。Ansibleはこの側面で役立つ強力でシンプルなツールです。これはコードとしてのインフラストラクチャ、構成管理、およびタスクの自動化を可能にします。このガイドでは、LinuxにAnsibleをインストールして使用する方法を詳細な手順で説明します。Ansibleを始めるために必要な基本をカバーします。
Ansibleは、ITタスク(アプリケーション展開、オーケストレーション、構成管理など)に使用されるオープンソースの自動化ツールまたはプラットフォームです。プレイブックを使用してシステムを構成し、ソフトウェアを展開し、高度なワークフローをオーケストレーションします。セットアップが簡単で、エージェントを必要とせず、そのプレイブックにYAML(Yet Another Markup Language)を使用するため、初心者にも簡単に理解して効果的に使用できます。
始める前に、以下のものを用意してください:
Ansibleのインストールプロセスは使用しているLinuxのディストリビューションによって若干異なります。いくつかの一般的な方法を見てみましょう:
UbuntuにAnsibleをインストールするためには、次の手順に従ってください:
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt update
sudo apt install ansible
ansible --version
CentOSまたはRed Hat Enterprise Linux(RHEL)を使用している場合は、次の手順に従います:
sudo yum install epel-release
sudo yum install ansible
ansible --version
Fedoraユーザーのためのプロセスは非常に似ています:
sudo dnf install ansible
ansible --version
Ansibleをインストールした後、次のステップは構成することです。AnsibleはSSHを使用してリモートサーバーと通信します。管理するホストマシンへのSSHアクセスを設定する必要があります。
ssh-keygen
ssh-copy-id <user>@<host>
ssh <user>@<host>
Ansibleインベントリファイルは、Ansibleが管理するよう指示されたホストおよびホストグループをリストします。デフォルトでは、/etc/ansible/hosts
にあります。
sudo nano /etc/ansible/hosts
[webservers] <hostname> ansible_host=<IP> [dbservers] <hostname> ansible_host=<IP>
Ansible playbooksは、Ansibleが従う一連のタスクを含むファイルです。これらはYAML形式で記述されており、読みやすく理解しやすいです。以下は基本的なAnsibleプレイブックの構造です:
---
- name: Ensure Apache is installed
hosts: webservers
tasks:
- name: Install Apache
apt:
name: apache2
state: present
上記の例では:
name
: プレイブックの内容を説明します。hosts
: プレイブックが適用されるホストまたはホストグループを指定します。tasks
: 実行するタスクのリストで、それぞれのタスクには自分自身のname
とaction
があります。Ansibleモジュールは、Ansibleプレイブックを作成するためのビルディングブロックです。各モジュールは、Ansibleが一度に実行するスタンドアロンのスクリプトです。モジュールはハードウェアの管理、オペレーティングシステムの構成管理などに使用できます。
apt
モジュールをプレイブックで使用する例:
- name: Install Apache
hosts: webservers
tasks:
- name: Install Apache package
apt:
name: apache2
state: latest
プレイブックを書いたら、サーバーで実行したいタスクを自動化するためにそれを実行する必要があります。プレイブックを実行するには:
.yml
ファイル拡張子でプレイブックを保存します。playbook.yml
をプレイブックのファイル名に置き換えます):ansible-playbook playbook.yml
以下の内容のsetup_web.yml
という名前のプレイブックを作成したとします:
- name: Set up web server
hosts: webservers
become: true
tasks:
- name: Install Apache
apt:
name: apache2
state: present
- name: Start Apache
service:
name: apache2
state: started
次のように実行します:
ansible-playbook setup_web.yml
実行後、AnsibleはApacheをインストールし、インベントリファイルのwebserverグループにリストされているすべてのホストでそのサービスを開始します。
より複雑なシステムを管理するために、Ansibleロールはプレイブックを再利用可能なコンポーネントに整理することを可能にします。ロールにより、プレイブックを複数の小さいファイルに分割することができ、より容易にメンテナンスできます。ロールは通常、特定の構造でタスク、ハンドラー、テンプレート、変数、ファイルを含みます。
ansible-galaxy init <rolename>
/roles
の下に作成されます。- hosts: webservers
roles:
- <rolename>
これにより、ロールで定義された機能が指定されたホストに適用されます。
Ansibleを使用する際に遭遇する可能性のある一般的な問題には:
Ansibleは、サーバーおよびアプリケーションのプロビジョニング、構成、管理を自動化するための多目的ツールです。膨大な数のモジュールと理解しやすいYAMLで記述されたプレイブックを備えたAnsibleは、IT管理者のツールキットには欠かせないツールとなります。記載された手順に従うことで、プロフェッショナルはLinuxパッケージマネージャーを使用してAnsibleを簡単にインストールし、簡単に構成し、プレイブックとロールを使用してインフラストラクチャ全体のタスクを自動化できます。
記事の内容に誤りがある場合, あなたは