フィードを購読する

適切なベースイメージの選択

コンテナベースイメージには多くの選択肢があります。では、なぜ Red Hat Universal Base Image (UBI) が推奨されるのでしょうか?その理由として、まず、Red Hat Universal Base Image のすべてのコードが Red Hat Enterprise Linux (RHEL) から派生していることが挙げられます。UBI を推奨する理由を説明するには、以下の RHEL のミッションについて言及する必要があります。

「Red Hat Enterprise Linux は、ワークロードを成功に導く、安全で信頼性の高い Linux イノベーションを提供します」

Red Hat Universal Base Image の電子書籍

コンテナは Linux をベースとし、UBI は RHEL から派生していることから、UBI にも Linux と同じ価値が適用されます。

  1. イノベーション:組織は常に、運用を合理化し、開発と管理を一元化することで、摩擦のない迅速なイノベーションを実現し、データセンターからエッジまで一貫性を保つことを目指しています。
  2. 最適化:インフラストラクチャが複雑になると、コストが増加し、効率が低下する可能性があります。
  3. 保護:ワークロードのビルド、スケーリング、管理など、ハイブリッドクラウド全体のリスクを継続的に軽減することは、ほとんどの組織にとって課題となる可能性があります。
  4. 信頼:アプリケーションのライフサイクルとワークロードの互換性、セキュリティパッチの適用、コンプライアンスレポートの複雑さを管理することは、組織にとって終わりのない課題です。

コンテナは、Linux オペレーティングシステムのユーザーランド (オペレーティングシステムに付属するすべてのプログラム、ライブラリ、依存関係) の軽量バージョンを提供します。アプリケーションをコンテナに入れると必要最低限の依存関係のみに削減されますが、それがオペレーティングシステムであることに変わりはなく、コンテナベースイメージの品質はホスト・オペレーティング・システムと同等に重要です。組織に適したコンテナベースイメージを選択することは、標準オペレーティング環境 (SOE) のビルドと同様に、セキュリティとライフサイクルに影響を与える重要な選択と言えます。

Red Hat は、ベースイメージが組織にとっていかに重要であるかを早くから認識し、RHEL 7 のリリース時に Red Hat Enterprise Linux (RHEL) イメージ の提供を開始しました (その後すぐに RHEL 6 イメージもリリース)。これらのイメージにより、RHEL のお客様は、より安全でパフォーマンスに優れたエンタープライズグレードの最新コンテナを利用できるようになりました。RHEL コンテナイメージ を RHEL コンテナホスト で実行すると、使いやすいだけでなく、環境間の互換性と移植性を得ることもできます。しかし、問題が 1 つありました。RHEL サブスクリプションのエンタープライズ契約により、お客様はビルドしたコンテナイメージを組織外で簡単に共有すること (コンテナの重要な価値の 1 つ) ができませんでした。

Red Hat Universal Base Image (UBI) のリリースにより、次の 2 つの大きな変更が行われました。

  1. お客様は、UBI でビルドしたコンテナイメージを組織内外の誰とでも共有できます。
  2. お客様以外のユーザーは、Red Hat Universal Base Image でリリースされたすべてのコンテンツを利用できます。

誰もが、Red Hat 公式コンテナイメージの優れた信頼性、セキュリティフットプリント、パフォーマンスを活用できるようになりました。つまり、UBI 上にコンテナ化されたアプリケーションをビルドし、任意のコンテナ レジストリサーバー にプッシュして、世界中の誰とでも共有可能となりました。UBI を使用すると、どこでも好きな方法でコンテナ化されたアプリケーションをビルドおよび共有し、共同で作業することができます。

Red Hat platform vs.any OCI-compliant container platform

UBI でアプリケーションをビルドすると、場所に制限されることなく自由に共有、実行できますが、RHEL または Red Hat OpenShift で実行すると、さらなる価値が引き出されます。以下に例を示します。

  1. どこでも実行可能:品質は同じですが、利用可能なサポートはコミュニティサポートとセルフサポートのみとなります。
  2. RHEL または OpenShift で実行:同じ品質で Red Hat フルサポートの対象となり、サポートが必要な場合はサポートチケットを作成するだけで済みます。

UBI を使用する理由

以下は、さまざまな視点での要望とニーズをまとめたものです。UBI が組織に適しているか判断する際の参考にしてください。

  • 開発者 は、公開配布できる高品質のコンテナイメージを求めています。
  • 運用チーム は、エンタープライズ・ライフサイクルを備えたサポート可能なベースイメージを求めています。
  • 製品チーム は、Red Hat と共同でサポートされる Red Hat 認定コンテナ を提供したいと考えています。
  • お客様 は、Red Hat 環境でのエンタープライズサポートを望んでいます。
  • コミュニティ は、コンテナ化されたアプリケーションをより自由に共有したいと考えていますが、非常に品質の高いコンテナイメージを引き続き求めています。

