第7章 サンプルシナリオ

7.1. 簡単なシナリオ

ここでは、ホストを 1 台追加して登録して設定し、ジョブを実行する方法を説明します。

7.1.1. ホストの作成

以下の手順では、Red Hat Satellite でホストを作成する方法を説明します。

ホストの作成

  1. ホスト > ホストの作成 をクリックします。
  2. ホスト タブで、必要な詳細を入力します。

    1. 名前 フィールドに、ホストの名前 (例: host1.example.com) を入力します。
    2. 組織 フィールドに、組織名 (例: MyOrg) を入力します。
    3. ロケーション フィールドに、ロケーション名 (例: MyLoc) を入力します。
  3. オプションで、Puppet クラス タブで、追加する Puppet クラスを選択します。
  4. インターフェース タブで、プライマリーインターフェースを編集します。

    1. アクション コラムで、編集 ボタンをクリックします。
    2. タイプ ドロップダウンメニューからタイプ (例: Interface) を選択します。
    3. MAC アドレス フィールドに、ホストの MAC アドレスを入力します。
    4. デバイス ID フィールドに、インターフェースのデバイス識別子 (例: eth0) を指定します。
    5. DNS 名 フィールドに、ホストの DNS 名を指定します。プライマリーインターフェースの場合は、このホスト名が、FQDN を形成する際のドメイン名に使用されます。
    6. ドメイン ドロップダウンメニューからドメインを選択します (例: satellite.example.com)。これにより、IPv4 サブネット および IPv6 サブネット 一覧が自動的に更新され、利用可能なサブネットが選択できます。オプションで、サブネットを選択します。
    7. IPv4 アドレス フィールドに、ホストの IPv4 アドレスを入力します。
    8. OK をクリックします。
  5. オペレーティングシステム タブに、必要な詳細を入力します。

    1. アーキテクチャー ドロップダウンメニューからアーキテクチャーを選択します (例: x86_64)。
    2. オペレーティングシステム ドロップダウンメニューからオペレーティングシステムを選択します (例: RHEL Server 7.4)。
    3. パーティションテーブル ドロップダウンメニューからパーティションテーブル を選択します (例: Kickstart default)。
    4. Root パスワード フィールドに、ホストの root パスワードを入力します。
  6. オプションで パラメーター タブで、Puppet マスターで、デフォルト値をオーバーライドするパラメーターを選択します。
  7. オプションで、追加情報 タブに、ホストに関する追加情報を入力します。
  8. 送信 をクリックします。

7.1.2. ホストの登録

host1.example.com を作成したら、登録してアップデートを受け取れるようにします。以下の手順は、ホストが Red Hat Enterprise Linux 7 を実行していることを前提としています。

ホストの登録

  1. 端末で、root ユーザーとしてホストに接続します。
  2. 同期ツールが有効になっており、ホストで実行していることを確認します。

    # systemctl start chronyd; systemctl enable chronyd
  3. コンシューマー RPM を、ホストを登録する Satellite Server または Capsule Server からインストールします。コンシューマー RPM は、ホストのコンテンツソースのロケーションを更新し、ホストが、Red Hat Satellite に指定したコンテンツソースからコンテンツをダウンロードできるようにします。

    # rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
  4. ホストに対して、適切なコンテンツビューと環境に関連しているアクティベーションキーが存在していることを確認します。存在していない場合は、『コンテンツ管理ガイド』「アクティベーションキーの管理」 を参照してください。
  5. Red Hat Subscription Manager (RHSM) に関連するすべての古いホストデータをクリアします。

    # subscription-manager clean
  6. RHSM を使用してホストを登録します。

    # subscription-manager register --org=MyOrg \
    --activationkey=my_activation_key

    登録後のコマンド出力:

    # subscription-manager register --org=MyOrg --activationkey=my_activation_key
    The system has been registered with id: 62edc0f8-855b-4184-b1b8-72a9dc793b96
  7. Red Hat Satellite Tools 6 リポジトリーを有効にします。

    # subscription-manager repos --enable=rhel-version-server-satellite-tools-6-rpms
  8. katello-agent をインストールします。

    # yum install katello-agent
  9. goferd サービスが実行していることを確認します。

    # systemctl start goferd
  10. Puppet エージェントをインストールして設定します。

    1. Puppet エージェントをインストールします。

      # yum install puppet
    2. システムの起動時に Puppet エージェントが起動するように設定します。

      # systemctl enable puppet
    3. /etc/puppetlabs/puppet/puppet.conf ファイルでサーバーおよび環境の設定を指定して、Puppet エージェントを設定します。

      # vi /etc/puppetlabs/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_RHEL7Server
      
          # Where puppetd caches the local configuration.  An
          # extension indicating the cache format is added automatically.
          # The default value is '$confdir/localconfig'.
          localconfig = $vardir/localconfig
      
      ...
    4. ホスト上で Puppet エージェントを実行します。

      # puppet agent -t --waitforcert 10 --server satellite.example.com
    5. Satellite Server Web UI で、Puppet クライアントの SSL 証明書に署名します。

      1. Satellite Server Web UI にログインします。
      2. インフラストラクチャー > Capsule に移動します。
      3. 必要な Capsule の右側にあるドロップダウンメニューから 証明書 を選択します。
      4. 必要なホストの右側にある 署名 をクリックします。
      5. puppet agent コマンドを再入力します。

        # puppet agent -t --server satellite.example.com

7.1.3. ホストでのジョブの実行

以下の手順では、作成して登録しておいたホスト host1.example.com でジョブテンプレートを実行する方法を説明します。

リモートジョブの実行

  1. ホスト > すべてのホスト に移動し、ターゲットホストを選択します (この例では host1.example.com を使用)。
  2. 画面右上の アクションの選択 メニューから リモートジョブのスケジュール を選択します。
  3. ジョブ呼び出し ページで、主なジョブ設定を定義します。

    1. ジョブカテゴリー ドロップダウンメニューから、ジョブカテゴリー (例: Commands) を選択します。
    2. ジョブテンプレート ドロップダウンメニューから、ジョブテンプレート (例: Run Command - SSH Default) を選択します。
    3. command フィールドに、ホストで実行するコマンドを入力します。たとえば、timedatectl set-timezone Europe/Prague と実行すると、タイムゾーンがヨーロッパのプラハに設定されます。
  4. 送信 をクリックします。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。