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 環境を作成するには、以下の手順を実行します。

  1. 手動でディレクトリーを作成して、所有者を変更します。

    # mkdir /etc/puppetlabs/code/environments/example_environment
    # chown apache /etc/puppetlabs/code/environments/example_environment
  2. 設定 > 環境 へと移動し、環境をインポート をクリックします。ボタン名には、内部または外部の Capsule の FQDN が含まれます。
  3. 作成したディレクトリーを選択し、更新 をクリックします。

手順

  1. root ユーザーで、ホストにログインします。
  2. スクリプトをダウンロードします。

    # curl -O http://satellite.example.com/pub/bootstrap.py
  3. スクリプトを実行可能にします。

    # chmod +x bootstrap.py
  4. ヘルプテキストを表示して、スクリプトが実行可能であることを確認します。

    • Red Hat Enterprise Linux 8 の場合:

      # /usr/libexec/platform-python bootstrap.py -h
    • 他の Red Hat Enterprise Linux バージョンの場合:

      # ./bootstrap.py -h
  5. ご使用の環境に適した値を使用して、ブートストラップコマンドを入力します。

    --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
  6. --login オプションで指定した Satellite ユーザーのパスワードを入力します。

    スクリプトは、進捗の通知を stdout に送信します。

  7. スクリプトでプロンプトが表示されたら、ホストの Puppet 証明書を承認します。Satellite Web UI で インフラストラクチャー > Capsules に移動して、--server オプションで指定した Satellite または Capsule Server を検出します。
  8. アクション コラムの一覧から、証明書 を選択します。
  9. アクション コラムで、署名 をクリックして、ホストの Puppet 証明書を承認します。
  10. ホストに戻り、残りのブートストラップ処理が完了するのを確認します。
  11. Satellite Web UI で ホスト > すべてのホスト に移動して、そのホストが、適切なホストグループに接続していることを確認します。
  12. オプション: ホストの登録が完了したら、スクリプトを削除します。

    # rm bootstrap.py

3.3.1. ブートストラップスクリプトのパーミッションの設定

以下の手順を使用して、Satellite ユーザーにブートストラップスクリプトの実行に必要なパーミッションを指定します。

手順

  1. Satellite Web UI で、管理 > ユーザー に移動します。
  2. 必要な ユーザー名 をクリックして既存のユーザーを選択すると、選択したユーザーの情報を変更するタブが含まれる、新しいペインが表示されます。または、このスクリプトの実行専用に新規ユーザーを作成します。
  3. ロール タブをクリックします。
  4. ロール リストから ホストの編集 および ビューワー を選択します。

    重要

    ホストの編集 ロールを割り当てると、ユーザーは、ホストの編集や削除、ホストの追加が可能です。セキュリティーポリシーの関係上、この方法を使用できない場合は、以下のパーミッションを割り当てた新しいロールを作成して、このロールをユーザーに割り当ててください。

    • view_organizations
    • view_locations
    • view_domains
    • view_hostgroups
    • view_hosts
    • view_architectures
    • view_ptables
    • view_operatingsystems
    • create_hosts
  5. 送信 をクリックします。

CLI をご利用の場合

  1. ブートストラップスクリプトで最低限必要なパーミッションを持つロールを作成します。この例は、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
  2. 既存のユーザーに新しいロールを割り当てます。

    # hammer user add-role --id user_id --role Bootstrap

    または、新規ユーザーを作成して、新しいロールを新規ユーザーに割り当てることもできます。Hammer を使用したユーザーの作成方法は、『 Red Hat Satellite の管理』ガイドの「ユーザーとロール の管理」を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.