上記のいずれか、またはすべてに該当する組織であれば、このブログを読み進めてください。

単なるベースイメージではない

UBI は完全なオペレーティングシステムではありませんが、以下の 3 つの機能を備えています。

  1. 4 つのベースイメージのセット (ubi-micro、ubi-minimal、ubi standard、ubi-init)
  2. 言語ランタイムイメージのセット (Node.js、Ruby、Python、PHP、Perl など)
  3. 一般的なアプリケーションの依存関係を満たす、YUM リポジトリ内の関連パッケージのセット
Base images, pre-built language images, package subset

すべての UBI コンテンツは RHEL のサブセットです。UBI のすべてのパッケージは RHEL チャネルから提供されており、RHEL または OpenShift で実行される場合は RHEL と同様にサポートされます。

RHEL 7 and RHEL 8 vs other container platforms

コンテナイメージに高品質なサポートを提供するには、多くのエンジニアリング、セキュリティ分析、およびリソースが必要です。ベースイメージのテストだけでなく、特定のコンテナホスト上での動作もテストする必要があります。

アップグレードの課題を軽減するために、Red Hat はエンジニアリングとサポートに重点を置いています。これにより、UBI 8 の RHEL 9 ホストでの実行、UBI 9 の RHEL 8 ホストでの実行、他の組み合わせでの実行も可能となっています。したがって、コンテナイメージ内または基盤となるコンテナホスト内のアプリケーション・プラットフォームをアップグレードする際に、ユーザーはより柔軟かつ確実に作業できるようになります。  完全なサポート対象リストについては、Red Hat カスタマーポータルの Red Hat Enterprise Linux Container 互換性に関する表 を参照してください。

4 つのベースイメージの比較

The four base images compared

マイクロ - 独自の依存関係 (Python、Node.js、.NET など) を含むアプリケーション向けに設計されています。

  • ビルド可能な最小のイメージ
  • パッケージマネージャーがないことでサイズ縮小を実現
  • Dockerfile ではなく Buildah を推奨

ミニマル - 独自の依存関係 (Python、Node.js、.NET など) を含むアプリケーション向けに設計されています。

  • 最小のインストール済みコンテンツセット
  • SUID バイナリーなし
  • 最小限のパッケージマネージャー (インストール、更新、削除)

標準 - RHEL 上で実行されるすべてのアプリケーション向けです。

  • 統合された OpenSSL 暗号スタック
  • フル YUM スタック
  • 便利な基本 OS ツール (tar、gzip、vi など) が含まれる

マルチサービス - 単一コンテナ内での複数のサービスの実行を単純化します。

  • 起動時に systemd を実行するように設定
  • ビルド時にサービスの有効化が可能

ビルド済み言語ランタイム・コンテナ・イメージ

言語のインストールが可能なベースイメージに加え、UBI は、多数の言語ランタイムを使用するためのビルド済みイメージを開発者に提供します。多くの場合、開発者はイメージを使用するだけで、ビルド中のアプリケーションの作業を開始できます。

ビルド済みのランタイム・コンテナ・イメージの完全なリストについては、Red Hat Ecosystem Catalog を参照してください。

関連パッケージ

ビルド済みイメージを使用することは、すばらしいことです。Red Hat は、RHEL の更新ポリシーを反映して、RHEL の新しいバージョンがリリースされた際、そして重大な Common Vulnerabilities and Exposures (CVE) が修正された際に、新しいイメージをリリースします。完全なイメージポリシーについては、Red Hat Container Image Updates を参照してください。イメージは、1 つのイメージを取得するだけでアプリケーションのビルドが開始されるように設計されています。

Associated packages

ただし、アプリケーションをビルドする際に、追加のパッケージが 1 つ必要になる場合があります。あるいは、アプリケーションを動作させるためにパッケージを更新する必要がある場合もあります。そのため、UBI には YUM 経由で利用可能で、可用性の高いコンテンツ配信ネットワークで配布される RPM セットも付属しています。実稼働環境にリリースする必要がある場合など、重大時に CI/CD パイプラインで YUM update を実行する際は、お客様と同じインフラストラクチャを使用することになります。

基盤となる RHEL

コンテナ化されたアプリケーションは、エンタープライズ IT に押し寄せるイノベーションの波のひとつとして 2014 年に導入されました。現在も、従来のモノリシックアプリケーションの開発と保守を改善する方法において、画期的な存在となっています。しかし、コンテナはすべての問題を解決するわけではありません。エンタープライズの世界では、オペレーティングシステムには、より高い安定性、信頼性、セキュリティツール、ガイダンス、そしてタイムリーな修正が必要です。RHEL は、これらのニーズを満たすように設計されています。Red Hat でベースイメージに取り組んでいるチームの一部をここで紹介します。

  • パフォーマンス・エンジニアリング・チーム:堅牢なパフォーマンスを提供し、コンテナ化することを選択したワークロードで確実に動作するように設計された glibc や OpenSSL などの基本的なライブラリ、Python や Ruby などの言語ランタイムの更新と保守を行います。
  • 製品セキュリティチーム:同じライブラリと言語に対するタイムリーなセキュリティ修正を確実に行うため (関連する Container Health Index の格付け によって測定) に尽力しています。
  • 製品管理およびエンジニアリングチーム:新機能の追加と長期にわたるライフサイクルを推進し、お客様による Red Hat 製品への投資が、安全かつ価値の高いものとなるよう尽力しています。

