Red Hat Training

A Red Hat training course is available for Red Hat Satellite

9.3. プロビジョニング設定の構成

このセクションでは、プロビジョニング環境の要素を作成し、それらを設定する方法を示します。

9.3.1. ドメイン

Satellite には、Red Hat Satellite Capsule Server の DNS を使ってドメイン名を割り当てる機能があります。この機能により、ユーザーは特定ドメイン内のホストをグループ化し、これらに名前を付けることができます。

手順9.6 ドメインを作成するには、以下を実行します。

  1. インフラストラクチャードメイン をクリックします。
  2. 新規ドメイン をクリックします。ドメイン タブで以下の設定を指定します。
    1. ドメインの 名前 を指定します。これは必須の DNS ドメイン名です。
    2. ドメインの 詳細 を入力します。
    3. DNS で有効にされた Capsule Server を選択します。
  3. パラメーター タブで、ドメインパラメーターを指定します。
  4. Locations (ロケーション) タブで、ドメインのロケーションを選択します。
  5. 組織 タブで、ドメインの組織を選択します。

    重要

    ロケーションと組織はデバッグ作業に役立つため、これらが設定されていることを確認します。
  6. 送信 をクリックします。

9.3.2. サブネット

Satellite には、システムの複数のグループ用にネットワークを作成する機能があります。サブネットは標準 IP アドレス設定を使用してネットワークを定義し、Red Hat Satellite Capsule Server の DHCP 機能を使用して IP アドレスをサブネット内のシステムに割り当てます。

9.3.2.1. サブネットの作成

以下の手順は、サブネットを作成する方法を示しています。

手順9.7 サブネットを作成するには、以下を実行します。

  1. インフラストラクチャーサブネット をクリックします。
  2. 新規サブネット をクリックします。サブネット タブで、以下の設定を指定します。
    1. サブネットの 名前ネットワーク (IP アドレス)、および マスク を指定します。これらの設定は必須です。
    2. オプションで、ゲートウェイプライマリー DNSセカンダリー DNS、および VLAN ID を指定します。ゲートウェイアドレスは、IPAM およびブートモードが DHCP (デフォルト) に設定されている場合のみのオプションになることに注意してください。これらのデフォルトモードを変更することにする場合は、ゲートウェイおよび DNS を指定することも必要です。
      また、IPAM モード (「DHCP」、「内部 DB」、または「なし」) を選択して、開始アドレス および 終了アドレス フィールドで IP 割り当ての範囲を定義することもできます。
    3. サブネットのデフォルト ブートモード (「DHCP」または「静的」) を選択します。
  3. ドメイン タブで、サブネットの適用可能なドメインを選択します。
  4. Capsules (プロキシー) タブで、DFCP、TFTP、DNS、および Discovery サービスをホストするために使用される Capsule Server を選択します。
  5. ロケーション タブで、サブネットのロケーションを選択します。
  6. 組織 タブで、サブネットの組織を選択します。

    重要

    ロケーションと組織はデバッグ作業に役立つため、これらが設定されていることを確認します。
  7. 送信 をクリックします。

9.3.3. アーキテクチャー

Satellite 内のアーキテクチャーはホストおよびオペレーティングシステムの論理グループを表します。アーキテクチャーは、ホストが Puppet に接続する際に Satellite によって自動的に作成されます。ただし、アーキテクチャーはデフォルトのインストールには存在しないため、作成する必要があります。

手順9.8 アーキテクチャーを作成するには、以下を実行します。

  1. ホストアーキテクチャー をクリックしてから 新規アーキテクチャー をクリックします。
  2. アーキテクチャーの 名前 を指定します。
  3. このアーキテクチャーが含まれるすべての オペレーティングシステム を選択します。該当するオペレーティングシステムがない場合は、ホストオペレーティングシステム 下でこれらを作成し、割り当てることができます。
  4. 送信 をクリックします。

9.3.4. コンピュートリソース

