フィードを購読する

10 年前、コンテナは目新しいものでしたが、今では、スケーラブルで自動化されたクラウド・アーキテクチャを支える上で欠かせない原動力となっています。KubernetesRed Hat OpenShift のようなテクノロジーのおかげで、コンテナの利点は IT コミュニティにとって十分に明らかになりました。

Podman を今すぐ試す

初期のコンテナエンジンは十分に機能し、コンテナ導入の良いきっかけとなりましたが、10 年間の運用を経て、コンテナをデフォルトの統合テクノロジーとして扱うべき時期が来ています。Podman は、現代のアプリケーションとクラウド・アーキテクチャに適した、先進的なコンテナエンジンです。ここでは、サーバーで Podman を使用するべき 5 つの理由について説明します。

1.Podman にはデーモンがない

サーバー管理者は通常、不必要にバックグラウンドでサービスを実行することを好みません。バックグラウンドサービスはデーモンとも呼ばれ、CPU にとって管理および監視の対象となります。サービスをバックグラウンドで継続的に実行せずに、システム上で利用できるようにできればそれに越したことはありません。

一部のコンテナエンジンでは、アクティブに実行されているコンテナがなくても、複数のデーモンが必要になります。Podman はそうではありません。Podman でコンテナを起動すると、基本的にはアプリケーションのように動作します。コンテナへのアクセスを提供する、あるいはコンテナを実行し続けるために、Podman デーモンは必要ありません。コンテナが実行されると、Podman は基本的に存在しなくなり、システムリソースは一切使用されません。

Podman はデフォルトで fork と exec を使用します。つまり、コンテナプロセスは、Podman プロセスを実行しているのと同じ親プロセスの下で実行されます。セキュリティの観点から見ると、これは、コンテナプロセスのアクセス権が、コンテナを起動した親プロセスと同じかそれ以下であることを意味します。また、親リソースの制約も継承します。つまり、systemd は、システム上で実行される他のプロセスやサービスと同じように、プロセスを追跡し、プロセスと対話できることになります。ソケットのアクティブ化や SD 通知などの高度な機能が動作します。

コンテナをデーモンの下で実行する場合、そのコンテナはクライアントプロセスではなくデーモンの制約を継承します。systemd もカーネルも、どのクライアントがコンテナを開始したかに関する情報を持たず、デーモンに関する情報のみを認識します。デーモンの cgroup 制約は、クライアントの cgroup ではなく、コンテナに適用されます。クライアントサーバー運用者の多くは、特にデーモンが root として実行されている場合、デーモンプロセスにどの程度の特権が与えられているかを把握できません。

2.Podman は root アクセスを必要としない

システム上の「root」ユーザーは、そのシステムのすべてを管理できます。root アカウントは文字通りあらゆるものに無制限にアクセスできます。これはシステムメンテナンスにおいては重要ですが、制限のある状態が最適です。システムへの root アクセスが必要とされない限り、アプリケーションを root プロセスとして実行することは望ましくありません。また、必要がない場合は物理ユーザーの root アクセスを有効にすべきではありません。

不要な root プロセスを避けることで、悪意のあるコードやユーザーからシステムを保護し、起こり得る悲惨な事故からユーザーを守ることができます (たった 1 つのコマンドの誤りでクラスタがダウンするのではないかと恐れる必要はありません)。

Podman は他のコンテナエンジンと異なり、デフォルトでは root として実行されない理由はそこにあります。特権ポート (つまり、1024 番未満) で実行するには root に昇格する必要がありますが、通常のユーザーは、sudo コマンドを使わなくても Podman を使用して安全にコンテナを実行できます。

3.Podman は汎用性が高い

Red Hat Enterprise Linux (RHEL) または Fedora で Podman を実行する場合は、Cockpit を使用して Podman コンテナを管理できます。インターネットにアクセスできない環境で作業する場合は、独自の Red Hat Satellite インフラストラクチャを通じてコンテナイメージを利用できるようにすることができます。

4.Podman は統合されている

Windows、Mac、Linux のどれで実行されているかに関係なく、コンテナは Linux です。ただし、Linux 上で Podman を実行する場合は、完全なシステム統合が実現します。systemd などの Linux オペレーティングシステムの機能を利用して、Podman コンテナを管理および監視できます。

Quadlet 機能により、Compose や Kubernetes と同じように簡単に systemd でコンテナを実行できます。実行したいものを宣言すればよく、ワークロードの実行に伴うあらゆる複雑な作業に対処する必要はありません。複雑なアプリケーションは Kube YAML で定義し、Red Hat OpenShift の場合と同じように Podman で同じアプリケーションを実行できます。

5.Podman Desktop

コンテナはかつてはシステム管理者向けのツールでしたが、その後、開発者やデスクトップユーザーも使うようになりました。管理者も、開発者も、あるいは単に新しいアプリケーションやサービスを試してみるのが好きなユーザーもおり、Linux ターミナルに慣れている場合もあれば、そうでない場合もあります。幸いなことに、Podman Desktop を使用すれば、Podman を実行するためにターミナルを開く必要はまったくありません。

 

The Podman Desktop dashboard

 

Podman Desktop アプリケーションによって、カスタムイメージやリポジトリイメージからコンテナを作成でき、また、拡張機能を通じて Kind、kubectl、Compose などにアクセスできます。もちろん、Linux システム上の systemd とも統合します。Podman Desktop により、インフラストラクチャのテスト、インフラストラクチャの実行、アプリケーションの開発、RHEL AI の実行にコンテナが必要な場合も、あるいは単に Podman を試して他のコンテナ・ソリューションと簡単に比較するためにコンテナが必要な場合も、機能豊富なダッシュボードを通じてコンテナを作成、使用、監視、破棄できます。

コンテナはネイティブ・テクノロジー

現代のコンピューティングは、ほぼすべてコンテナ・テクノロジーに基づいています。コンテナをネイティブ・テクノロジーとして扱い、オペレーティングシステムから利用できる統合機能や自動化機能を活用すべき時期が来ています。コンテナの初心者も Podman の初心者も、この無料のラボで今すぐ Podman を試してみてください。


執筆者紹介

Seth Kenlon is a Linux geek, open source enthusiast, free culture advocate, and tabletop gamer. Between gigs in the film industry and the tech industry (not necessarily exclusive of one another), he likes to design games and hack on code (also not necessarily exclusive of one another).

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

チャンネル別に見る

automation icon

自動化

テクノロジー、チームおよび環境に関する IT 自動化の最新情報

AI icon

AI (人工知能)

お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート

open hybrid cloud icon

オープン・ハイブリッドクラウド

ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。

security icon

セキュリティ

環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報

edge icon

エッジコンピューティング

エッジでの運用を単純化するプラットフォームのアップデート

Infrastructure icon

インフラストラクチャ

世界有数のエンタープライズ向け Linux プラットフォームの最新情報

application development icon

アプリケーション

アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細

Original series icon

オリジナル番組

エンタープライズ向けテクノロジーのメーカーやリーダーによるストーリー