第8章 サンプルシナリオ
8.1. 簡単なシナリオ
ここでは、ホストを 1 台追加して登録して設定し、ジョブを実行する方法を説明します。
8.1.1. ホストの作成
以下の手順では、Red Hat Satellite でホストを作成する方法を説明します。
ホストの作成
- ホスト > ホストの作成 をクリックします。
ホスト タブで、必要な詳細を入力します。
- 名前 フィールドに、ホストの名前 (例: host1.example.com) を入力します。
- 組織 フィールドに、組織名 (例: MyOrg) を入力します。
- ロケーション フィールドに、ロケーション名 (例: MyLoc) を入力します。
- オプションで、Puppet クラス タブで、追加する Puppet クラスを選択します。
インターフェース タブで、プライマリーインターフェースを編集します。
- アクション コラムで、編集 ボタンをクリックします。
- タイプ ドロップダウンメニューからタイプ (例: Interface) を選択します。
- MAC アドレス フィールドに、ホストの MAC アドレスを入力します。
- デバイス ID フィールドに、インターフェースのデバイス識別子 (例: eth0) を指定します。
- DNS 名 フィールドに、ホストの DNS 名を指定します。プライマリーインターフェースの場合は、このホスト名が、FQDN を形成する際のドメイン名に使用されます。
- ドメイン ドロップダウンメニューからドメインを選択します (例: satellite.example.com)。これにより、IPv4 サブネット および IPv6 サブネット 一覧が自動的に更新され、利用可能なサブネットが選択できます。オプションで、サブネットを選択します。
- IPv4 アドレス フィールドに、ホストの IPv4 アドレスを入力します。
- OK をクリックします。
オペレーティングシステム タブに、必要な詳細を入力します。
- アーキテクチャー ドロップダウンメニューからアーキテクチャーを選択します (例: x86_64)。
- オペレーティングシステム ドロップダウンメニューからオペレーティングシステムを選択します (例: RHEL Server 7.4)。
- パーティションテーブル ドロップダウンメニューからパーティションテーブル を選択します (例: Kickstart default)。
- Root パスワード フィールドに、ホストの root パスワードを入力します。
- オプションで パラメーター タブで、Puppet マスターで、デフォルト値をオーバーライドするパラメーターを選択します。
- オプションで、追加情報 タブに、ホストに関する追加情報を入力します。
- 送信 をクリックします。
8.1.2. ホストの登録
host1.example.com を作成したら、登録してアップデートを受け取れるようにします。以下の手順は、ホストが Red Hat Enterprise Linux 7 を実行していることを前提としています。
ホストの登録
- 端末で、root ユーザーとしてホストに接続します。
同期ツールが有効になっており、ホストで実行していることを確認します。
# systemctl start chronyd; systemctl enable chronyd
コンシューマー RPM を、ホストを登録する Satellite Server または Capsule Server からインストールします。コンシューマー RPM は、ホストのコンテンツソースのロケーションを更新し、ホストが、Red Hat Satellite に指定したコンテンツソースからコンテンツをダウンロードできるようにします。
# rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
- ホストに対して、適切なコンテンツビューと環境に関連しているアクティベーションキーが存在していることを確認します。存在していない場合は、『コンテンツ管理ガイド』の「アクティベーションキーの管理」 を参照してください。
Red Hat Subscription Manager (RHSM) に関連するすべての古いホストデータをクリアします。
# subscription-manager clean
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
Red Hat Satellite Tools 6 リポジトリーを有効にします。
# subscription-manager repos --enable=rhel-version-server-satellite-tools-6-rpms
katello-agent をインストールします。
# yum install katello-agent
goferd サービスが実行していることを確認します。
# systemctl start goferd
Puppet エージェントをインストールして設定します。
Puppet エージェントをインストールします。
# yum install puppet
システムの起動時に Puppet エージェントが起動するように設定します。
# systemctl enable 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_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 ...
ホスト上で Puppet エージェントを実行します。
# puppet agent -t --waitforcert 10 --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
8.1.3. ホストでのジョブの実行
以下の手順では、作成して登録しておいたホスト host1.example.com でジョブテンプレートを実行する方法を説明します。
リモートジョブの実行
- ホスト > すべてのホスト に移動し、ターゲットホストを選択します (この例では host1.example.com を使用)。
- 画面右上の アクションの選択 メニューから リモートジョブのスケジュール を選択します。
ジョブ呼び出し ページで、主なジョブ設定を定義します。
- ジョブカテゴリー ドロップダウンメニューから、ジョブカテゴリー (例: Commands) を選択します。
- ジョブテンプレート ドロップダウンメニューから、ジョブテンプレート (例: Run Command - SSH Default) を選択します。
- command フィールドに、ホストで実行するコマンドを入力します。たとえば、timedatectl set-timezone Europe/Prague と実行すると、タイムゾーンがヨーロッパのプラハに設定されます。
- 送信 をクリックします。