コンピュートリソースは、仮想化およびクラウドのプロバイダーが提供するハードウェアを抽象化したものです。Satellite はコンピュートリソースを使用して、仮想マシンおよびコンテナーのプロビジョニングを行います。サポートされるプライベートプロバイダーには、Red Hat Enterprise Virtualization、oVirt、OpenStack、VMware および Docker が含まれます。サポートされるパブリッククラウドプロバイダーには Amazon EC2、Google Compute Engine、および Rackspace が含まれます。

手順9.9 コンピュートリソースを追加するには、以下を実行します。

  1. インフラストラクチャーコンピュートリソース に移動します。
  2. 新規のコンピュートリソース をクリックします。コンピュートリソース タブで、以下の設定を指定します。
    1. コンピュートリソースの 名前 および プロバイダー タイプを指定します。オプションとして、説明 を挿入します。
    2. 選択したプロバイダーのタイプによって、次のいくつかのフィールドで認証とデータセンターの詳細情報が求められます。それぞれのプロバイダータイプについてさらに詳しくは、以下の表を参照してください。

      表9.2 プロバイダーの設定

      タイプ
      説明
      RHEV
      Red Hat Enterprise Virtualization 環境に適しています。コンピュートリソースを抽象化するためにシステムで Manager API の URL、有効な Username および Password、および Datacenter が必要になります。Load Datacenters をクリックしてドロップダウンメニューを設定します。オプションで Quota ID を指定し、X509 Certification Authorities フィールドに 1 つ以上の証明書機関を指定します。
      Libvirt
      Libvirt ベースの環境に適しています。仮想マシンの URL が必要になります。Display type を選択します。Test Connection をクリックして仮想マシンが利用可能かどうかをテストします。Console passwords を選択して、表示接続にランダムに生成されたパスワードを設定します。
      VMware
      VMware ベースの環境に適しています。コンピュートリソースを抽象化するために VCenter/Server のホスト名、有効な VMware Username および Password、および Datacenter が必要になります。Load Datacenters をクリックしてドロップダウンメニューを設定します。証明書 Fingerprint を指定し、Console passwords を選択して表示接続でランダムに生成されたパスワードを設定します。
      RHEL OpenStack Platform
      OpenStack ベースの環境に適しています。コンピュートリソースを抽象化するために OpenStack サーバーの URL、有効な OpenStack Username および Password、および Tenant が必要になります。Load Tenants をクリックしてドロップダウンメニューを設定します。
      Rackspace
      Rackspace のパブリッククラウドアカウントに適しています。コンピュートリソースを抽象化するために Rackspace API の URL、有効な Rackspace Username および API Key、および Region が必要になります。Test Connection をクリックして選択したリージョンへの接続が有効であることを確認します。
      EC2
      Amazon EC2 のパブリッククラウドアカウントに適しています。有効な Amazon EC2 アカウントから利用できる アクセスキー および 秘密鍵 が必要です。リソースを抽象化するためのデータセンターとして機能させるには リージョン が必要です。リージョンのロード ボタンをクリックして選択ボックスにデータを設定します。
      Google
      Google Compute Engine のパブリッククラウドアカウントに適しています。Google Project ID、有効な Client Email および p12 ファイルへの Certificate path が必要になります。Zone を指定してコンピュートリソースを抽象化することもできます。Load zones をクリックしてドロップダウンメニューを設定します。
      Docker
      コンテナーレジストリーに適しています。内部または外部のコンピュートリソースの URL が必要になります。オプションで UsernamePassword、およびコンタクト先の Email を指定します。Test Connection をクリックして接続が利用可能であるかどうかをテストします。
  3. ロケーション タブで、必要なロケーションを 選択された項目 の一覧に追加するためにそれらのロケーションを選択します。
  4. 組織 タブで、必要な組織を 選択された項目 の一覧に追加するためにそれらの組織を選択します。

    重要

    ロケーションと組織はデバッグ作業に役立つため、これらが設定されていることを確認します。
  5. 送信 をクリックします。

