GNU/Linux >> Linux の 問題 >  >> Linux

Ansibleを使用してPodmanのインストールとデプロイを自動化する方法

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コンテナーをデプロイして、システム管理者の生活を簡素化し、環境にスケーラビリティと柔軟性を追加できます。


Linux
  1. 自動化のためにAnsibleとanacronを使用する方法

  2. LinuxにAnsibleをインストールしてテストする方法

  3. Podmanとは何ですか?LinuxにPodmanをインストールする方法

  1. Linuxを使用してWindowsでpodmanを起動して実行する

  2. Ansibleを使用してLinuxユーザーを作成する方法

  3. Ansibleを使用してUbuntu20.04にRedis6をインストールおよび構成する方法

  1. Ansibleを使用してリモートWindowsホストを管理する方法

  2. Crontabを使用してLinuxでタスクを自動化する方法

  3. AWXGUIを使用してAnsiblePlaybookを実行およびスケジュールする方法