14.7. Atomic Host および OSTree コンテンツ

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

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

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

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

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

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

Red Hat Atomic Host に関する詳細は、Red Hat Enterprise Linux Atomic Host 7 インストールと設定ガイド を参照してください。

14.7.1. Atomic Host リポジトリーの追加

手順

  1. 「リポジトリーの作成」 の手順 1 から 5 に従って、新しい Red Hat コンテンツリポジトリーを追加します。
  2. 2 を押して、By Product メソッドを選択します。

    Import Repositories:
      1  - All in Certificate
      2  - By Product
      3  - By Repository
    Enter value (1-3) or 'b' to abort:
  3. リポジトリーの横にある番号を入力して、リストから atomic リポジトリーを選択します。

    Red Hat Enterprise Linux Atomic Host (Trees) from RHUI
  4. c を押します。Red Hat Update Infrastructure Management Tool は、デプロイされるリポジトリーを表示し、確認を求めるプロンプトを表示します。
  5. y を押して先に進みます。リポジトリーがデプロイされると、メッセージが出力されます。
  6. l を押して、list repositories currently managed by the RHUI 画面にアクセスするには、そのリポジトリーがインストールされていることを確認します。

14.7.2. OSTree リポジトリーの同期

手順

  1. s を押して、Synchronization Status 画面にアクセスします。
  2. sr を押して、個々のリポジトリーを即時に同期します。
  3. 同期するリポジトリーの数を入力します。
  4. c を押して選択を確認します。他のコマンドの場合は ? と入力します。
  5. y を押して続行するか、n を押してキャンセルします。

    The following repositories will be scheduled for synchronization:
      Red Hat Enterprise Linux Atomic Host (Trees) from RHUI (Version 7.3.4)
    Proceed? (y/n) y
    Scheduling sync for Red Hat Enterprise Linux Atomic Host (Trees) from RHUI (Version 7.3.4)...
    ... successfully scheduled for the next available timeslot.
    ------------------------------------------------------------------------------------------------------------------------------
    rhui (sync) =>
  6. ^ を押して、Red Hat Update Infrastructure Management Tool のホーム画面に戻ります。

14.7.3. RHUA でのクライアント設定パッケージの生成

手順

  1. 「エンタイトルメント証明書の作成」 の手順に従って、OSTree リポジトリーの資格証明書を生成します。最近追加した OSTree リポジトリーを証明書に追加します。
  2. Red Hat Update Infrastructure Management Tool のホーム画面で e を押して、エンタイトルメント証明書およびクライアント設定 RPM の作成 を選択します。
  3. Client Entitlement Management 画面で o を押して、create an atomic client configuration package を選択します。

    -= Red Hat Update Infrastructure Management Tool =-
    
    -= Client Entitlement Management =-
    
    e   generate an entitlement certificate
    c   create a client configuration RPM from an entitlement certificate
    d   create a docker client configuration RPM
    o   create an atomic client configuration package
    
                                          Connected: rhua.example.com
  4. 設定ファイルを保存するローカルディレクトリーの完全パスを入力します。

    Full path to local directory in which the client configuration files generated by this tool
    should be stored (if this directory does not exist, it will be created):
    
    /tmp
  5. .tar ファイルの名前を入力します。

    Name of the tar file (excluding extension):
    testcerttar
  6. 特定のチャネルにアクセスするためにクライアントを認証するエンタイトルメント証明書への完全パスを入力します。

    Full path to the entitlement certificate authorizing the client to access
    specific channels:
    /tmp/testcert.crt
  7. エンタイトルメント証明書の秘密鍵への完全パスを入力します。

    Full path to the private key for the above entitlement certificate:
    /tmp/testcert.key
  8. docker コンテンツを提供するポートを入力します。Port 5000 がデフォルトになります。

    Port to serve Docker content on (default 5000):
    
    Successfully created client configuration package.
    Location: /tmp/testcerttar.tar.gz

14.7.4. Atomic Host の設定

手順

  1. 生成された .tar.gz ファイルを Atomic Host にコピーします。
  2. tar ファイルを展開します。
  3. install.sh スクリプトを実行します。

    [root@atomiccli01 ~]# ./install.sh

14.7.5. Atomic Host での ostree pull コマンドのテスト

ostree pull コマンドは、コンテナーからコンテンツを消費します。

手順

  1. ostree pull コマンドを実行します。

    [root@atomiccli01 ~] ostree pull rhui-rhel-atomic-host-rhui-ostree:rhel-atomic-host/7/x86_64/standard
    
    GPG: Verification enabled, found 1 signature:
    
      Signature made Mon 10 Apr 2017 04:46:45 PM UTC using RSA key ID 199E2F91FD431D51
      Good signature from "Red Hat, Inc. <security@redhat.com>"
    
    809 metadata, 4395 content objects fetched; 308693 KiB transferred in 108 second
  2. ostree pull コマンドがエラーを返した場合は、OSTree リポジトリーの Synchronization ステータスを確認してください。同期がまだ実行されていない可能性があり、同期するまで待機する必要があります。

バグの報告