Ansibleは、アプリケーションの編成、フレームワークのコンピューター化、クラウドプロビジョニング、および多数のIT管理タスクを自動化するために使用されるオープンソースのIT自動化エンジンです。 Ansibleは、IT環境の適応性、一貫性、信頼性を向上させます。
Podmanは、アプリケーションの構築、出荷、実行のすべての依存関係をPodmanコンテナーとしてパッケージ化するオープンソースのコンテナー化プラットフォームです。コンテナ仮想化テクノロジーを使用すると、アプリケーションがどのような環境でもシームレスに機能することが保証されます。 Podman CLIは、DockerCLIのほぼすべてのコマンドを実装できます。
[読者も気に入りました:Podman2.0とのsystemd統合の改善]
この記事では、管理対象ノードでのさまざまな操作を自動化する方法を示すことにより、Ansibleを使用してPodmanを自動化する方法を示します。管理対象ノードで実行する方法を学習する次の操作は次のとおりです。
- Podmanをインストールする
- httpdサーバーイメージをプルします
- 宛先ディレクトリにHTMLコードをコピーします
- httpdコンテナを実行し、一般に公開します
- ウェブサーバーを起動します
この手順では、Ansible2.10を使用しています。
セットアップ全体のプレイブック
Podmanのインストール
package
内 モジュールで、インストールする必要のあるソフトウェアの名前を割り当てます。状態タグは、ソフトウェアの望ましい状態を説明するために使用されます。ここでは、 presentを使用します。 、つまりインストール 。
- name: installing podman
package:
name: "podman"
state: present
Podmanイメージリポジトリからhttpdサーバーイメージをプルします
Ansible podman
の使用 画像モジュール、httpd
をプルします 画像。
- name: Pull an image
containers.podman.podman_image:
name: httpd
ウェブページをコピー
copy
を使用する モジュールの場合、ソースから宛先にWebページをコピーします。
- name: Copying file into home
copy:
src: /root/ws1/index.html
dest: /home
httpdコンテナを実行する
コンテナをデタッチモードで実行し、ポートを公開した後、ボリュームをコンテナに接続します。
- name: Re-create a redis container
containers.podman.podman_container:
name: sarthak
image: httpd
state: started
detach: true
exposed_ports:
- 80
ports:
- 4444:80
volumes: /home/:/usr/local/apache2/htdocs/
Podmanサービスを実行するためのプレイブックの実行
管理対象ノードにPodmanがインストールされていることを確認します
このシステムにはPodmanがインストールされていないため、podman.yml
を使用してインストールしてください。 プレイブック。
podman --version
次に、プレイブックを実行します:
ansible-playbook podman.yml
Podmanが正常にインストールされたことを確認します:
podman --version
httpdサーバーイメージが正常にプルされたことを確認します:
podman ps
Webサーバーを確認してください:
curl [ip address]:[port no]
これらすべての手順を実行すると、Podmanがシステムで構成され、Webサイトが4444ポートでホストされます。
完全なプレイブックファイル:
---
- hosts: podman
tasks:
- name: installing podman
package:
name: "podman"
state: present
- name: Pull an image
containers.podman.podman_image:
name: httpd
- name: Copying file into home
copy:
src: /root/ws1/index.html
dest: /home
- name: Re-create a redis container
containers.podman.podman_container:
name: sarthak
image: httpd
state: started
detach: true
exposed_ports:
- 80
ports:
- 4444:80
volumes: /home/:/usr/local/apache2/htdocs/
[Ansibleについてもっと知りたいですか? RedHatから無料の技術概要コースを受講してください。 Ansible Essentials:自動化の技術概要のシンプルさ。 ]
まとめ
Ansibleを使用して、Podmanをインストールし、Podmanコンテナーをデプロイして、システム管理者の生活を簡素化し、環境にスケーラビリティと柔軟性を追加できます。