9.3.5. コンピュートリソースとしての Libvirt の設定

Libvirt ハイパーバイザーが使用されるシステムで、以下のパッケージがインストールされていることを確認します。
# yum install qemu-kvm libvirt virt-manager
ハイパーバイザーマシンおよび Satellite Server が実行されているベースシステムで、ハイパーバイザーホストの FQDN が正常に解決されていることを確認します。

手順9.10 Libvirt コンピュートリースを追加するには、以下を実行します。

  1. インフラストラクチャーコンピュートリソース に移動します。
  2. 新規のコンピュートリソース をクリックします。コンピュートリソース タブで、以下の設定を指定します。
    1. 名前 を指定し、プロバイダー ドロップダウンメニューから、コンピュートリソースのタイプとして Libvirt を選択します。オプションで 説明 を挿入します。
    2. URL フィールドに、
      qemu:///system
      のように文字列を入力します。
    3. タイプの表示 ドロップダウンメニューから、 VNC を選択します。
    4. このコンピュートリソースが新規の Libvirt ゲストにのみ使用される場合は、オプションで コンソールのパスワード チェックボックスを選択します。このオプションは、先に設定された Libvirt ゲストと共に使用することはできません。
    5. テスト接続 をクリックします。接続が正常な場合、ボタンが緑色に変わります。
    6. 送信 をクリックして設定を保存します。
    7. 仮想マシン タブを選択します。先に設定した Libvirt ゲストが表示されます。

手順9.11 Libvirt への SSH アクセスを設定するには、以下を実行します。

他に指定がない限り、Red Hat Satellite が実行されているシステムで以下の手順を実行します。
  1. foreman ユーザーの SSH ファイルパーミッションおよび SELinux コンテキストが正しいことを確認します。
    # ls -Zd /usr/share/foreman/.ssh
    drwx------. foreman foreman system_u:object_r:ssh_home_t:s0  /usr/share/foreman/.ssh
  2. foreman ユーザーの SSH キーを作成します。
    # su - foreman -s /bin/bash
    -bash-4.2$ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/usr/share/foreman/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /usr/share/foreman/.ssh/id_rsa.
    Your public key has been saved in /usr/share/foreman/.ssh/id_rsa.pub.
    The key fingerprint is:
    07:47:a9:23:d2:fe:2f:07:fb:55:75:46:3e:8e:6e:69 foreman@satellite.example.com
    The key's randomart image is:
    +--[ RSA 2048]----+
    |          ..    .|
    |         ..    o |
    |     .  ...    .=|
    |    . o oo    ooo|
    |     o .S..  ... |
    |      . ..  ...  |
    |       . o  .E   |
    |        + ..o    |
    |         =o      |
    +-----------------+
  3. SSH 公開キーをリモートハイパーバイザーシステムにコピーします。たとえば、Libvirt ホストが kvm.example.com の場合は以下のようになります。
    -bash-4.2$ ssh-copy-id root@kvm.example.com
    The authenticity of host 'kvm.example.com (192.168.1.2)' can't be established.
    ECDSA key fingerprint is 78:79:41:d0:b8:40:d5:4a:6d:7f:22:03:bd:cd:a0:dd.
    Are you sure you want to continue connecting (yes/no)? yes
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    foreman@192.168.1.2's password:
    
    Number of key(s) added: 1
    
    Now try logging into the machine, with:   "ssh 'root@kvm.example.com'"
    and check to make sure that only the key(s) you wanted were added.
  4. SSH をリモートシステムに接続して、パスワードのプロンプトが表示されないことを確認します。
    -bash-4.2$ ssh root@kvm.example.com
    パスワードのプロンプトが 出されることがあってはなりません。公開キーはリモートシステムの .ssh/authorized_keys ファイルにあります。ログインしてキーを確認後に終了します。
    -bash-4.2$ exit
  5. Web UI で、インフラストラクチャーコンピュートリソース に移動してから 新規のコンピュートリソース をクリックします。
  6. 名前 フィールドで適切な名前を見つけます。
  7. プロバイダー ドロップダウンメニューから Libvirt を選択します。
  8. URL フィールドで、以下のような形式の文字列を入力します:
    qemu+ssh://root@kvm.example.com/system
    ここで、kvm.example.com は Libvirt ホストの FQDN です。
  9. タイプの表示 ドロップダウンメニューで VNC を選択します。
  10. オプションとして、コンピュートリソースが新規の Libvirt ゲストのみに使用される場合に コンソールのパスワード チェックボックスを選択します。このオプションは、先に設定した Libvirt ゲストと共に使用することはできません。
  11. テスト接続 をクリックします。接続が正常な場合、ボタンが緑色に変わります。
  12. 送信 をクリックして設定を保存します。
  13. 仮想マシン タブを選択します。先に設定した Libvirt ゲストが表示されます。

