Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第1章 Atomic Host の概要

1.1. オペレーティングシステムの内容

Red Hat Enterprise Linux Atomic Host は、Linux コンテナーの実行に最適化された Red Hat Enterprise Linux 7 の様々なタイプです。軽量で効率的なオペレーティングシステムとして構築され、クラウド環境用のコンテナーランタイムシステムとして使用することが特に最適になりました。RHEL Atomic Host には、事前にインストール済みのコンテナーを実行するための多くのツールが含まれています( dockeratomicetcdflannel )。オールインワンの kubernetes インストールは引き続きサポートされますが、Red Hat は Kubernetes クラスターをサポートしなくなりました。

Red Hat Enterprise Linux Atomic Host はオープンソースツールである rpm-OSTree を使用して、RPM コンテンツで設定される起動可能で、変更不能で、バージョン管理されたファイルシステムツリーを管理します。これらのツリーは、パッケージから Red Hat によって設定され、rpm-ostree ツールはアトミックに複製します。これにより、アトミック更新に関するアップグレードおよびメンテナーンスストラテジーが作成されます。Yum の代わりに rpm-ostree を使用してソフトウェアをアップグレードおよび維持すると、Red Hat Enterprise Linux Atomic Host は他の Red Hat Enterprise Linux 7 バリアントとは異なる方法で管理されます。

具体的には、Red Hat Enterprise Linux Atomic Host を使用する場合、オペレーティングシステムのコンテンツは読み取り専用モードでマウントされます。ローカルシステム設定には /etc//var/ の 2 つの書き込み可能なディレクトリーのみがあります。更新は以下の方法で行われます。新規の起動可能なファイルシステムツリーが生成されます。これは、現在のファイルシステムツリーとストレージを共有します。新しいシステムツリーをダウンロードすると、古いツリーは並行して保持されます。つまり、ファイルシステムツリーの最初のアップグレード前のバージョンは、必要に応じてアトミックに復元できます。

コンテナーやデータなど、アップグレード後も維持されるユーザーファイルは /var/ ディレクトリーに置く必要があります。オペレーティングシステム自体は /usr/ ディレクトリーに保存され、読み取り専用です。ls -l / コマンドを使用して、root ディレクトリーで長いファイル一覧を実行すると、従来のルートレベルのディレクトリーの多くは、このいずれかの場所へのシンボリックリンクであることが分かります。たとえば、/home/ ディレクトリーは /var/home/ ディレクトリーへのシンボリックリンクです。したがって、このディレクトリーはアップグレード後も維持されます。

Red Hat Enterprise Linux Atomic Host 7.4.2 以降では、/var ディレクトリーをマウントポイントとして設定できます。これにより、/var を別のパーティションに配置できます。これにより、/var が満杯になると他のマウントポイントが満杯にならないようにします。

デフォルトのパーティション設定では、Red Hat Enterprise Linux にあるように、デフォルトのループバックではなく、ストレージバックエンドとして直接 LVM を使用して、コンテナーで利用可能なほとんどの領域が示されます。ストレージは、インストール時に論理ボリュームを 2 つ作成する docker-storage-setup デーモン、ファイルシステムコンテンツの root、およびイメージとコンテナーの docker-pool により管理されます。

Red Hat Enterprise Linux Atomic Host は SELinux を使用してマルチテナント環境で強力な保護手段を提供します。iptables サービスはファイアウォールとして利用できます。iptables はデフォルトでオフになっています。

注記

一部の RHEL Atomic Host バージョンでは、docker または docker-latest のいずれかを実行できます。ただし、Red Hat では、同じマシンで dockerdocker-latest の両方を同時に実行することはサポートしていません。