RHEL はサブスクリプションベースであるため、組織はリリースごとにライセンスを購入したり、ライセンス料金に加えてサポート料金を支払ったりする必要がありません。RHEL をサブスクライブすると、RHEL の現行バージョンのいずれかを実行するためのエンタイトルメントが付与されます。これにより、Red Hat サポートを利用できるほか、より安全かつ強化された信頼性の高い Linux オペレーティングシステムの利点を享受できます。RHEL はコンテナの優れたホストおよびイメージとして機能しますが、多くの開発者はより広範囲のユースケースをサポートする必要があり、その一部はサポート対象外である可能性があります。ここで、UBI の本領発揮となります。

今後の展望

ユーザーは現時点では、コンテナ化されたシンプルなアプリケーションをビルドするためのベースイメージを探しているだけかもしれません。あるいは、コンテナエンジン上で実行されるスタンドアロンコンテナから、OpenShift 上で実行するように設計された Operator をビルドおよび認定するクラウドネイティブの世界へ移行しようとしているのかもしれません。いずれにせよ、UBI はすばらしい基盤を提供できると私たちは信じています。

RHEL certified application > certified container > certified operator

コンテナは、軽量オペレーティングシステムのユーザースペースを新しいパッケージ形式でカプセル化します。Red Hat は、エンタープライズグレードの Linux オペレーティングシステムのリーダーです。UBI は、エンタープライズグレードのコンテナを独立系ソフトウェアベンダー (ISV)、お客様、オープンソースコミュニティに提供することで、コンテナ開発の新しい業界標準を確立するように設計されています。

特に ISV は、Kubernetes Operators を含むコンテナ化されたアプリケーションを単一の信頼できる基盤に標準化できます。UBI を使用する ISV は、Red Hat Container Certification を利用して、OpenShift などの Red Hat プラットフォームにデプロイされるソフトウェアを継続的に検証できます。

 

サードパーティ製 OCI 準拠プラットフォーム上の UBI

+ RED HAT プラットフォーム

+ 認定

信頼できるロードマップ

実証された基盤

最小限のイメージ

パッケージ更新

UBI コンテンツのみ

すべての RHEL コンテンツ

すべての RHEL コンテンツ

クラウドネイティブ言語ランタイム

ディストリビューション/再ディストリビューション

Red Hat プラットフォームのテスト

 

Red Hat カスタマーサポート

 

Red Hat コンポーネント

すべてのコンポーネントの共同サポート

セキュリティスキャン

 

Red Hat との共同プロモーション

  

コンテナビルドサービス

  

スタートガイド

使い始めるのは簡単です。これらのイメージは任意のコンテナエンジンでプルできますが、コマンドラインを使用する場合、Red Hat では Podman Desktop または Podman を推奨しています。これらのリポジトリのいずれかからイメージをプルして実行できます。

UBI 9 の場合:

podman pull registry.access.redhat.com/ubi9/ubi
podman pull registry.access.redhat.com/ubi9/ubi-minimal
podman pull registry.access.redhat.com/ubi9/ubi-init

UBI 8 の場合:

podman pull registry.access.redhat.com/ubi8/ubi
podman pull registry.access.redhat.com/ubi8/ubi-minimal
podman pull registry.access.redhat.com/ubi8/ubi-init

UBI 7 の場合:

podman pull registry.access.redhat.com/ubi7/ubi
podman pull registry.access.redhat.com/ubi7/ubi-minimal
podman pull registry.access.redhat.com/ubi7/ubi-init

詳細情報については、Red Hat Universal Base Image の電子書籍 または Red Hat Universal Base Image FAQ を参照してください。


執筆者紹介

At Red Hat, Scott McCarty is Senior Principal Product Manager for RHEL Server, arguably the largest open source software business in the world. Focus areas include cloud, containers, workload expansion, and automation. Working closely with customers, partners, engineering teams, sales, marketing, other product teams, and even in the community, he combines personal experience with customer and partner feedback to enhance and tailor strategic capabilities in Red Hat Enterprise Linux.

McCarty is a social media start-up veteran, an e-commerce old timer, and a weathered government research technologist, with experience across a variety of companies and organizations, from seven person startups to 20,000 employee technology companies. This has culminated in a unique perspective on open source software development, delivery, and maintenance.

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

オリジナル番組

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