手順9.12 noVNC コンソールを設定するには、以下を実行します。

前提条件:
  • SSH キーは Satellite Server のベースシステムの foreman ユーザーに対して設定する必要があります (前述)。
  • 既存の Libvirt ゲストは、表示タイプとして VNC サーバーを使用できるように設定される必要があります。この際、ポートは Auto に設定され、VNC パスワードは選択されません。
  1. ハイパーバイザーホストシステムで、VNC サービスをポート 5900 から 5930 まで で許可するようにファイアウォールを許可できるように設定します。
    • Red Hat Enterprise Linux 6 の場合:
      # iptables -A INPUT -p tcp --dport 5900:5930 -j ACCEPT
      # service iptables save
    • Red Hat Enterprise Linux 7 の場合:
      # firewall-cmd --add-port=5900-5930/tcp
      # firewall-cmd --add-port=5900-5930/tcp --permanent
  2. Web UI に使用されるブラウザーで、以下のように Satellite Server 証明書を信頼します。
    1. Satellite Server の公的なダウンロードページ (例: https://satellite.example.com/pub/) に移動し、証明書ファイル katello-server-ca.crt をクリックします。
    2. Web サイトを特定するために証明書を信頼する選択をします。
  3. web UI に使用されるブラウザーで、HTTP strict transport security (HSTS) を無効にします。HSTS については、RFC 6797 で説明されています。Firefox の場合、ブラウザーアドレスバーに About:Config を入力し、以下のブーリアンを True:
    network.websocket.allowInsecureFromHTTPS
    に設定します。
  4. web UI のブラウザーで FQDN を使用していることを確認します。NoVNC は URL のドメイン名が証明書の CN 値に一致しない場合には機能しません。これは FQDN と同じである必要があります。以下のようにコマンドを使用して CN 値をチェックします。
    # openssl x509 -text -noout -in /etc/pki/katello/certs/katello-apache.crt | grep CN
    Issuer: C=US, ST=North Carolina, L=Raleigh, O=Katello, OU=SomeOrgUnit, CN=satellite.example.com
    Subject: C=US, ST=North Carolina, O=Katello, OU=SomeOrgUnit, CN=satellite.example.com出力省略
  5. インフラストラクチャー+Cコンピュートリソース に移動します。Libvirt リソースの名前を選択します。仮想マシン タブで、Libvirt ゲストの名前を選択します。マシンの電源がオンになっていることを確認してから、コンソール を選択します。コンソールウィンドウは noVNC ハンドシェイクの完了後に表示されます。

9.3.6. ハードウェアモデル

ハードウェアモデルは、Scalable Processor Architecture (SPARC) ベースのシステムに無人インストールを実行する際に役立ちます。

手順9.13 ハードウェアモデルを作成するには、以下を実行します。

  1. ホストハードウェアモデル をクリックします。
  2. 新規モデル をクリックします。
  3. ハードウェアモデルの 名前 を指定します。
  4. SPARC ビルドの場合、CPU の ハードウェアモデルベンダークラス を挿入します。他のアーキテクチャーの場合、これらのフィールドに値は必要ありません。
  5. 情報 テキストボックスにハードウェアモデルの詳細を入力します。
  6. 送信 をクリックします。

9.3.7. インストールメディア

Red Hat Satellite は、キックスタートツリーや新規ホストのインストール用のコンテンツとしてインストールメディア (ISO イメージ) を使用します。

手順9.14 インストールメディアを追加するには、以下を実行します。

  1. ホストインストールメディア をクリックします。
  2. 新規メディア をクリックします。メディア タブで、以下の設定を指定します。
    1. インストールメディアの 名前 を入力します。この設定は必須です。
    2. インストールメディアへの パス を入力します。オプションとして、URL または有効な NFS サーバーのいずれかを使用できます。この設定は必須です。
    3. オペレーティングシステムファミリー を選択して、インストールメディアのタイプを定義します。
  3. ロケーション タブで必要なロケーションを選択し、それらを 選択された項目 の一覧に追加します。
  4. 組織 タブをクリックしてから、必要な組織を選択し、それらを 選択された項目 の一覧に追加します。

    重要

    ロケーションと組織はデバッグ作業に役立つため、これらが設定されていることを確認します。
  5. 送信 をクリックします。

9.3.8. パーティションテーブル

パーティションテーブルは、システムのプロビジョニング時の新規インストール用のパーティションとファイルシステムのレイアウトを定義します。Satellite ユーザーは、ホストのディスクレイアウトをパーティションの明示的な順序として指定するか、または動的なディスクレイアウトのスクリプトを使用します。

手順9.15 パーティションテーブルを作成するには、以下を実行します。

  1. ホストパーティションテーブル をクリックします。
  2. 新規パーティションテーブル をクリックします。
  3. パーティションテーブルの 名前 を入力します。
  4. パーティションテーブルの レイアウト を指定します。レイアウト フィールドは、動的なディスクパーティションスクリプトも入力できます。
  5. OS 種類 ドロップダウンリストからオペレーティングシステムを選択します。
  6. 送信 をクリックします。
新規パーティションテーブルは、「オペレーティングシステム」 で説明されているようにオペレーションシステムに関連付ける必要があります。

9.3.9. プロビジョニングテンプレート

プロビジョニングテンプレートは、無人インストールを実行するための体系的な手段です。プロビジョニングテンプレートは、bash スクリプト、キックスタートスクリプト、および PXE ベースのインストールなどの複数の方法で実行することができます。

手順9.16 プロビジョニングテンプレートの作成:

  1. ホストプロビジョニングテンプレート をクリックします。
  2. 新規テンプレート をクリックします。テンプレート タブで、以下の設定を指定します。
    1. テンプレートの 名前 を指定します。
    2. テンプレートエディター フィールドにテンプレートを挿入します。または、参照 をクリックしてテンプレートをアップロードします。これにより、テンプレートエディター フィールドの内容が選択したファイルの内容に置き換わります。
    3. オプションとして、監査コメント フィールドにコメントを入力します。Satellite ではコメントをテンプレート履歴に追加して変更を追跡します。履歴 タブの下でテンプレート履歴を表示します。
  3. タイプ タブで、スニペット を選択し、特定のスクリプトやテンプレートタイプを定義せずにテンプレートコードを保存するか、または タイプ ドロップダウンメニューからタイプを選択します。
  4. 関連付け タブで、テンプレートに関連付けるホストグループ、環境およびオペレーティングシステムを選択します。適用可能なオペレーティングシステム 一覧からオペレーティングシステムを選択します。組み合わせの追加 をクリックして ホストグループ および 環境 を選択し、テンプレートの使用を制限します。関連付けはスニペットタイプでは使用できないことに注意してください。
  5. 関連付け タブで、既存テンプレートの履歴を表示できます。新規テンプレートの作成時に履歴は利用できません。
  6. ロケーション タブで、テンプレートのロケーションを選択します。
  7. 組織 タブで、テンプレートの組織を選択します。

    重要

    ロケーションと組織はデバッグ作業に役立つため、これらが設定されていることを確認します。
  8. 送信 をクリックします。
プロビジョニングテンプレートについての詳細は、『Red Hat Satellite Provisioning Guide』 の Creating Provisioning Templates を参照してください。

9.3.10. プロビジョニング時間を削減するための gPXE の設定

PXE ブートファイルのダウンロード時にプロビジョニング時間を削減するために、gPXE は HTTP などの追加のプロトコルの使用可能にしてダウンロード時間を短縮します。gPXE を使用するには、以下を実行します。
  • TFTP サーバーにするように設定されたシステムで、/usr/share/syslinux/gpxelinuxk.0/var/lib/tftpboot にコピーします。
  • /etc/dhcp/dhcpd.confPXE Handoff セクションで、DHCP filename オプションを pxelinux.0 から gpxelinuxk.0 に変更します。
  • プロビジョニングテンプレートを以下のように作成してから、それらをデフォルトテンプレートと共にオペレーティングシステムに割り当てます。

手順9.17 gPXE プロビジョニングテンプレートを設定するには、以下を実行します。

  1. ホストプロビジョニングテンプレート をクリックします。
  2. テンプレートの Kickstart default PXELinux を見つけ、クローン を選択します。
  3. たとえば、Kickstart default gPXELinux などの名前を入力します。
  4. テンプレートエディターで、@initrd を検索し、これを @host.url_for_boot(:initrd) に置き換えます。
  5. テンプレートエディターで、@kernel を検索し、これを @host.url_for_boot(:kernel) に置き換えます。
  6. タイプ タブを選択します。タイプ ドロップダウンメニューから PXELinux を選択します。
  7. 関連付け タブで、テンプレートに関連付けるホストグループ、環境およびオペレーティングシステムを選択します。適用可能なオペレーティングシステム 一覧からオペレーティングシステムを選択します。組み合わせの追加 をクリックし、ホストグループ および 環境 を選択してからテンプレートの使用を制限します。
  8. 送信 をクリックします。

9.3.11. オペレーティングシステム

オペレーティングシステムは、インストール方法とメディアの組み合わせを定義するものであり、ファミリーに分類されます。デフォルトでは、Red Hat Satellite は RedHat ファミリーを使用します。ファミリーの分類により、Satellite ではホストのプロビジョニング時の特定の動作を変更することができます。

手順9.18 オペレーティングシステムを追加するには、以下を実行します。

  1. ホストオペレーティングシステム をクリックします。
  2. 新規オペレーティングシステム をクリックします。オペレーティングシステム タブで、以下の設定を指定します。
    1. オペレーティングシステムの 名前 およびその メジャーバージョン を入力します。これらの設定は必須です。
    2. オプションで マイナーバージョン を定義し、OS Family (OS 種別) を選択してからオペレーティングシステムの 説明 を追加します。
    3. root パスワードのハッシュ (MD5、SHA256、SHA512) を選択します。
    4. 利用可能なアーキテクチャーの一覧から アーキテクチャー を選択します。利用可能なアーキテクチャーがない場合は、「アーキテクチャー」 で説明されているようにそれらを作成し、ホストアーキテクチャー の下で割り当てます。
  3. パーティションテーブル タブで、一覧から適用可能なファイルシステムレイアウトを選択します。パーティションテーブルの作成についての詳細は、「パーティションテーブル」 を参照してください。
  4. インストールメディア タブで、一覧から適用可能なインストールメディアを選択します。インストールメディアの追加についての詳細は、「インストールメディア」 を参照してください。
  5. テンプレート タブで、既存のオペレーティングシステムの編集時にプロビジョニングテンプレートを割り当てることができます。このオプションは、新規のオペレーティングシステムの作成時には利用できません。プロビジョニングテンプレートの作成についての詳細は、「プロビジョニングテンプレート」 を参照してください。
  6. パラメーター タブで、オペレーティングシステムのパラメーターを追加できます。
  7. 送信 をクリックします。