3.3. ブートストラップスクリプトを使ったホストの 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.7 リポジトリーを有効にしたホストのアクティベーションキーを用意する。アクティベーションキーの設定方法は『 コンテンツ管理ガイド』 の「 アクティベーションキーの管理 」を参照してください。
- ホストグループを作成済みである。ホストグループの作成方法は 「ホストグループの作成」 を参照してください。
Puppet の考慮事項
ホストグループを Production
環境内に作成した Puppet 環境に関連付けると、Puppet はホストグループからホストを登録する時に Puppet CA 証明書の取得に失敗します。
ホストグループに関連付けて、適切な Puppet 環境を作成するには、以下の手順を実行します。
手動でディレクトリーを作成して、所有者を変更します。
# mkdir /etc/puppetlabs/code/environments/example_environment # chown apache /etc/puppetlabs/code/environments/example_environment
- 設定 > 環境 へと移動し、環境をインポート をクリックします。ボタン名には、内部または外部の Capsule の FQDN が含まれます。
- 作成したディレクトリーを選択し、更新 をクリックします。
手順
-
root
ユーザーで、ホストにログインします。 スクリプトをダウンロードします。
# curl -O http://satellite.example.com/pub/bootstrap.py
スクリプトを実行可能にします。
# chmod +x bootstrap.py
ヘルプテキストを表示して、スクリプトが実行可能であることを確認します。
Red Hat Enterprise Linux 8 の場合:
# /usr/libexec/platform-python bootstrap.py -h
他の Red Hat Enterprise Linux バージョンの場合:
# ./bootstrap.py -h
ご使用の環境に適した値を使用して、ブートストラップコマンドを入力します。
--server
オプションの場合は、Satellite Server または Capsule Server の FQDN を指定します。オプションが--location
、--organization
、および--hostgroup
の場合は、オプションへの引数として、ラベルではなく引用符で囲まれた名前を使用します。詳細なユースケースは 「詳細なブートストラップスクリプトの設定」 を参照してください。Red Hat Enterprise Linux 8 の場合は、以下のコマンドを入力します。
# /usr/libexec/platform-python bootstrap.py \ --login=admin \ --server satellite.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_key
Red Hat Enterprise Linux 5、6、7 の場合は、以下のコマンドを入力します。
# ./bootstrap.py --login=admin \ --server satellite.example.com \ --location="Example Location" \ --organization="Example Organization" \ --hostgroup="Example Host Group" \ --activationkey=activation_key
--login
オプションで指定した Satellite ユーザーのパスワードを入力します。スクリプトは、進捗の通知を stdout に送信します。
-
スクリプトでプロンプトが表示されたら、ホストの Puppet 証明書を承認します。Satellite Web UI で インフラストラクチャー > Capsules に移動して、
--server
オプションで指定した Satellite または Capsule Server を検出します。 - アクション コラムの一覧から、証明書 を選択します。
- アクション コラムで、署名 をクリックして、ホストの Puppet 証明書を承認します。
- ホストに戻り、残りのブートストラップ処理が完了するのを確認します。
- Satellite Web UI で ホスト > すべてのホスト に移動して、そのホストが、適切なホストグループに接続していることを確認します。
オプション: ホストの登録が完了したら、スクリプトを削除します。
# rm bootstrap.py
3.3.1. ブートストラップスクリプトのパーミッションの設定
以下の手順を使用して、Satellite ユーザーにブートストラップスクリプトの実行に必要なパーミッションを指定します。
手順
- Satellite Web UI で、管理 > ユーザー に移動します。
- 必要な ユーザー名 をクリックして既存のユーザーを選択すると、選択したユーザーの情報を変更するタブが含まれる、新しいペインが表示されます。または、このスクリプトの実行専用に新規ユーザーを作成します。
- ロール タブをクリックします。
ロール リストから ホストの編集 および ビューワー を選択します。
重要ホストの編集 ロールを割り当てると、ユーザーは、ホストの編集や削除、ホストの追加が可能です。セキュリティーポリシーの関係上、この方法を使用できない場合は、以下のパーミッションを割り当てた新しいロールを作成して、このロールをユーザーに割り当ててください。
-
view_organizations
-
view_locations
-
view_domains
-
view_hostgroups
-
view_hosts
-
view_architectures
-
view_ptables
-
view_operatingsystems
-
create_hosts
-
- 送信 をクリックします。
CLI をご利用の場合
ブートストラップスクリプトで最低限必要なパーミッションを持つロールを作成します。この例は、Bootstrap という名前のロールを作成します。
# ROLE='Bootstrap' hammer role create --name "$ROLE" hammer filter create --role "$ROLE" --permissions view_organizations hammer filter create --role "$ROLE" --permissions view_locations hammer filter create --role "$ROLE" --permissions view_domains hammer filter create --role "$ROLE" --permissions view_hostgroups hammer filter create --role "$ROLE" --permissions view_hosts hammer filter create --role "$ROLE" --permissions view_architectures hammer filter create --role "$ROLE" --permissions view_ptables hammer filter create --role "$ROLE" --permissions view_operatingsystems hammer filter create --role "$ROLE" --permissions create_hosts
既存のユーザーに新しいロールを割り当てます。
# hammer user add-role --id user_id --role Bootstrap
または、新規ユーザーを作成して、新しいロールを新規ユーザーに割り当てることもできます。Hammer を使用したユーザーの作成方法は、『 Red Hat Satellite の管理』ガイドの「ユーザーとロール の管理」を参照してください。