第15章 カスタムファイルタイプコンテンツの管理
Satellite で、SSH キーおよびソースコードファイル、仮想マシンイメージや ISO ファイルなどの大容量ファイルの管理と配布が必要になる場合があります。これには、Red Hat Satellite のカスタム製品にカスタムファイルタイプのリポジトリーを追加します。こうすることで、製品に任意のファイルを組み込む一般的な方法が提供されます。
リポジトリーにファイルをアップロードし、アップストリームの Satellite Server からファイルを同期できます。ファイルをカスタムのファイルタイプリポジトリーに追加すると、特定のバージョンをコンテンツビューに追加して、さまざまな Capsule Server でファイルのリポジトリーを利用可能にするなど、通常の Satellite 管理機能を使用できます。クライアントは、curl -O
で、HTTP または HTTPS からファイルをダウンロードする必要があります。
Satellite Server のファイルタイプリポジトリーはカスタム製品に対してのみ作成できますが、ファイルタイプリポジトリーは柔軟に作成できます。Satellite がインストールされているシステム、またはリモートの HTTP サーバーのディレクトリーに個別のファイルタイプリポジトリーを作成して、そのディレクトリーのコンテンツを同期できます。この方法は、Satellite リポジトリーに追加するファイルが複数ある場合に便利です。
15.1. Red Hat Satellite でカスタムファイルタイプリポジトリーの作成
カスタムファイルタイプリポジトリーを作成する手順は、リポジトリー作成時に ファイル タイプを選択する以外は、カスタムコンテンツの作成手順と同じです。製品を作成してから、カスタムリポジトリーを追加する必要があります。
手順
カスタム製品を作成するには、以下の手順を行います。
- Satellite Web UI で、コンテンツ > 製品 に移動し、製品の作成 をクリックして、以下の詳細情報を入力します。
- 名前 フィールドで、製品の名前を入力します。Red Hat Satellite 6 では、名前 に入力した内容に基づいて ラベル フィールドに自動的に入力されます。
- オプション: GPG キー の一覧から、製品の GPG キーを選択します。
- オプション: 同期プラン リストから製品の同期プランを選択します。
- 説明 フィールドに、製品の説明を入力し、保存 をクリックします。
カスタム製品のリポジトリーを作成するには、以下の手順を行います。
- 製品ウィンドウで、リポジトリーを作成する製品の名前を選択します。
- リポジトリー タブをクリックして、新規リポジトリー をクリックします。
- 名前 フィールドに、リポジトリーの名前を入力します。Red Hat Satellite 6 では、名前に基づいて、ラベル フィールドに値が自動的に入力されます。
- タイプ の一覧から ファイル を選択します。
- アップストリーム URL フィールドに、ソースとして使用するアップストリームリポジトリーの URL を入力します。
- アップストリームのリポジトリーの SSL 証明書が信頼できる認証機関 (CA) によって署名されていることを確認する場合、SSL の検証 チェックボックスを選択します。
- アップストリームのユーザー名 フィールドに、認証に必要な場合にアップストリームリポジトリーのユーザー名を入力します。リポジトリーに認証が必要ない場合はこのフィールドを空にします。
- アップストリームのパスワード フィールドに、アップストリームリポジトリーのパスワードを入力します。リポジトリーに認証が必要ない場合はこのフィールドを空にします。
- 保存をクリックします。
CLI をご利用の場合
カスタム製品の作成
# hammer product create \ --name "My File Product" \ --sync-plan "Example Plan" \ --description "My files" \ --organization "My_Organization"
表15.1
hammer product create
コマンドのオプションパラメーターオプション 説明 --gpg-key
gpg_key_name検索するキー名
--gpg-key-id
gpg_key_idGPG キー数値 ID
--sync-plan
sync_plan_name検索する同期プラン名
--sync-plan-id
sync_plan_id同期プランの数値 ID
ファイルタイプリポジトリーの作成
# hammer repository create \ --name "My Files" \ --content-type "file" \ --product "My File Product" \ --organization "My_Organization"
表15.2
hammer repository create
コマンドのオプションパラメーターオプション 説明 --checksum-type
sha_versionリポジトリーのチェックサムです。現在、'sha1' および 'sha256' がサポートされています。
--download-policy
policy_nameyum リポジトリーのダウンロードポリシーです ('immediate'、'on_demand'、または 'background')。
--gpg-key
gpg_key_name検索するキー名
--gpg-key-id
gpg_key_idGPG キー数値 ID
--mirror-on-sync
boolean同期する場合に、このリポジトリーをソースからミラーリングし、古い RPM を削除する必要がありますか?
true
またはfalse
、yes
またはno
、もしくは1
または0
に設定します。--publish-via-http
booleanHTTP を使用して公開する必要がありますか?
true
またはfalse
、yes
またはno
、1
または0
に設定します。--upstream-username
repository_username認証に必要な場合は、アップストリームリポジトリーユーザー
--upstream-password
repository_passwordアップストリームリポジトリーユーザーのパスワード
--url
source_repo_urlソースリポジトリーの URL
--verify-ssl-on-sync
booleanURL の SSL 証明書が信頼できる CA によって署名されているのを Katello が確認する必要がありますか?
true
またはfalse
、yes
またはno
、もしくは1
または0
に設定します。
15.2. ローカルディレクトリーにカスタムのファイルタイプリポジトリーの作成
Satellite が pulp-manifest
コマンドを使用してインストールされているベースシステムで、ファイルのディレクトリーから、カスタムファイルタイプリポジトリーを作成できます。その後、Satellite Server にファイルを同期します。ファイルタイプリポジトリーにファイルを追加すると、他のリポジトリーと同じようにファイルを操作できます。
以下の手順を使用して、Satellite がインストールされているベースシステムのディレクトリーにリポジトリーを設定します。リモートサーバーのディレクトリーにファイルタイプリポジトリーを作成するには、「リモートファイルタイプリポジトリーの作成」を参照してください。
手順
ローカルディレクトリーにファイルタイプリポジトリーを作成するには、以下の手順を行います。
サーバーおよび Satellite Tools リポジトリーが有効になっていることを確認します。
# subscription-manager repos --enable=rhel-7-server-rpms \ --enable=rhel-7-server-satellite-tools-6.6-rpms
Pulp マニフェストパッケージをインストールします。
# satellite-maintain packages install python-pulp-manifest
HTTP サーバーのパブリックフォルダーのファイルタイプリポジトリーとして使用するディレクトリーを作成します。
# mkdir my_file_repo
ディレクトリーにファイルを追加して、テストファイルを作成します。
# touch my_file_repo/test.txt
Pulp マニフェストコマンドを入力して、マニフェストを作成します。
# pulp-manifest my_file_repo
マニフェストが作成されたことを確認します。
# ls my_file_repo PULP_MANIFEST test.txt
ファイルタイプリポジトリーからのファイルのインポート
ファイルタイプリポジトリーからファイルをローカルディレクトリーにインポートするには、以下の手順を行います。
- カスタム製品が Satellite Server に存在することを確認します。
- Satellite Web UI で、コンテンツ > 製品に移動します。
- 製品の名前を選択します。
- リポジトリー タブをクリックして、新規リポジトリー を選択します。
- 名前 フィールドに、リポジトリーの名前を入力します。Red Hat Satellite 6 では、名前 に入力した内容をもとに、このフィールドに値が自動的に入力されます。
- タイプ リストから、リポジトリーのコンテンツタイプを選択します。
-
アップストリーム URL フィールドに、ソースとして使用するリポジトリーを使用したローカルディレクトリーを入力します (
file:///my_file_repo
の形式)。 - SSL の検証 チェックボックスを選択してリポジトリーの SSL 証明書をチェックするか、SSL の検証 チェックボックスの選択を解除します。
- オプション: アップストリームのユーザー名 フィールドに、必要なアップストリームユーザー名を入力します。
- オプション: アップストリームのパスワード フィールドに、アップストリームユーザー名のパスワードを入力します。
- 保存 をクリックして、このリポジトリーエントリーを保存します。
ファイルタイプリポジトリーの更新
ファイルタイプリポジトリーを更新するには、以下の手順を行います。
- Satellite Web UI で、コンテンツ > 製品に移動します。
- 製品の名前を選択します。
- 更新するリポジトリーの名前を選択します。
- アクションの選択 メニューから 同期開始 を選択します。
- リポジトリーを公開した URL を開いて、ファイルを表示します。
15.3. リモートファイルタイプリポジトリーの作成
pulp-manifest
を使用して、Satellite Server の外部にあるファイルのディレクトリーから、カスタムファイルタイプリポジトリーを作成します。その後、HTTP または HTTPS 経由で Satellite Server にファイルを同期します。ファイルタイプリポジトリーにファイルを追加すると、他のリポジトリーと同じようにファイルを操作できます。
以下の手順を使用して、リモートサーバーのディレクトリーにリポジトリーを設定します。Satellite Server がインストールされているベースシステムのディレクトリーにファイルタイプリポジトリーを作成するには、「ローカルディレクトリーにカスタムのファイルタイプリポジトリーの作成」を参照してください。
前提条件
リモートファイルタイプリポジトリーを作成する前に、以下の条件が存在することを確認します。
- Red Hat Enterprise Linux 7 サーバーが Satellite または Red Hat CDN に登録されている。
- Red Hat Enterprise Linux Server および Satellite Tools リポジトリーにエンタイトルメントがある。
- HTTP サーバーがインストールされている。Web サーバーの設定方法は『システム管理者のガイド』における Red Hat Enterprise Linux 7 での「Apache HTTP サーバー」を参照してください。
手順
リモートディレクトリーにファイルタイプリポジトリーを作成するには、以下の手順を行います。
リモートサーバーで、サーバーおよび Satellite Tools リポジトリーが有効になっていることを確認します。
# subscription-manager repos --enable=rhel-7-server-rpms \ --enable=rhel-7-server-satellite-tools-6.6-rpms
Pulp マニフェストパッケージをインストールします。
# yum install python-pulp-manifest
HTTP サーバーのパブリックフォルダーのファイルタイプリポジトリーとして使用するディレクトリーを作成します。
# mkdir /var/www/html/pub/my_file_repo
ディレクトリーにファイルを追加して、テストファイルを作成します。
# touch /var/www/html/pub/my_file_repo/test.txt
Pulp マニフェストコマンドを入力して、マニフェストを作成します。
# pulp-manifest /var/www/html/pub/my_file_repo
マニフェストが作成されたことを確認します。
# ls /var/www/html/pub/my_file_repo PULP_MANIFEST test.txt
リモートファイルタイプリポジトリーからのファイルのインポート
リモートファイルタイプリポジトリーからファイルをインポートするには、以下の手順を行います。
- カスタム製品が Satellite Server に存在することを確認します。ない場合には、カスタム製品を作成します。詳細については、「Red Hat Satellite でカスタムファイルタイプリポジトリーの作成」を参照してください。
- Satellite Web UI で、コンテンツ > 製品に移動します。
- 製品の名前を選択します。
- リポジトリー タブをクリックして、新規リポジトリー を選択します。
- 名前 フィールドに、リポジトリーの名前を入力します。Red Hat Satellite 6 では、名前 に入力した内容をもとに、このフィールドに値が自動的に入力されます。
- タイプ の一覧から ファイル を選択します。
- アップストリーム URL フィールドに、ソースとして使用するアップストリームリポジトリーの URL を入力します。
- アップストリームのリポジトリーの SSL 証明書が信頼できる認証機関 (CA) によって署名されていることを確認する場合、SSL の検証 チェックボックスを選択します。
- アップストリームのユーザー名 フィールドに、認証に必要な場合にアップストリームリポジトリーのユーザー名を入力します。リポジトリーに認証が必要ない場合はこのフィールドを空にします。
- アップストリームのパスワード フィールドに、アップストリームリポジトリーのパスワードを入力します。リポジトリーに認証が必要ない場合はこのフィールドを空にします。
- 保存をクリックします。
- コンテンツ > 製品 に移動します。更新するリポジトリーが含まれる製品の名前を選択します。
- 製品のウィンドウで、更新するリポジトリーの名前を選択します。
- アクションの選択 メニューから 同期開始 を選択します。
リポジトリーを公開した URL を開いて、ファイルを表示します。
15.4. Red Hat Satellite へのカスタムファイルタイプリポジトリーへのファイルのアップロード
手順
ファイルをカスタムファイルタイプリポジトリーにアップロードするには、以下の手順を行います。
- Satellite Web UI で、コンテンツ > 製品に移動します。
- カスタム製品の名前を選択します。
- ファイルタイプリポジトリーの名前を選択します。
- 参照 をクリックして、アップロードするファイルを選択します。
- アップロード をクリックして、選択したファイルを Satellite Server にアップロードします。
- リポジトリーを公開した URL を開いて、ファイルを表示します。
CLI をご利用の場合
# hammer repository upload-content \ --name "My Files" \ --organization "My_Organization" \ --path example_file
--path
オプションは、ファイル、ファイルディレクトリー、またはファイルの glob 表現を示します。glob は、一重引用符または二重引用符でエスケープする必要があります。
15.5. Red Hat Satellite のカスタムファイルタイプリポジトリーからホストにファイルのダウンロード
curl -O
を実行して、HTTPS (HTTP での公開 リポジトリーを選択している場合は HTTP でも可能) でクライアントにファイルをダウンロードします。
前提条件
- カスタムファイルタイプリポジトリーがある。詳細は「Red Hat Satellite でカスタムファイルタイプリポジトリーの作成」を参照してください。
- ファイルタイプリポジトリーから、クライアントにダウンロードするファイル名を把握しておく。
HTTPS を使用するためには、クライアントで以下の証明書を用意しておく。
-
katello-server-ca.crt
。詳細については、『Red Hat Satellite の管理』ガイドの「Katello ルート CA 証明書のインストール」を参照してください。 - 組織のデバッグ証明書。詳細については、「組織のデバッグ証明書の作成」 を参照してください。
-
手順
ファイルをカスタムファイルタイプリポジトリーからホストにダウンロードするには、以下の手順を行います。
- Satellite Web UI で、コンテンツ > 製品に移動します。
- カスタム製品の名前を選択します。
- ファイルタイプリポジトリーの名前を選択します。
- HTTP 経由での公開 が有効になっているかどうかを確認します。有効になっていない場合は、HTTPS を使用するための証明書が必要です。
- リポジトリーを公開した URL をコピーします。
CLI をご利用の場合
ファイルタイプリポジトリーを一覧表示します。
# hammer repository list --content-type file ---|----------|-----------------|--------------|---- ID | NAME | PRODUCT | CONTENT TYPE | URL ---|----------|-----------------|--------------|---- 7 | My Files | My File Product | file | ---|----------|-----------------|--------------|----
リポジトリー情報を表示します。
# hammer repository info --name "My Files" --product "My File Product" --organization-id 1
HTTP が有効になっている場合には、出力は次のようになります。
Publish Via HTTP: yes Published At: http://satellite.example.com/pulp/isos/uuid/
HTTP が有効になっていない場合には、出力は次のようになります。
Publish Via HTTP: no Published At: https://satellite.example.com/pulp/isos/uuid/
クライアントに、適切な HTTP または HTTPS の形式でコマンドを入力します。
HTTP の場合:
# curl -O satellite.example.com/pulp/isos/uuid/my_file
HTTPS の場合:
# curl -O --cert ./Default\ Organization-key-cert.pem --cacert katello-server-ca.crt satellite.example.com/pulp/isos/uuid/my_file