第5章 プロビジョニング環境の設定
本章では、hammer を使用してプロビジョニング環境のあらゆる段階を設定する方法を示します。以下の手順を Web UI で行う場合は『プロビジョニングガイド』の 「プロビジョニングリソースの設定」を参照してください。
5.1. ドメイン リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite のドメインは DNS ゾーンを表します。Satellite は、Red Hat Satellite Capsule Server DNS を使用してドメイン名を割り当てる機能があります。これにより、特定のドメイン内のホストをグループ化し、名前を指定して、パラメーターや Puppet 変数と関連付けることができます。
新規ドメインを作成するには、以下のコマンドを実行します。
hammer domain create --name domain_name
$ hammer domain create --name domain_name
hammer organization add-domain または hammer location add-domain コマンドを使用して、組織とロケーションに、新規作成したドメインを関連付けることができます。ドメインのステータスを表示するには、以下のコマンドを実行します。
hammer domain info --name domain_name
$ hammer domain info --name domain_name
5.2. サブネット リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite のサブネットは、システムのグループを指定するネットワークを定義します。サブネットは、標準の IP アドレス設定を使用してネットワークを定義し、Red Hat Satellite Capsule Server の DHCP 機能を使用して、サブネット内のシステムに IP アドレスを割り当てます。以下のコマンドには、サブネットの作成に最小限必要なオプションが含まれます。
boot_mode には Static または DHCP のいずれか、ipam には DHCP, Internal DB、None のいずれかを指定します。DHCP を使用する場合は --from オプションおよび --to オプションを使用して、IP 範囲を設定してください。設定可能なオプションの完全な一覧は、hammer subnet create --help コマンドの出力を参照してください。
5.3. アーキテクチャー リンクのコピーリンクがクリップボードにコピーされました!
Satellite のアーキテクチャーはホストおよびオペレーティングシステムの論理グループを表します。アーキテクチャーを表示するには以下のコマンドを実行します。
hammer architecture list
$ hammer architecture list
アーキテクチャーは、ホストが Puppet に登録されると、Satellite により自動的に登録されるため、(hammer でこのオプションが提供されていますが) 手動で作成する必要はほぼありません。
5.4. コンピュートリソース リンクのコピーリンクがクリップボードにコピーされました!
コンピュートリソースは、仮想化およびクラウドプロバイダーからハードウェアを抽象化したものです。Satellite はコンピュートリソースを使用して仮想マシンとコンテナーをプロビジョニングします。以下のコマンドを使用してコンピュートリソースを作成します。
hammer compute-resource create \ --name cr_name \ --organization-ids org_ID1,org_ID2... \ --location-ids loc_ID1,loc_ID2... \ --provider provider
$ hammer compute-resource create \
--name cr_name \
--organization-ids org_ID1,org_ID2... \
--location-ids loc_ID1,loc_ID2... \
--provider provider
ここでは、provider に、RHEV、RHEL OpenStack Platform、Libvirt、Docker、Rackspace、Google、EC2、または VMware のいずれかを指定します。プロバイダーのタイプに従い、--url または --user などのオプションも必要になる場合があります。詳しい情報は hammer compute-resource create --help コマンドの出力を参照してください。
5.5. インストールメディア リンクのコピーリンクがクリップボードにコピーされました!
インストールメディア (ISO イメージ) では、Red Hat Satellite のキックスタートツリーおよび新規ホストインストールのコンテンツを提供します。メディアを表示するには、以下のコマンドを実行します。
hammer medium list
$ hammer medium list
新規メディアを追加するには以下のコマンドを実行します。
hammer medium create --name medium_name --path path_to_medium
$ hammer medium create --name medium_name --path path_to_medium
メディアの追加時 (hammer medium create --help コマンドの出力を参照)、もしくは後で hammer organization add-medium コマンドか hammer location add-medium コマンドを使用して、メディアを組織およびロケーションに直接公開できます。
5.6. パーティションテーブル リンクのコピーリンクがクリップボードにコピーされました!
パーティションテーブルは、システムのプロビジョニング時に、新規インストール用のパーティションとファイルシステムのレイアウトを定義します。Red Hat Satellite により、オペレーティングシステムファミリーが関連付けられたデフォルトのパーティションテーブルを提供します。パーティションテーブルを表示するには、以下のコマンドを実行します。
hammer partition-table list
$ hammer partition-table list
新しいパーティションテーブルを作成するには、以下のコマンドを実行します。
hammer partition-table create \ --name table_name \ --file path_to_layout_file \ --os-family os_family
$ hammer partition-table create \
--name table_name \
--file path_to_layout_file \
--os-family os_family
他のサブコマンドについては hammer partition-table --help コマンドを参照してください。
5.7. プロビジョニングテンプレート リンクのコピーリンクがクリップボードにコピーされました!
テンプレートをプロビジョニングすると、無人インストールを体系的に実行する手段が提供されます。Satellite が提供するプロビジョニングテンプレートを表示するには、以下のコマンドを実行します。
hammer template list
$ hammer template list
新規テンプレートを追加するには、以下のコマンドを実行します。
hammer template create --name template_name --file path_to_template_file
$ hammer template create --name template_name --file path_to_template_file
他のサブオプションについては hammer template --help コマンドの出力を参照します。
5.7.1. テンプレートのインポート リンクのコピーリンクがクリップボードにコピーされました!
hammer import-templates コマンドを使うと任意のリポジトリーからテンプレートをインポートできます。/tmp/dir、git://example.com、https://example.com、ssh://example.com などの異なるプロトコルを使ってリポジトリーにポイントさせることもできます。
テンプレートのインデックス化と管理には、--prefix を使ってテンプレートにカテゴリーを設定することができます。大型リポジトリーから特定のテンプレートを選択するには、--filter を使ってインポートするテンプレートのタイトルを定義します。たとえば、--filter '.*Ansible Default$' とすると、各種 Ansible Default テンプレートをインポートします。
リポジトリーからテンプレートをインポートするには、以下のコマンドを実行します。
5.7.2. テンプレートのエクスポート リンクのコピーリンクがクリップボードにコピーされました!
hammer export-templates コマンドを使うとテンプレートを Git リポジトリーにエクスポートできます。
Git リポジトリーのローカルコピーをクローンします。
git clone https://github.com/theforeman/community-templates /custom/templates
$ git clone https://github.com/theforeman/community-templates /custom/templatesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドで、ローカルディレクトリーの所有者を foreman ユーザーに変更し、SELinux コンテキストを変更します。
chown -R foreman:foreman /custom/templates chcon -R -t httpd_sys_rw_content_t /custom/templates
# chown -R foreman:foreman /custom/templates # chcon -R -t httpd_sys_rw_content_t /custom/templatesCopy to Clipboard Copied! Toggle word wrap Toggle overflow テンプレートをローカルリポジトリーにエクスポートするには、以下のコマンドを実行します。
hammer export-templates --organization 'Default Organization' --repo /custom/templates
hammer export-templates --organization 'Default Organization' --repo /custom/templatesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8. オペレーティングシステム リンクのコピーリンクがクリップボードにコピーされました!
オペレーティングシステムは、インストールの方法とメディアの組み合わせを定義して、ファミリーにグループ化します。デフォルトでは、Red Hat Satellite は Red Hat ファミリーを使用します。ファミリーを使用すると、Satellite はホストのプロビジョニング時の特定の動作を変更することができます。オペレーティングシステムを表示するには以下のコマンドを実行します。
hammer os list
$ hammer os list
新規オペレーティングシステムを作成するには、以下のコマンドを実行します。
hammer os create --name os_name --major version_number
$ hammer os create --name os_name --major version_number
次に、アーキテクチャー、パーティションテーブル、インストールメディア、設定テンプレートをオペレーティングシステムに追加することができます。詳しい情報は hammer os --help の出力を参照してください。
例5.1 複数のオペレーティングシステムの更新
以下の Bash スクリプトは、各オペレーティングシステムにパーティションテーブル (Kickstart default)、設定テンプレート (Kickstart default PXELinux) およびプロビジョニングテンプレート(Satellite Kickstart Default) を割り当てます。
for ステートメントに grep コマンドを追加して、影響を受けるオペレーティングシステムをさらに指定することができます。割当が正しく行われたかどうかを確認するには hammer os info コマンドを実行します。
5.9. パラメーター リンクのコピーリンクがクリップボードにコピーされました!
パラメーターは、プロビジョニング時の Red Hat Satellite の動作を定義します。パラメーターは複数ありますが、詳しい情報は『Puppet ガイド』の「パラメーター」を参照してください。以下の例を使用して、グローバルパラメーターを設定します。
hammer global-parameter set --name param_name --value param_value
$ hammer global-parameter set --name param_name --value param_value
例5.2 ファイアウォールを無効化するためのグローバルパラメーターの設定
以下のコマンドを実行して firewall のグローバルオプションを disabled に設定します。
hammer global-parameter set --name firewall --value --disabled
$ hammer global-parameter set --name firewall --value --disabled
設定を確認するには、以下のコマンドを実行します。
同様に、hammer で他のパラメータータイプを設定することができます。
- ドメインパラメーターを設定するには、以下のコマンドを使用します。
hammer domain set-parameter \ --name param_name \ --value param_value \ --domain domain_name
$ hammer domain set-parameter \
--name param_name \
--value param_value \
--domain domain_name
- ホストグループのパラメーターを設定するには、以下のコマンドを使用します。
hammer hostgroup set-parameter \ --name param_name \ --value param_value \ --hostgroup hg_name
$ hammer hostgroup set-parameter \
--name param_name \
--value param_value \
--hostgroup hg_name
- ホストパラメーターを設定するには、以下のコマンドを使用します。
hammer host set-parameter \ --name param_name \ --value param_value \ --host h_name
$ hammer host set-parameter \
--name param_name \
--value param_value \
--host h_name
- スマートクラスパラメーターを更新するには、以下のコマンドを使用します。
hammer sc-param \ --name param_name \ --default-value param_value
$ hammer sc-param \
--name param_name \
--default-value param_value