第3章 Capsule Server での追加設定の実行
3.1. Katello エージェントのインストール リンクのコピーリンクがクリップボードにコピーされました!
クライアントのリモートアップデートを許可するために、katello エージェントをインストールすることが推奨されます。Capsule Server のベースシステムは Satellite Server のクライアントであるため、katello エージェントがインストールされている必要があります。
作業を開始する前に
- Satellite Server で Satellite Tools リポジトリーが有効にされている必要があります。
- Satellite Server で Satellite Tools リポジトリーが同期されている必要があります。
katello-agent のインストール手順:
- システムにログインします。
現行バージョンの Satellite の Satellite Tools リポジトリーを有効にします。
subscription-manager repos \ --enable=rhel-7-server-satellite-tools-6.4-rpms
# subscription-manager repos \ --enable=rhel-7-server-satellite-tools-6.4-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow パッケージをインストールします。
yum install katello-agent
# yum install katello-agentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. Capsule Server でリモート実行の有効化 リンクのコピーリンクがクリップボードにコピーされました!
Capsule Server のホストでコマンドを実行する場合は、リモート実行が有効である必要があります。
デフォルトでは、外部の Capsule はリモート実行機能が無効になっています。Capsule Server でリモート実行を使用するには、以下のコマンドを実行して、これを有効にする必要があります。
satellite-installer --scenario capsule \ --enable-foreman-proxy-plugin-remote-execution-ssh
# satellite-installer --scenario capsule \
--enable-foreman-proxy-plugin-remote-execution-ssh
3.3. Capsule Server へのライフサイクル環境の追加 リンクのコピーリンクがクリップボードにコピーされました!
Capsule Server でコンテンツ機能が有効な場合は、1 つ以上のライフサイクル環境を追加する必要があります。環境を追加すると、Capsule Server で Satellite Server のコンテンツを同期し、コンテンツをホストシステムに提供できます。
Red Hat では、1 つ以上のライフサイクル環境を作成して、Capsule Server に割り当てることを推奨しています。こうすることで、Capsule は各ライフサイクル環境にプロモートされたコンテンツビューに含まれているリポジトリーのみから受け取ることになり、システムリソースの使用が最適化されます。
ライブラリーライフサイクル環境を Capsule Server に割り当てると、リポジトリーが CDN から更新されるたびに自動で Capsule が同期されるようになるので、これは避けてください。自動同期では、Capsule 上の複数のシステムリソースや Satellite と Capsule 間のネットワーク帯域幅、および Capsule 上の利用可能なディスク領域が消費されます。
Capsule Server は、Satellite Server 上で Hammer CLI を使用するか、Web UI で設定できます。
Hammer CLI を使用した Capsule Server へのライフサイクル環境の追加
- root として Satellite Server CLI にログインします。
すべての Capsule Server のリストを表示し、ID をメモします。
hammer capsule list
# hammer capsule listCopy to Clipboard Copied! Toggle word wrap Toggle overflow その ID を使用して、Capsule Server の詳細を確認します。
hammer capsule info --id capsule_id_number
# hammer capsule info --id capsule_id_numberCopy to Clipboard Copied! Toggle word wrap Toggle overflow 利用可能なライフサイクル環境を確認し、環境 ID を書き留めます。
hammer capsule content available-lifecycle-environments \ --id capsule_id_number
# hammer capsule content available-lifecycle-environments \ --id capsule_id_numberCopy to Clipboard Copied! Toggle word wrap Toggle overflow 利用可能なライフサイクル環境は Capsule Server で利用可能ですが、この段階ではアタッチされていません。
ライフサイクル環境を Capsule Server に追加します。
hammer capsule content add-lifecycle-environment \ --id capsule_id_number --environment-id environment_id_number
# hammer capsule content add-lifecycle-environment \ --id capsule_id_number --environment-id environment_id_numberCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Capsule Server に追加する各ライフサイクル環境に対して手順を繰り返します。
Satellite Server 環境のすべてのコンテンツを Capsule Server と同期するには、以下のコマンドを実行します。
hammer capsule content synchronize --id capsule_id_number
# hammer capsule content synchronize --id capsule_id_numberCopy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite Server 環境の特定のライフサイクル環境を Capsule Server と同期するには、以下のコマンドを実行します。
hammer capsule content synchronize --id external_capsule_id_number \ --environment-id environment_id_number
# hammer capsule content synchronize --id external_capsule_id_number \ --environment-id environment_id_numberCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ライフサイクル環境での作業に関する詳細は、『Red Hat Satellite コンテンツ管理ガイド』の「アプリケーションライフサイクルの作成」を参照してください。
Web UI を使用した Capsule Server へのライフサイクル環境の追加
- Satellite Web UI で、インフラストラクチャー > カプセル に移動し、カプセルを選択します。
- 編集 をクリックします。
- ライフサイクル環境タブで Env を選択します。
- カプセルのコンテンツを同期するには、概要タブの 同期 ボタンをクリックします。
2 つのオプションから 1 つ選択します。
- 最適同期
- 完全同期
3.4. 管理対象ホスト上での電源管理の有効化 リンクのコピーリンクがクリップボードにコピーされました!
Capsule Server でベースボード管理コントローラー (BMC) を有効にすると、IPMI (Intelligent Platform Management Interface) または類似したプロトコルを使用して管理対象ホストで電源管理コマンドを使用できます。
Satellite Capsule サーバー上の BMC サービスを使用すると、さまざまな電源管理タスクを実行できます。この機能の基礎となるプロトコルは IPMI です (BMC 機能とも呼ばれます)。IPMI は、ホストの CPU から独立して実行する専用プロセッサーに接続された管理対象ハードウェア上で、特別なネットワークインターフェースを使用します。多くのインスタンスでは、BMC 機能はシャーシ管理の一部としてシャーシベースのシステムに組み込まれます (シャーシの専用モジュール)。
BMC サービスの詳細は『ホストの管理』の「追加のネットワークインターフェースの設定」を参照してください。
作業を開始する前に
- すべての管理対象ホストに BMC タイプのネットワークインターフェースが搭載されている必要があります。Satellite はこの NIC を使用して適切な認証情報をホストに渡します。
管理対象ホスト上での電源管理の有効化
オプションを使用してインストーラーを実行し、BMC を有効にします。
satellite-installer --scenario capsule \ --foreman-proxy-bmc "true" \ --foreman-proxy-bmc-default-provider "freeipmi"
# satellite-installer --scenario capsule \ --foreman-proxy-bmc "true" \ --foreman-proxy-bmc-default-provider "freeipmi"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5. Capsule Server で DNS、DHCP、および TFTP の設定 リンクのコピーリンクがクリップボードにコピーされました!
Capsule Server で DNS、DHCP、および TFTP を設定できます。
Capsule Server が外部 DNS および DHCP サービスを使用するよう設定することもできます。詳細については、「外部サービスの設定」を参照してください。
設定可能な全オプションを表示するには、satellite-installer --scenario capsule --help コマンドを実行します。
作業を開始する前に
-
DNS サーバーの適切なネットワーク名 (
dns-interface) が用意されている必要があります。 -
DHCP サーバーの適切なインターフェース名 (
dhcp-interface) が用意されている必要があります。
Capsule Server での DNS、DHCP、および TFTP の設定
ご使用の環境に該当するオプションを使用して Capsule インストーラーを実行します。
以下の例は、完全なプロビジョニングサービスを示してます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
DHCP、DNS および TFTP サービスの情報は、『プロビジョニングガイド』の「ネットワークサービスの設定」セクションを参照してください。
3.6. カスタムサーバー証明書を使用した Capsule Server の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 6 には、Satellite Server、Capsule Server、およびすべてのホスト間で暗号化された通信を可能にするデフォルトの SSL 証明書が含まれます。必要な場合は、デフォルト証明書をカスタム証明書に置き換えることができます。たとえば、会社のセキュリティーポリシーで、SSL 証明書を特定の認証局から取得することが規定されていることがあります。
前提条件
- カスタムの証明書で設定した Satellite Server。詳しい情報は、『オンラインネットワークからの Satellite Server のインストール』の「カスタムサーバー証明書での Satellite Server の設定」を参照してください。
- インストールされ Satellite Server に登録された Capsule サーバー。詳細は「2章Capsule Server のインストール」を参照してください。
各 Capsule サーバー上のカスタム証明書を使用するには、以下の手順を実行します。
3.6.1. Capsule Server 向けの SSL 証明書の取得 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、PEM エンコードの証明書が生成されます。SSL 証明書には、PEM エンコードのみを使用してください。
- 各サーバーの証明書は一意であるため、Satellite Server の証明書は Capsule Server で使用しないでください。
rootユーザーのみがアクセスできる、すべてのソース証明書ファイルを含むディレクトリーを作成します。mkdir /root/capsule_cert cd /root/capsule_cert
# mkdir /root/capsule_cert # cd /root/capsule_certCopy to Clipboard Copied! Toggle word wrap Toggle overflow これらの例では、ディレクトリーに
/root/capsule_certが使用されています。Capsule Server が複数ある場合は、ディレクトリーが一致するように名前を指定します。たとえば、capsule_apacとcapsule_emeaという名前の Capsule Server がある場合は、それぞれ capsule_apac と capsule_emea という名前のディレクトリーを作成できます。これは必須ではありませんが、特定の Capsule Server のファイルを別の Capsule Server で使用するリスクが軽減されます。Certificate Signing Request (CSR) を署名する秘密鍵を作成します。
注記Capsule Server 向けの秘密鍵がすでにある場合は、この手順を省略します。
openssl genrsa -out /root/capsule_cert/capsule_cert_key.pem 4096
# openssl genrsa -out /root/capsule_cert/capsule_cert_key.pem 4096Copy to Clipboard Copied! Toggle word wrap Toggle overflow Certificate Signing Request (CSR) を作成します。
Certificate Signing Request は、証明書を要求しているサーバーの詳細を含むテキストファイルです。このコマンドを使用する場合は、(前の手順で出力された) 秘密鍵を提供し、Capsule Server に関するいくつかの質問に答えます。その結果、Certificate Signing Request がファイルに保管されます。
注記証明書の Common Name (CN) は、証明書が使用されるサーバーの完全修飾ドメイン名 (FQDN) に一致する必要があります。
サーバーの FQDN を確認するために、サーバーでコマンド
hostname -fを実行します。openssl req -new \ -key /root/capsule_cert/capsule_cert_key.pem \ -out /root/capsule_cert/capsule_cert_csr.pem
# openssl req -new \ -key /root/capsule_cert/capsule_cert_key.pem \1 -out /root/capsule_cert/capsule_cert_csr.pem2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow Certificate Signing Request セッションの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書署名要求を認証局に送信します。
要求を送信する場合は、証明書のライフスパンを指定する必要があります。証明書署名要求を送信する方法は異なるため、推奨される方法について認証局にお問い合わせください。要求に対する応答で、認証局バンドルと署名済み証明書を別々のファイルで受け取ることになります。
3.6.2. Capsule Server の SSL 証明書の検証 リンクのコピーリンクがクリップボードにコピーされました!
Satellite Server で、katello-certs-check コマンドを使用して Capsule Server の証明書入力ファイルを検証します。このプロセスでは、Capsule Server の鍵、CSR、および SSL 証明書が Capsule Server から Satellite Server にコピーされている必要があります。
katello-certs-check \ -c /root/capsule_cert/capsule_cert.pem \ -k /root/capsule_cert/capsule_cert_key.pem \ -b /root/capsule_cert/ca_cert_bundle.pem
# katello-certs-check \
-c /root/capsule_cert/capsule_cert.pem \
-k /root/capsule_cert/capsule_cert_key.pem \
-b /root/capsule_cert/ca_cert_bundle.pem
証明書が正常に検証された場合、出力には以下の情報が含まれます。
Check private key matches the certificate: [OK] Check ca bundle verifies the cert file: [OK]
Check private key matches the certificate: [OK]
Check ca bundle verifies the cert file: [OK]
katello-certs-check コマンドの出力である capsule-certs-generate コマンドをメモして、以下の手順で使用します。
3.6.3. Capsule サーバーの証明書アーカイブファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
Capsule サーバーのインストーラーでは、サーバーの証明書がアーカイブファイルで必要になります。このファイルを作成するには、Satellite Server で capsule-certs-generate コマンドを使用します。
capsule-certs-generate コマンドは、各外部 Capsule Server に対して 1 回だけ実行する必要があります。これらの例では、capsule.example.com が FQDN の例であり、capsule_certs.tar がアーカイブファイル名の例です。これらを、ご使用の環境に適切な値に置き換えます。既存の証明書アーカイブファイルを上書きしないように注意してください。たとえば、capsule1 と capsule2 という名前の Capsule Server がある場合は、証明書アーカイブファイルの名前として capsule1_certs.tar と capsule2_certs.tar を指定できます。
Satellite Server で実行すると、パラメーターなど capsule-certs-generate コマンドが katello-certs-check で出力されます。詳しい情報は、『オンラインネットワークからの Satellite Server のインストール』の「カスタムサーバー証明書での Satellite Server の設定」を参照してください。
-
エディターで
capsule-certs-generateコマンドのコピーを準備します。 -
Capsule Server の FQDN に一致するよう
--foreman-proxy-fqdnの値を編集し、証明書アーカイブファイルのファイルパスおよび名前に一致するよう--certs-tarの値を編集します。 -
Capsule Server をインストールしていない場合は、
--certs-update-serverパラメーターを削除します。これは、既存の Capsule Server の証明書を更新するためにのみ使用されます。 -
編集した
capsule-certs-generateコマンドをテキストエディターから端末にコピーします。 編集した
capsule-certs-generateコマンドを実行します。capsule-certs-generateコマンドの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite サーバーで、証明書アーカイブファイルを Capsule サーバーにコピーします。要求された場合は
rootユーザーのパスワードを提供します。この例では、アーカイブファイルを
rootユーザーのホームディレクトリーにコピーしていますが、別の場所にコピーすることもできます。scp /root/capsule_cert/capsule_certs.tar root@capsule.example.com:
# scp /root/capsule_cert/capsule_certs.tar root@capsule.example.com:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
capsule-certs-generate コマンドの出力である satellite-installer コマンドをメモして、以下の手順で使用します。
3.6.4. Capsule Server のカスタム証明書のインストール リンクのコピーリンクがクリップボードにコピーされました!
この手順は、Capsule サーバーで完了してください。
Capsule サーバーのカスタム証明書をインストールするには、satellite-installer スクリプトをカスタムパラメーターで実行します。コマンドとパラメーターは、「Capsule サーバーの証明書アーカイブファイルの作成」のcapsule-certs-generate コマンドで得た出力を使用します。
-
エディターで
satellite-installerコマンドのコピーを準備をします。 -
--foreman-proxy-content-certs-tarの値を、証明書アーカイブファイルの場所に変更します。 -
Capsule サーバーで追加機能を有効にする場合は、それらのパラメーターを
satellite-installerコマンドに追加します。インストーラーの全パラメーターを確認するには、satellite-installer --scenario capsule --helpコマンドを実行してください。 -
編集した
satellite-installerコマンドをテキストエディターから端末にコピーします。 編集した
satellite-installerコマンドを実行します。カスタム
satellite-installerコマンドの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
satellite-installer コマンドの値は、capsule-certs-generate コマンドの出力からも分かるように、各 Capsule Server に対して一意です。したがって、複数の Capsule Server で同じコマンドを使用しないでください。
証明書が関連するすべてのホストにデプロイされた後であっても、証明書アーカイブファイル (.tar ファイル) は削除しないでください。このファイルは、たとえば、Capsule サーバーをアップグレードする際に必要になります。証明書アーカイブファイルがインストーラーによって検出されない場合は、以下のようなメッセージが出て失敗します。
[ERROR YYYY-MM-DD hh:mm:ss main] tar -xzf /var/tmp/srvcapsule01.tar returned 2 instead of one of [0]
[ERROR YYYY-MM-DD hh:mm:ss main] tar -xzf /var/tmp/srvcapsule01.tar returned 2 instead of one of [0]
3.6.5. すべてのホストへの Capsule Server の新しい証明書のインストール リンクのコピーリンクがクリップボードにコピーされました!
外部の Capsule サーバーに接続するホストにはサーバーのカスタム証明書が必要です。すべての Capsule サーバーのホストで以下のコマンドを実行します。
Satellite Server のホスト名ではなく、Capsule サーバーのホスト名を使用します。
yum -y localinstall \ http://capsule.example.com/pub/katello-ca-consumer-latest.noarch.rpm
# yum -y localinstall \
http://capsule.example.com/pub/katello-ca-consumer-latest.noarch.rpm
3.7. mongod へのアクセスの制限 リンクのコピーリンクがクリップボードにコピーされました!
データ損失の危険を減らすために、MongoDB データベースデーモン mongod へのアクセスは apache ユーザーと root ユーザーにだけ許可する必要があります。
Satellite Server と Capsule Server で mongod へのアクセスを制限するには、以下のコマンドを使用します。
ファイヤーウォールを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更を永続化します。
firewall-cmd --runtime-to-permanent
# firewall-cmd --runtime-to-permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow