10.5. Registration
このセクションでは、Satellite Server または Capsule Server にホストを登録する方法を説明します。ホストを登録する方法は 2 つあります。
- コンシューマー RPM (server.example.com/pub/katello-ca-consumer-latest.noarch.rpm)をダウンロードしてインストールしてから、subscription manager を実行します。この方法は、新規インストールしたホストに適しています。詳細は、「ホスト登録の設定」 および 「ホストの登録」 を参照してください。
- ブートストラップスクリプト(server.example.com/pub/bootstrap.py)をダウンロードして実行します。この方法は、新規インストールしたホストにも、Satellite 5 や別の Satellite 6 に登録済みのホストなどにも適しています。詳細は、「ブートストラップスクリプトを使用したホストの Satellite 6 への登録」 を参照してください。
Red Hat Subscription Manager 経由で Satellite Server に登録されたホストは、キックスタートの後フェーズまたはターミナルから発生する可能性があります。これは、ホストのコンテンツホストからアクセスできる ページに表示 。Satellite Server がプロビジョニングするホストは、+ ページに表示されます。
10.5.1. ホスト登録の設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux ホストは、デフォルトでカスタマーポータルの Subscription Management に登録されます。各ホスト設定を更新して、正しい Satellite Server または Capsule Server から更新を受け取れるようにする必要があります。
前提条件
- ホストは、以下の Red Hat Enterprise Linux バージョンを使用している必要がある。
- 5.7 以降
- 6.4 以上
- 7.0 以上
- Red Hat Enterprise Linux のすべてのアーキテクチャーがサポートされる (i386、x86_64、s390x、ppc_64)。
- Satellite Server、任意の Capsule Server、およびすべてのホストが同じ NTP サーバーで同期されていることを確認します。
- 時刻同期ツールが Satellite Server、任意の Capsule Server、およびホストで実行されていることを確認します。
- Red Hat Enterprise Linux 6 の場合:
# chkconfig ntpd on; service ntpd start - Red Hat Enterprise Linux 7 の場合:
# systemctl start chronyd; systemctl enable chronyd
- デーモン
rhsmcertdがホストで実行されていることを確認します。- Red Hat Enterprise Linux 6 の場合:
# service rhsmcertd start - Red Hat Enterprise Linux 7 の場合:
# systemctl start rhsmcertd
以下の手順では、ホストを Red Hat Satellite に登録する設定方法を示します。
手順10.2 ホストを登録するための設定:
- Satellite Server または Capsule Server の完全修飾ドメイン名(FQDN)をメモしておきます(例: server.example.com )。
- ホストでターミナルを開き、root でログインします。
- ホストを登録する Satellite Server または Capsule Server からコンシューマー RPM をインストールします。コンシューマー RPM は、ホストのコンテンツソースのロケーションを更新し、ホストが Red Hat Satellite に指定したコンテンツソースからコンテンツをダウンロードできるようにします。
# rpm -Uvh http://server.example.com/pub/katello-ca-consumer-latest.noarch.rpm重要実行中の Docker デーモンが再起動します。注記katello-ca-consumer-hostname-1.0-1.noarch.rpm は、サーバーのホスト名を含む、利用可能な追加の katello-ca-consumer RPM です。katello-ca-consumer-latest.noarch.rpm rpm は常に最新のバージョンを反映します。どちらを使用しても達成できる目的は同じです。
10.5.2. ホストの登録 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- 「ホスト登録の設定」 の手順をすべて完了してください。
- ホストに対して、適切なコンテンツビューおよび環境に関連付けられたアクティベーションキーが存在することを確認します。そうでない場合は、7章アクティベーションキーの設定 を参照してください。アクティベーションキーでは、デフォルトで自動アタッチ機能が有効になっています。この機能は、一般的にハイパーバイザーとして使用されるホストで使用されます。
- subscription-manager ユーティリティーのバージョンが 1.10 以上であることを確認します。パッケージは標準の Red Hat Enterprise Linux リポジトリーで入手可能です。
手順10.3 ホストを登録する方法:
- ホストでターミナルを開き、root でログインします。
- Red Hat Subscription Manager (RHSM) に関連するすべての以前のホストデータを消去します。
# subscription-manager clean - RHSM を使用してホストを登録します。
# subscription-manager register --org your_org_name --activationkey your_activation_key例10.1 登録後のコマンド出力:
# subscription-manager register --org MyOrg --activationkey TestKey-1 The system has been registered with id: 62edc0f8-855b-4184-b1b8-72a9dc793b96
注記
アクティベーションキーで定義したコンテンツビューとライフサイクル環境を上書きするには、
--environment オプションを使用します。たとえば、開発ライフサイクル環境のコンテンツビュー MyView にホストを登録するには、以下を実行します。
# subscription-manager register --org your_org_name --environment Development/MyView --activationkey your_activation_key
注記
Red Hat Enterprise Linux 6.3 ホストの場合には、リリースバージョンが Red Hat Enterprise Linux 6 Server にデフォルト設定されており、6.3 リポジトリーを指定する必要があります。
手順10.4 Red Hat Enterprise Linux 6.3 からリポジトリーをポイントする方法:
- Red Hat Satellite で、
を選択します。 - 変更する必要のあるホストの名前をクリックします。
- コンテンツホストの コンテンツ セクションで、リリースバージョン の右側にある編集アイコンをクリック します。
- のドロップダウンメニューから、"6.3" を選択します。
- をクリックします。
10.5.3. Katello エージェントのインストール リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下の手順は、Satellite 6 に登録されているホストに Katello エージェントをインストールする方法を示しています。katello-agent パッケージは、
goferd service を提供する gofer パッケージによって異なります。Red Hat Satellite Server または Capsule Server が、コンテンツホストに適用可能なエラータに関する情報を提供できるように、このサービスを有効にしておく必要があります。
前提条件
Satellite バージョン 6.1 以降では、
Satellite Tools リポジトリーを有効にする必要があります。Red Hat Common リポジトリーは使用されなくなり、Satellite バージョン 6.1 以降と互換性がありません。
Satellite Tools リポジトリーは必要なパッケージを提供するため、有効にして Red Hat Satellite Server と同期し、ホストが利用できるようにする必要があります。
手順10.5 Satellite Tools リポジトリーが有効にされていることを確認するには、以下を実行します。
- Satellite Web UI を開き、 に移動して、RPM タブをクリックします。
- Red Hat Enterprise Linux Server 項目を見つけ、展開します。
- Red Hat Satellite Tools 6.2 (RHEL VERSION Server 用) (RPM) 項目を見つけ、展開します。Red Hat Satellite Tools 6.2 の項目が表示されていない場合は、カスタマーポータルから取得したサブスクリプションマニフェストにその項目が含まれないことが原因として考えられます。この問題を修正するには、カスタマーポータルにログインし、これらのリポジトリーを追加し、サブスクリプションマニフェストをダウンロードして、Satellite にインポートします。
- リポジトリーの名前の横にある Enabled チェックボックスが選択されていることを確認します。選択されていない場合は、選択します。
ホストで実行している Red Hat Enterprise Linux の各サポート対象メジャーバージョンに対して
Satellite Tools リポジトリーを有効にします。
手順10.6 Katello エージェントをインストールする方法:
- ホストで、
satellite-toolsリポジトリーが有効になっていることを確認します。自動アタッチが有効なアクティベーションキーを使用してホストを登録した場合、リポジトリーはすでに自動的に有効になっています。# yum repolist enabled | grep -i satellite-toolssatellite-toolsが有効になっていない場合は、以下のコマンドで有効にします。# subscription-manager repos --enable=rhel-version-server-satellite-tools-6.2-rpms - 以下のコマンドを使用して
katello-agentRPM パッケージをインストールします。# yum install katello-agent goferdサービスが実行していることを確認します。- Red Hat Enterprise Linux 6 の場合は、以下のコマンドを入力します。
# service goferd start - Red Hat Enterprise Linux 7 の場合は、以下のコマンドを入力します。
# systemctl start goferd
10.5.4. Puppet エージェントのインストールおよび設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、ホストに Puppet エージェントをインストールして設定する方法について説明します。Puppet エージェントを正しくインストールして設定している場合は、 に移動して、Red Hat Satellite Server に表示されるすべてのホストをリストできます。
前提条件
Satellite Tools リポジトリーは必要なパッケージを提供するため、有効にして Red Hat Satellite Server と同期し、ホストが利用できるようにする必要があります。
手順10.7 Satellite Tools リポジトリーが有効にされていることを確認するには、以下を実行します。
- Satellite Web UI を開き、 に移動して、RPM タブをクリックします。
- Red Hat Enterprise Linux Server 項目を見つけ、展開します。
- Red Hat Satellite Tools 6.2 (RHEL VERSION Server 用) (RPM) 項目を見つけ、展開します。Red Hat Satellite Tools 6.2 の項目が表示されていない場合は、カスタマーポータルから取得したサブスクリプションマニフェストにその項目が含まれないことが原因として考えられます。この問題を修正するには、カスタマーポータルにログインし、これらのリポジトリーを追加し、サブスクリプションマニフェストをダウンロードして、Satellite にインポートします。
- リポジトリーの名前の横にある Enabled チェックボックスが選択されていることを確認します。選択されていない場合は、選択します。
手順10.8 Puppet エージェントをインストールし、有効にする方法:
- ホストでターミナルコンソールを開き、
rootユーザーとしてログインします。 - 以下のコマンドを使用して、
satellite-toolsリポジトリーが有効になっていることを確認します。# yum repolist enabled | grep -i satellite-toolssatellite-toolsが有効になっていない場合は、以下のコマンドで有効にします。# subscription-manager repos --enable=rhel-version-server-satellite-tools-6.2-rpms - 以下のコマンドを使用して Puppet エージェントの RPM パッケージをインストールします。
# yum install puppet - 起動時に開始する Puppet エージェントを設定します。
- Red Hat Enterprise Linux 6 の場合:
# chkconfig puppet on - Red Hat Enterprise Linux 7 の場合
# systemctl enable puppet
前提条件
Puppet エージェントを設定する前に、以下の条件を満たしている必要があります。
- ホストを Red Hat Satellite Server に登録しておく必要があります。
- Satellite Tools リポジトリーが有効にされている必要があります。
- Puppet パッケージがホストにインストールされている必要があります。
手順10.9 Puppet エージェントを設定する方法:
/etc/puppet/puppet.confファイルでサーバーおよび環境設定を指定して、Puppet エージェントを設定します。# vi /etc/puppet/puppet.conf[main] # The Puppet log directory. # The default value is '$vardir/log'. logdir = /var/log/puppet # Where Puppet PID files are kept. # The default value is '$vardir/run'. rundir = /var/run/puppet # Where SSL certificates are kept. # The default value is '$confdir/ssl'. ssldir = /var/lib/puppet/ssl ... [agent] # The file in which puppetd stores a list of the classes # associated with the retrieved configuratiion. Can be loaded in # the separate ``puppet`` executable using the ``--loadclasses`` # option. # The default value is '$confdir/classes.txt'. classfile = $vardir/classes.txt pluginsync = true report = true ignoreschedules = true daemon = false ca_server = satellite.example.com server = satellite.example.com environment = KT_Example_Org_Library_RHEL6Server_3 # Where puppetd caches the local configuration. An # extension indicating the cache format is added automatically. # The default value is '$confdir/localconfig'. localconfig = $vardir/localconfig ...重要ホストの所属先の Puppet 環境名にenvironmentパラメーターを設定します。Puppet 環境は、ホストまたはホストグループに関連付けることができる Puppet モジュールのコレクションです。- ホストの Puppet 環境を見つけるには、
に移動し、ホストテーブルの Environment コラムを検査します。 - Puppet 環境をホストに割り当てるには、
に移動し、選択したホストの横にある をクリックします。 - Satellite Server で有効な Puppet 環境を表示するには、環境
。Satellite Server の /etc/puppet/environments/ディレクトリーを確認して、Puppet 環境に関連付けられている Puppet モジュールとマニフェストを確認することもできます。
- ホスト上で Puppet エージェントを実行します。
# puppet agent -t --server satellite.example.com - Satellite Server Web UI を使って Puppet クライアントの SSL 証明書に署名します。
- Web UI から Satellite Server にログインします。
- インフラストラクチャー Capsule を
ます。 - 必要な Capsule の右側にあるドロップダウンメニューから を選択します。
- 必要なホストの右側にある をクリックします。
- puppet agent コマンドを再度入力します。
# puppet agent -t --server satellite.example.com
注記
ホストに Puppet エージェントが設定されている場合は、All Hosts に表示されますが、ホストは組織またはロケーションに割り当てられないため、Any Organization が選択されている場合に限ります。ホストを組織に割り当てるには、「ホストの特定組織への割り当て」 を参照するか、またはホストをロケーションに割り当てるには、「ホストの特定ロケーションへの割り当て」 を参照してください。
10.5.5. ブートストラップスクリプトを使用したホストの Satellite 6 への登録 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
6.2 以降に含まれているブートストラップスクリプトを使用して、新規ホストを登録するか、既存のホストを Satellite 6 に移行できます。
ブートストラップスクリプトは、コンテンツの登録、製品の証明書、および Puppet の設定を処理します。ブートストラップスクリプトには、登録先(RHN、Satellite 5、SAM、RHSM)、または登録され、Satellite 6 にサブスクライブされているかどうかに関係なく、Red Hat Enterprise Linux システムを使用できるという利点があります。
ブートストラップスクリプトのパッケージである katello-client-bootstrap は、デフォルトで Satellite Server のベースシステムにインストールされ、スクリプトは
/var/www/html/pub/ ディレクトリーにインストールされ、ホストで使用できるようになります。以下の形式の URL を使用してアクセスできます。 satellite6.example.com/pub/bootstrap.py
このスクリプトには readme ファイルがあります。Satellite CLI でこのファイルを表示するには、以下のコマンドを実行します。
$ less /usr/share/doc/katello-client-bootstrap-version/README.md
手順10.10 ホストへのブートストラップのインストール
スクリプトは 1 度しか必要ではなく、また、
root ユーザー専用であるため、/root に配置して使用後に削除するか、/usr/local/sbin に配置できます。この例では、/root を使用します。
root で、以下のようにブートストラップスクリプトをホストにインストールします。
- 正しいディレクトリーにいることを確認します。たとえば、
/rootに変更するには、次のコマンドを実行します。# cd - スクリプトをダウンロードします。これにより、スクリプトが現行ディレクトリーにインストールされます。
# wget http://satellite6.example.com/pub/bootstrap.py - スクリプトを実行可能にします。
# chmod +x bootstrap.py - スクリプトが実行できることを確認するには、以下のように使用ステートメントを表示します。
# ./bootstrap.py -h - 移行プロセスが完了したら、スクリプトを削除できます。
# cd # rm bootstrap.py
手順10.11 ブートストラップスクリプトの実行
前提条件
- 前述のように、ブートストラップスクリプトがインストールされています。
- 必要なホストのアクティベーションキーがある。アクティベーションキーの設定は、7章アクティベーションキーの設定 を参照してください。
- ホストグループを作成済みである。ホストグループの作成については、「ホストグループの作成」 を参照してください。
- ご使用の環境に適した値を使用して、以下のようにブートストラップコマンドを出力します。
--serverオプションの場合は、Satellite Server または Capsule Server の FQDN 名を指定します。for--location,--organization, and--hostgroupオプションは、オプションへの引数として、ラベルではなく引用符で囲まれた名前を使用します。詳細なユースケースは 「詳細なブートストラップスクリプトの設定」 を参照してください。スクリプトは、the-# bootstrap.py --login=admin \ --server satellite6.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_keyloginオプションで入力した Satellite ユーザー名に対応するパスワードの入力を求めるプロンプトを出します。 - スクリプトが実行され、進捗の通知が標準出力(
stdout)に送信されます。証明書の承認を求めるプロンプトが表示されるのを確認します。以下に例を示します。ホストは、管理者が Puppet 証明書を承認するまで無期限に待機します。[NOTIFICATION], [2016-04-26 10:16:00], [Visit the UI and approve this certificate via Infrastructure->Capsules] [NOTIFICATION], [2016-04-26 10:16:00], [if auto-signing is disabled] [RUNNING], [2016-04-26 10:16:00], [/usr/bin/puppet agent --test --noop --tags no_such_tag --waitforcert 10]- Web UI で、
に移動します。 - 指定した FQDN-
serverオプションに対応する Capsule 名の右側にある を選択します。 - コラムで、 を選択して、ホストの Puppet 証明書を承認します。
- ホストに戻り、残りのブートストラップ処理が完了するのを確認します。
- Web UI で
に移動し、そのホストが適切なホストグループに接続していることを確認します。
ホストに Katello エージェントがインストールされていない場合は、「Katello エージェントのインストール」 に進みます。
10.5.6. 詳細なブートストラップスクリプトの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ブートストラップスクリプトを使用した標準的なワークフローについては、手順10.11「ブートストラップスクリプトの実行」 に概説しています。このセクションでは、さらにいくつかの例を説明します。
- Satellite 6 から別の Satellite 6 へのホストの移行
- -
forceを指定してこのスクリプトを使用します。スクリプトは、以前の Satellite から katello-ca-consumer-* パッケージを削除し、新しい Satellite から katello-ca-consumer-* パッケージをインストールします。以下に例を示します。# bootstrap.py --login=admin \ --server satellite6.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_key \ --force - Red Hat Network (RHN)または Satellite 5 から Satellite 6 へのホストの移行
- ブートストラップスクリプトは、システムがレガシープラットフォームに登録されていることを示す指標として、
/etc/syconfig/rhn/systemidが存在し、RHN の接続が有効であることを検出します。次にこのスクリプトは rhn-classic-migrate-to-rhsm を呼び出して RHN からシステムを移行します。監査上の理由で、デフォルトではシステムのレガシープロファイルは削除されません。レガシープロファイルを削除するには、use--legacy-purgeおよび use--legacy-loginを使用して、プロファイルを削除する適切な権限を持つユーザーアカウントを指定します。プロンプトが表示されたらユーザーアカウントのパスワードを入力します。以下に例を示します。# bootstrap.py --login=admin \ --server satellite6.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_key \ --legacy-purge \ --legacy-login rhn-user - Satellite 6 にホストを登録すると、Puppet 設定を省略します。
- デフォルトでは、ブートストラップスクリプトを使用して、コンテンツ管理および設定管理に対してホストを設定します。既存の設定管理システムがあり、ホストに puppet をインストールしない場合は use
--skip-puppetを使用します。以下に例を示します。# bootstrap.py --login=admin \ --server satellite6.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_key \ --skip-puppet - コンテンツ管理専用としてホストを Satellite 6 に登録する。
- システムをコンテンツホストとして登録し、プロビジョニングおよび設定管理機能を除外するには、use
--skip-foremanを使用します。以下に例を示します。# bootstrap.py --server satellite6.example.com \ --organization="Example Organization" \ --activationkey=activation_key \ --skip-foreman - ブートストラップスクリプトがコンシューマー RPM のダウンロードに使用する方法を変更します。
- デフォルトでは、ブートストラップスクリプトは HTTP を使用してコンシューマー RPM (server.example.com/pub/katello-ca-consumer-latest.noarch.rpm)をダウンロードします。環境によっては、ホストと Satellite との間の HTTPS のみを許可することが望ましい場合があります。use
--download-methodを使用して、ダウンロードメソッドを HTTP から HTTPS に変更します。以下に例を示します。# bootstrap.py --login=admin \ --server satellite6.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_key \ --download-method https - ホストの IP アドレスの Satellite への指定
- インターフェイスが複数あるホスト、または 1 つのインターフェイスに IP アドレスが複数あるホストでは、IP アドレスの自動検出を無効にして、特定の IP アドレスを Satellite に指定する必要がある場合があります。use--
ip.以下に例を示します。# bootstrap.py --login=admin \ --server satellite6.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_key \ --ip 192.x.x.x - ホストでのリモート実行の有効化
- use--
rexand--rex-userを使用して、リモート実行を有効にし、指定したユーザーに必要な SSH キーを追加します。以下に例を示します。# bootstrap.py --login=admin \ --server satellite6.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_key \ --rex \ --rex-user root - 登録時にホストのドメインの作成
- ホストレコードを作成するには、スクリプトを実行する前に、ホストの DNS ドメインが Satellite に存在している必要があります。ドメインが存在しない場合は、
--add-domainを使用して追加します。以下に例を示します。# bootstrap.py --login=admin \ --server satellite6.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_key \ --add-domain - ホストに任意の完全修飾ドメイン名(FQDN)を提供します。
- ホストのホスト名が FQDN でない場合や、RFC 準拠していない場合(アンダースコアなどの文字が含まれている)には、ホスト名の検証の段階でスクリプトが失敗します。use--
fqdnを使用して、Satellite にレポートする FQDN を指定します。これを実行するには、hammer を使用してcreate_new_host_when_facts_are_uploadedとcreate_new_host_when_report_is_uploadedを false に設定する必要があります。以下に例を示します。# hammer settings set \ --name create_new_host_when_facts_are_uploaded \ --value false # hammer settings set \ --name create_new_host_when_report_is_uploaded \ --value false# bootstrap.py --login=admin \ --server satellite6.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_key \ --fqdn node100.example.com