3.4. ブートストラップスクリプトを使ったホストの Red Hat Satellite への登録
非推奨 グローバル登録機能を使用した登録を使用します。
ブートストラップスクリプトを使用して、コンテンツの登録と Puppet の設定を自動化します。新しいホストの登録や、既存のホストの Satellite 5、RHN、SAM または RHSM から Red Hat Satellite 6 への移行には、ブートストラップスクリプトを使用できます。
Satellite Server のベースオペレーティングシステムに、デフォルトで katello-client-bootstrap
パッケージがインストールされています。bootstrap.py
スクリプトは、/var/www/html/pub/
ディレクトリーにインストールされており、satellite.example.com/pub/bootstrap.py
でホストに公開されます。このスクリプトでは、/usr/share/doc/katello-client-bootstrap-version/README.md
ファイルにドキュメントが含まれます。
ブートストラップスクリプトを使用するには、ホストにスクリプトをインストールする必要があります。スクリプトは 1 度しか必要ではなく、また、root
ユーザー専用であるため、/root
または /usr/local/sbin
に配置して、使用後に削除できます。この手順では、/root
を使用します。
前提条件
-
Satellite ユーザーに、ブートストラップスクリプト実行に必要なパーミッションを割り当て済みである。この手順の例では、
admin
ユーザーを指定します。セキュリティーポリシーの関係上、この要件を満たせない場合には、新しいロールを作成して最小限必要なパーミッションを割り当てて、スクリプトを実行するユーザーにこのロールを追加してください。詳細は、「ブートストラップスクリプトのパーミッションの設定」 を参照してください。 - Satellite Tools 6.10 リポジトリーを有効にしたホストのアクティベーションキーを用意する。アクティベーションキーの設定方法は、コンテンツ管理ガイド の アクティベーションキーの管理 を参照してください。
- ホストグループを作成済みである。ホストグループの作成方法は 「ホストグループの作成」 を参照してください。
Puppet の考慮事項
ホストグループを Production
環境内に作成した Puppet 環境に関連付けると、Puppet はホストグループからホストを登録する時に Puppet CA 証明書の取得に失敗します。
ホストグループに関連付けて、適切な Puppet 環境を作成するには、以下の手順を実行します。
手動でディレクトリーを作成して、所有者を変更します。
mkdir /etc/puppetlabs/code/environments/example_environment chown apache /etc/puppetlabs/code/environments/example_environment
# mkdir /etc/puppetlabs/code/environments/example_environment # chown apache /etc/puppetlabs/code/environments/example_environment
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 設定 > 環境 へと移動し、環境をインポート をクリックします。ボタン名には、内部または外部の Capsule の FQDN が含まれます。
- 作成したディレクトリーを選択し、更新 をクリックします。
手順
-
root
ユーザーで、ホストにログインします。 スクリプトをダウンロードします。
curl -O http://satellite.example.com/pub/bootstrap.py
# curl -O http://satellite.example.com/pub/bootstrap.py
Copy to Clipboard Copied! Toggle word wrap Toggle overflow スクリプトを実行可能にします。
chmod +x bootstrap.py
# chmod +x bootstrap.py
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヘルプテキストを表示して、スクリプトが実行可能であることを確認します。
Red Hat Enterprise Linux 8 の場合:
/usr/libexec/platform-python bootstrap.py -h
# /usr/libexec/platform-python bootstrap.py -h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 他の Red Hat Enterprise Linux バージョンの場合:
./bootstrap.py -h
# ./bootstrap.py -h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ご使用の環境に適した値を使用して、ブートストラップコマンドを入力します。
--server
オプションの場合は、Satellite Server または Capsule Server の FQDN を指定します。オプションが--location
、--organization
、および--hostgroup
の場合は、オプションへの引数として、ラベルではなく引用符で囲まれた名前を使用します。詳細なユースケースは 「詳細なブートストラップスクリプトの設定」 を参照してください。Red Hat Enterprise Linux 8 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 5、6、7 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
--login
オプションで指定した Satellite ユーザーのパスワードを入力します。スクリプトは、進捗の通知を stdout に送信します。
-
スクリプトでプロンプトが表示されたら、ホストの Puppet 証明書を承認します。Satellite Web UI で Infrastructure > Capsules に移動して、
--server
オプションで指定した Satellite または Capsule Server を検出します。 - アクション コラムの一覧から、証明書 を選択します。
- アクション コラムで、署名 をクリックして、ホストの Puppet 証明書を承認します。
- ホストに戻り、残りのブートストラップ処理が完了するのを確認します。
- Satellite Web UI で ホスト > すべてのホスト に移動して、そのホストが、適切なホストグループに接続していることを確認します。
オプション: ホストの登録が完了したら、スクリプトを削除します。
rm bootstrap.py
# rm bootstrap.py
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.1. ブートストラップスクリプトのパーミッションの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、Satellite ユーザーにブートストラップスクリプトの実行に必要なパーミッションを設定します。Web UI の代わりに CLI を使用する場合は、CLI 手順 を参照してください。
手順
- Satellite Web UI で、Administer > Users に移動します。
- 必要な ユーザー名 をクリックして既存のユーザーを選択すると、選択したユーザーの情報を変更するタブが含まれる、新しいペインが表示されます。または、このスクリプトの実行専用に新規ユーザーを作成します。
- ロール タブをクリックします。
ロール リストから ホストの編集 および ビューワー を選択します。
重要ホストの編集 ロールを割り当てると、ユーザーは、ホストの編集や削除、ホストの追加が可能です。セキュリティーポリシーの関係上、この方法を使用できない場合は、以下のパーミッションを割り当てた新しいロールを作成して、このロールをユーザーに割り当ててください。
-
view_organizations
-
view_locations
-
view_domains
-
view_hostgroups
-
view_hosts
-
view_architectures
-
view_ptables
-
view_operatingsystems
-
create_hosts
-
- Submit をクリックします。
CLI 手順
ブートストラップスクリプトで最低限必要なパーミッションを持つロールを作成します。この例は、Bootstrap という名前のロールを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 既存のユーザーに新しいロールを割り当てます。
hammer user add-role --id user_id --role Bootstrap
# hammer user add-role --id user_id --role Bootstrap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、新規ユーザーを作成して、新しいロールを新規ユーザーに割り当てることもできます。Hammer を使用したユーザーの作成方法は、Administering Red Hat Satellite ガイドの Managing Users and Roles を参照してください。
3.4.2. 詳細なブートストラップスクリプトの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下のセクションでは、ブートストラップスクリプトを使用してホストを登録したり、移行したりする例をさらに紹介します。
以下の例では、admin
Satellite ユーザーを指定します。セキュリティーポリシーの関係上、この要件を満たせない場合には、新しいロールを作成してブートストラップスクリプトで最小限必要なパーミッションを割り当ててください。詳細は、「ブートストラップスクリプトのパーミッションの設定」 を参照してください。
Satellite 6 から別の Satellite 6 へのホストの移行
--force
を指定してこのスクリプトを使用し、以前の Satellite から katello-ca-consumer-*
パッケージを削除し、新しい Satellite で katello-ca-consumer-*
パッケージをインストールします。
Red Hat Enterprise Linux 8 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 5、6、7 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Network (RHN) または Satellite 5 から Satellite 6 へのホストの移行
ブートストラップスクリプトは、システムがレガシープラットフォームに登録済みであることの指標として、/etc/syconfig/rhn/systemid
が存在し、RHN の接続が有効であることを検出します。次にこのスクリプトは、rhn-classic-migrate-to-rhsm
を呼び出して RHN からシステムを移行します。このスクリプトでは監査上の理由で、システムのレガシープロファイルはデフォルトで削除されません。レガシープロファイルを削除するには、--legacy-purge
を使用してから、--legacy-login
を使用して適切なパーミッションのあるユーザーアカウントを指定し、プロファイルを削除します。プロンプトが表示されたらユーザーアカウントのパスワードを入力します。
Red Hat Enterprise Linux 8 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 5、6、7 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Satellite 6 にホストを登録して Puppet 設定を省略する手順
デフォルトでは、ブートストラップスクリプトを使用して、コンテンツ管理および設定管理に対してホストを設定します。既存の設定管理システムがあり、ホストに Puppet をインストールしない場合は --skip-puppet
を使用します。
Red Hat Enterprise Linux 8 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 5、6、7 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
コンテンツ管理専用としてホストを Satellite 6 に登録する手順
システムをコンテンツホストとして登録し、プロビジョニングおよび設定管理機能を除外するには、--skip-foreman
を使用します。
Red Hat Enterprise Linux 8 の場合は、以下のコマンドを入力します。
/usr/libexec/platform-python bootstrap.py \ --server satellite.example.com \ --organization="Example Organization" \ --activationkey=activation_key \ --skip-foreman
# /usr/libexec/platform-python bootstrap.py \ --server satellite.example.com \ --organization="Example Organization" \ --activationkey=activation_key \ --skip-foreman
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 5、6、7 の場合は、以下のコマンドを入力します。
bootstrap.py --server satellite.example.com \ --organization="Example Organization" \ --activationkey=activation_key \ --skip-foreman
# bootstrap.py --server satellite.example.com \ --organization="Example Organization" \ --activationkey=activation_key \ --skip-foreman
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ブートストラップスクリプトがコンシューマー RPM のダウンロードに使用する方法の変更
デフォルトでは、ブートストラップスクリプトは HTTP を使用してコンシューマー RPM (server.example.com/pub/katello-ca-consumer-latest.noarch.rpm) をダウンロードします。環境によっては、ホストと Satellite との間のみ HTTPS を許可する場合があります。--download-method
を使用して、ダウンロードメソッドを HTTP から HTTPS へ変更します。
Red Hat Enterprise Linux 8 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 5、6、7 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ホストの IP アドレスの Satellite への指定
インターフェイスが複数あるホスト、または 1 つのインターフェイスに IP アドレスが複数あるホストでは、IP アドレスの自動検出設定を無効にして、特定の IP アドレスを Satellite に指定する必要がでてくる場合があります。--ip
を使用してください。
Red Hat Enterprise Linux 8 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 5、6、7 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ホストでのリモート実行の有効化
--rex
および --rex-user
を使用して、リモート実行を有効にし、指定したユーザーに必要な SSH 鍵を追加します。
Red Hat Enterprise Linux 8 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 5、6、7 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
登録時のホストのドメイン作成
ホストレコードを作成するには、スクリプトを実行する前に、ホストの DNS ドメインが Satellite に存在している必要があります。ドメインが存在しない場合は、--add-domain
を使用して追加します。
Red Hat Enterprise Linux 8 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 5、6、7 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ホストへの別の FQDN の指定
ホストのホスト名が FQDN でない場合や、RFC に準拠していない場合 (アンダースコアなどの文字が含まれている) には、ホスト名の検証の段階で、スクリプトが失敗します。Satellite で使用可能な FQDN を使用するようにホストを更新できない場合は、ブートストラップスクリプトを使用して別の FQDN を指定してください。
Hammer を使用して
create_new_host_when_facts_are_uploaded
とcreate_new_host_when_report_is_uploaded
を false に設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow --fqdn
を使用して、Satellite にレポートする FQDN を指定します。Red Hat Enterprise Linux 8 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 5、6、7 の場合は、以下のコマンドを入力します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow