移行ガイド
Satellite 5 から Satellite 6 への移行ガイド
概要
第1章 はじめに リンクのコピーリンクがクリップボードにコピーされました!
Satellite では、Satellite 5 Server から Satellite 6 Server へ移行を実行できます。Satellite 6 は Satellite 5 とは大きく異なるため、(バージョン 4.x から 5.x へなどの) インプレースアップグレードプロセスは、バージョン 5 から 6 への移行には適用されません。新しいサーバーに Satellite 6 をインストールし、新しい Satellite 6 インスタンスにクライアントを移行します。したがって、これはアップグレードプロセスではなく、移行プロセスと呼ばれます。移行の際は、Red Hat が、重複した 2 つの Satellite サブスクリプションを 1 年間提供するため、Satellite 5 クライアントから新しいシステムへ移行する場合に限り、移行の前に Satellite 6 Server を構築してテストできます。
移行のワークフロー
Satellite 5 から Satellite 6 への移行プロセスは、以下のような手順になります。
- ドキュメントを読み、Satellite 6 製品の基礎を理解します。s390 システムに Satellite 5.8 を実行している場合は、x86_64 アーキテクチャーシステムに未使用の Satellite 6 を構築する必要があります。Satellite 6 は、s390 システムでは実行できません。
- 新しいマシンに Satellite 6 をインストールし、マニフェストでアクティベートし、CDN の Red Hat コンテンツと同期します。
- クライアントシステムにブートストラップをインストールします。
- 前提条件を満たしているのを確認し、ブートストラップスクリプトを実行し、クライアントを移行します。
サポートされる Red Hat Enterprise Linux のバージョン
Satellite 5 とは異なり、Satellite 6 は Red Hat Enterprise Linux 4 以前で稼働しているクライアントをサポートしません。移行を開始する前に、すべてのクライアントが以下の Red Hat Enterprise Linux バージョンで設定されていることを確認してください。
- Red Hat Enterprise Linux 5.7 以降
- Red Hat Enterprise Linux 6.1 以降
- Red Hat Enterprise Linux 7.0 以降
第2章 Satellite 5 と Satellite 6 の比較 リンクのコピーリンクがクリップボードにコピーされました!
2.1. 設計および概念 リンクのコピーリンクがクリップボードにコピーされました!
2.1.1. Red Hat Satellite 5 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 5 はライフサイクル管理ツールで、大量のシステムをデプロイ、管理、監視する機能があります。Satellite 5 は接続、分離いずれかのモードで設定可能で、後者の場合は、オリジナルのプール型サブスクリプションアプローチを使用して、Red Hat ソフトウェアをクライアントシステムに配布します。プール型サブスクリプションの概念は、クライアントが Red Hat Network Classic からエンタイトルメントを使用する方法と同様のものです。
機能
Satellite 5 でよく使われる機能としては、たとえばキックスタートファイルとアクティベーションキーを使用して多数のシステムをプロビジョニングし、そのシステムをインストールして予測可能な状態に設定する機能が挙げられます。このプロビジョニングプロセスでは、システムは指定された組織やソフトウェア、設定チャンネルに関連付けられ、事前に定義されたシステムグループにシステムを追加します。Satellite 5 のプロビジョニング機能を使用すると、管理者はシステムの一貫性を保ちつつ、数千ものシステムをプロビジョニングできます。
また別の機能として、ローカルまたはリモートの環境にプロビジョニングした多数のシステムのソフトウェアや設定ファイルを管理する機能があります。Satellite 5 におけるソフトウェアおよび設定ファイルを管理する概念としてよく知られているものに「チャンネル」があります。ソフトウェアと設定はすべてチャンネル経由で管理され、配布されており、ソフトウェアや設定コンテンツへのアクセスが必要なクライアントは、1 つ以上の関連チャンネルに関連付けられている必要があります。さらに、チャンネルをクローンする機能により、管理者は多くの企業で必要とされる開発環境や実稼働環境を構築できます。
Red Hat Satellite 5 を使用すると、サーバーまたはクライアントシステムが公共のインターネットにアクセスすることなく Red Hat Network の恩恵を受けられます。これにより、システムの信頼性、セキュリティー、パフォーマンスを最大化するために必要なツール、サービス、情報リポジトリーを一体化できます。
2.1.2. Red Hat Satellite 6 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 6 は、Red Hat のライフサイクル管理プラットフォームをさらに進化させた製品で、グローバルエンタープライズ用のシステムおよびコンテンツの管理を専用に行うツールとして、システム管理者の期待通りの機能を提供します。Satellite 6 は、Satellite 5 のお客様が求めるユースケースに対応するだけでなく、はるかに大規模な環境で、コンテンツを連合 (フェデレーション) し、プロビジョニング時の効果的なシステム管理を行い、ライフサイクル管理へのよりシンプルなアプローチを実現する機能を提供します。さらに Satellite 6 では、証明書ベースのエンタイトルメントや統合されたサブスクリプション管理への特有のアプローチをさらに進化させています。
2.1.3. 概念の比較 リンクのコピーリンクがクリップボードにコピーされました!
以下の表は、重要な概念と、その概念が Satellite 5 および Satellite 6 でどのように実装されているかを示します。
| 概念の説明 | Satellite 5 | Satellite 6 | |
|---|---|---|---|
|
オープンソースプロジェクト 単一のプロジェクトアプローチ対、モジュール式アプローチ |
Spacewalk |
Foreman、Katello、Puppet、Candlepin、および Pulp | |
|
サブスクリプションの種類 プールベースまたはチャンネルベース対、証明書ベース。サブスクリプション管理はここ何年かの間に、プールベースまたはチャンネルベースのアプローチから、より具体的な証明書ベースのアプローチへと改善されてきました。証明書ベースのサブスクリプション管理では、クライアントが使用するサブスクリプションに対して、全体的な制御が改善されました。 |
エンタイトルメント |
サブスクリプション | |
|
サブスクリプションの方法 (または Satellite サブスクリプションの使用) Satellite が Red Hat コンテンツを同期して配信できるようにする方法。証明書はインストール時にアクティベートされ、マニフェストはインストール後にアップロードされます。 |
証明書ファイル |
マニフェストファイル | |
|
組織管理 Satellite 5 および 6 の両方に、複数組織の概念がありますが、Satellite 6 には、ロケーションのコンテキストを設定する機能があります。 |
組織 |
組織およびロケーション | |
|
ソフトウェアおよび設定コンテンツ チャンネルによる配信対、環境ベースで公開してプロモートしたコンテンツビューによる配信。Satellite 6 のコンテンツビューには、環境に公開およびプロモートされた、選択した一連のソフトウェアリポジトリーおよび設定モジュールが含まれます。クライアントシステムは、その環境の関連付けを介して、そのソフトウェアおよび設定を使用します。 |
ソフトウェアチャンネル |
製品およびリポジトリー | |
|
設定 |
設定チャンネル |
Puppet リポジトリー | |
|
Proxy サービス |
Red Hat Satellite Proxy Server |
Red Hat Satellite Capsule Server | |
|
コマンドラインツール |
各種 CLI ツール |
Hammer | |
|
仮想およびクラウドプロバイダー |
KVM および Xen |
OpenStack、Red Hat Enterprise Virtualization、KVM、VMware、EC2 | |
|
データベースサポート |
組み込み PostgreSQL、管理 PostgreSQL、外部 PostgreSQL、Oracle Database 10g Release 2 または 11g (Standard または Enterprise Edition) |
6.0 用の組み込み PostgreSQL |
2.2. システムアーキテクチャー リンクのコピーリンクがクリップボードにコピーされました!
2.2.1. Red Hat Satellite 5 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 5 は、Spacewalk と呼ばれるオープンソースプロジェクトをベースにしており、以下のアーキテクチャーに用意されている複数の重要なコンポーネントで構成されています。
図2.1 Red Hat Satellite 5 システムアーキテクチャー
- Web UI
- Satellite Web UI は Apache Web サーバーを通り、Satellite 操作の主なエントリーポイントを提供します。
- フロントエンド API
- フロントエンド API は、XML-RPC API を介して Satellite 5 と対話する機能を提供します。これにより、システム管理者は、反復タスクを実行するスクリプトを作成したり、Satellite に関連するサードパーティーのアプリケーションを開発できます。フロントエンド API は、XML-RPC を使用する Web UI 機能のほとんどを公開します。
- バックエンド API
-
バクエンドは、複数のクライアントユーティリティー (
rhn_register、yum) が接続する一連の API を提供します。これは文書化されておらず、クライアントユーティリティーでのみ使用されます。
- Taskomatic
- Taskomaticは、Red Hat Satellite 5 では独立したサービスで、さまざまな非同期ジョブ (セッションテーブルの削除や、エラータが公開された場合の通知メール送信など) を実行します。このジョブの多くは定期的に実行しますが、その実行頻度は調整できます。
- 検索サーバー
- Satellite には、スタンドアロンの検索サーバーが含まれており、数百もの項目をリストに挙げることなく、システム、パッケージ、エラータをすばやく見つけることができます。検索エンジンには、Apache の Lucene 検索エンジンライブラリーが使用されていますが、このライブラリーにより、多数のクエリー言語が使用され、より関連する検索結果を得ることができます。
2.2.2. Red Hat Satellite 6 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 6 は、以下のアーキテクチャーに用意されている複数のオープンソースプロジェクトをベースとしています。
図2.2 Red Hat Satellite 6 システムアーキテクチャー
- Foreman
- Foreman は、物理システムと仮想システムのプロビジョニングとライフサイクル管理に使用されるオープンソースのアプリケーションです。Foreman は、キックスタートや Puppet モジュールなどの各種の方法を使って、これらのシステムを自動的に設定します。また、レポート、監査、およびトラブルシューティングに使用される履歴データを提供します。
- Katello
- Katello は、サブスクリプションとリポジトリーを管理するアプリケーションです。Katello は Red Hat リポジトリーをサブスクライブし、コンテンツをダウンロードする手段となります。コンテンツについては、複数の異なるバージョンを作成し、管理することが可能であり、コンテンツのバージョンは、ユーザーが定義するアプリケーションライフサイクルの各ステージ内にある特定のシステムに適用できます。
- Candlepin
- Candlepin は、サブスクリプションの管理を行う Katello 内のサービスです。
- Pulp
- Pulp は、リポジトリーおよびコンテンツの管理を行う Katello 内のサービスです。
- Hammer
- Hammer は、コマンドラインおよびシェルを提供する CLI ツールで、Web UI とほぼ同様の機能を提供します。
- REST API
- Red Hat Satellite 6 には REST ベースの API サービスが含まれます。システム管理者や開発者は、このサービスを使用して、カスタムスクリプトや 、Red Hat Satellite へのインターフェースとなるサードパーティーアプリケーションを作成できます。
- Capsule
- Red Hat Satellite Capsule Server は、リポジトリーのストレージ、DNS、DHCP、および Puppet マスター設定など、Satellite の一部の主要機能のプロキシーとして動作します。各 Satellite Server には、統合された Capsule Server の各種サービスが含まれます。
Red Hat Satellite 6 は、x86_64 アーキテクチャーシステムにしかインストールできません。
2.3. コンテンツ管理 リンクのコピーリンクがクリップボードにコピーされました!
2.3.1. Red Hat Satellite 5 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 5 アーキテクチャーには、パッケージキャッシングのメカニズムで、Red Hat Satellite の帯域幅要件を低減し、カスタムパッケージのデプロイを可能にする Red Hat Satellite Proxy Server が同梱されています。Satellite Proxy は、クライアントシステムと Satellite Server を仲介する役目を果たします。
クライアントから見ると、Satellite Proxy と Satellite には違いがありません。ただし、Satellite Server から見ると、Satellite Proxy は特殊なタイプの Satellite クライアントになります。
Satellite Proxy サーバーは Satellite 5 に制限されます。Satellite Proxy サーバーを Satellite 6 とともに使用することはできません。代わりに、Satellite 6 では、同じ機能のほとんどを提供する Capsule の概念が導入されています。
2.3.2. Red Hat Satellite 6 リンクのコピーリンクがクリップボードにコピーされました!
Satellite 6 アーキテクチャーには、Satellite 5 で Proxy サーバーが提供したのと同等レベルの機能を Satellite 6 に提供する Capsule Server が含まれます。
Capsule Server は、Proxy サーバーと同じように積み上げることはできません。以下の図でそれを説明します。
図2.3 Satellite 5 Proxy および Satellite 6 Capsule Server の比較
Satellite 6.0 とともに配信された Capsule Server の最初のリリースでは、以下の機能を提供します。
- ミラーリポジトリーコンテンツ (Pulp ノード)。コンテンツは、ホストで使用される前に Pulp ノードで使用されます。
- ミラー Puppet コンテンツ (Puppet マスター)
- DHCP、DNS、および TFTP を使用して、Identity Management (IdM) と統合します。
2.4. 切断されているコンテンツ管理 リンクのコピーリンクがクリップボードにコピーされました!
Satellite 5 と Satellite 6 との間の主な違いは、「切断した (ネットワークに接続していない)」コンテンツ管理のエリアになります。両バージョンの Satellite でプロビジョニングを行い、インターネットに直接接続しなくてもホストを同期することができますが、その方法は少々異なります。
2.4.1. Red Hat Satellite 5 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 5 は、katello-disconnected ユーティリティーと同期ホストを使用して、切断されているコンテンツの管理を行います。この場合、インターネット接続のある中間システムが同期ホストとして機能する必要があります。この同期ホストは、Satellite Server とは分離したネットワークに置かれます。
同期ホストは、Red Hat コンテンツ配信ネットワーク (CDN) からコンテンツをインポートします。その後、コンテンツを、DVD、CD などのメディアや、外部ハードドライブにエクスポートしてから、ネットワークから切断した Satellite Server に移行します。
2.4.2. Red Hat Satellite 6 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 6 は、切断されているコンテンツの管理を、2 番目にインターネットに対面するSatellite と、ISS (Inter-Satellite Synchronization) 機能を使用して行います。
ネットワークに接続している Satellite は、Red Hat Content Delivery Network (CDN) からコンテンツをインポートします。その後、コンテンツを、DVD、CD などのメディアや、外部ハードドライブにエクスポートしてから、ネットワークから切断されている Satellite Server に移行します。この Satellite 間の同期機能により、完全更新または増分更新を作成できるようになります。詳細は『コンテンツ管理ガイド』の「Satellite Server 間でのコンテンツ同期」を参照してください。
2.5. 組織の構造 リンクのコピーリンクがクリップボードにコピーされました!
2.5.1. Red Hat Satellite 5 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 5 は、複数の異なる組織にシステム、コンテンツ、および設定をまとめることができます。これは複数の部門 (たとえば「Finance (財務)」、「Marketing (マーケティング)」、および「Sales (営業)」) をかかえる企業には有用です。各組織は個別に管理された Satellite として動作し、それぞれに設定とシステムプロファイルが存在しますが、Satellite は、複数の組織間でコンテンツ (ソフトウェアチャンネル) を共有します。
Red Hat Satellite 5 には、複数の Satellite Server 間でコンテンツを同期する機能があります。これにより、管理者は地理的に離れている Satellite で同じソフトウェアチャンネルを共有できます。たとえば、企業のオフィスの場所が 3 つに分かれていて、各オフィスで Satellite が必要になった場合に、選択した親となる Satellite Server からコンテンツを同期します。
図2.4 Red Hat Satellite 5 のトポロジーの例
システム管理操作はすべて、登録している Satellite で行われます。
2.5.2. Red Hat Satellite 6 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 6 は、組織とロケーションの管理に対して統合的なアプローチを取ります。システム管理者は、1 台の Satellite サーバーに、組織とロケーションをそれぞれ複数定義します。たとえば、3 つの国 (米国、英国、および日本) に 3 つの組織 (「Finance (財務)」、「Marketing (マーケティング)」、および「Sales (営業)」) がある会社について考えてみましょう。この例では、Satellite Server がすべての地理的な場所 (ロケーション) にあるすべての組織を管理しているため、システムを管理するためのコンテキストを 9 つ作成します。ユーザーはロケーションを定義し、そのロケーションをネストして階層を作成できます。たとえば、Satellite 管理者が、米国のロケーションをさらにボストン、フェニックス、サンフランシスコなどの都市に分けるような場合です。
図2.5 Red Hat Satellite 6 のトポロジーの例
コンテンツと設定はメイン Satellite Server と、特定のロケーションに割り当てられた Satellite Capsule との間で同期されますが、メイン Satellite Server が管理機能を保持します。
2.6. アプリケーションのライフサイクル リンクのコピーリンクがクリップボードにコピーされました!
2.6.1. Red Hat Satellite 5 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 5 におけるアプリケーションのライフサイクルは、パスのステージを進んでいきます。たとえば、アプリケーションの場合は、「開発」から「テスト」に進み、その後「一般提供 (GA)」と進みます。Red Hat Satellite 5 の各ステージでは、ライフサイクルのある特定の時点で、システムの定義を使用してシステムを管理します。Red Hat Satellite 5 のシステムの定義は、キックスタートプロファイルで使用されているソフトウェアチャンネルと設定チャンネルのセットになります。
図2.6 Red Hat Satellite 5 におけるアプリケーションのライフサイクル
2.6.2. Red Hat Satellite 6 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 6 のアプリケーションライフサイクルは、ライフサイクル環境とコンテンツビューという、2 つの重要なコンポーネントに分かれています。
アプリケーションライフサイクルは、ライフサイクル環境 に分けられ、ライフサイクルの各ステージを示します。このライフサイクルの環境は 環境パス にリンクされます。コンテンツは、環境パスの次のライフサイクルステージにプロモートできます。たとえば、アプリケーションの特定のバージョンで環境を完了し、このバージョンをテスト環境にプロモートしたら、次のバージョンの開発を開始できます。
図2.7 4 つの環境を含む環境パス
コンテンツビューは、オプションのフィルター機能とともに、1 つ以上の yum、Puppet リポジトリーを含む管理対象のコンテンツセレクションです。フィルターを包括的または排他的に使用して、ライフサイクルの管理用にコンテンツのシステムビューを調整することができます。また、フィルターを使用してクライアントシステムで利用できるようにコンテンツをカスタマイズできます。コンテンツビューのバージョンは、アプリケーションライフサイクル期間に環境パス上でプロモートされます。公開されたコンテンツビューがライフサイクル環境と共に使用されます。
第3章 Satellite 5 から 6 への移行 リンクのコピーリンクがクリップボードにコピーされました!
本章では、ブートストラップスクリプトを使用して、以前の Satellite 5 から Satellite 6 へクライアントを移行し、移行プロセスの完了後に以前の Satellite インスタンスをリタイアさせる方法を説明します。
移行に使用するブートストラップスクリプトでは、コンテンツ登録、製品の証明書、および Puppet の設定を行います。ブートストラップスクリプトには、どこ (RHN、Satellite 5、SAM、RHSM) に登録されていても、または登録されていない場合でも、Red Hat Enterprise Linux システムを Satellite 6 にサブスクライブするという利点があります。
ブートストラップスクリプトでは、以下のことができます。
- Satellite 5 から Satellite 6 にクライアントを移行する
- Satellite 6 インスタンスのクライアントを、別のインスタンスに移行する
- 新規 Red Hat Enterprise Linux システムを Satellite 6 に登録する
3.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- s390 システムに Satellite 5.8 を実行している場合は、x86_64 アーキテクチャーシステムに未使用の Satellite 6 をビルドする必要があります。Satellite 6 は、s390 システムでは実行できません。
- 完全に機能する、最新の Satellite 6 で開始するようにしてください。
- 移行プロセスを開始する前に、Satellite 6 インスタンスを、必要な Red Hat コンテンツと同期させる必要があります。
- ホストにアクティベーションキーを設定しておきます。アクティベーションキーの設定方法は『コンテンツ管理ガイド』の「アクティベーションキーの管理」を参照してください。
- 任意で、環境を一致させるようにホストコレクションを設定します。ホストコレクションの作成方法は『ホストの管理』の「ホストコレクションの設定」を参照してください。
3.2. 移行のワークフロー リンクのコピーリンクがクリップボードにコピーされました!
ワークフローには、以下の手順が含まれます。
- クライアントへのブートストラップスクリプトのインストール
Red Hat Enterprise Linux System の移行
- クライアントシステムでブートストラップスクリプトを実行
- 管理者として Web UI で Puppet 証明書を承認
- クライアントシステムで移行プロセスを完了したことを確認
3.3. 移行の実行 リンクのコピーリンクがクリップボードにコピーされました!
Satellite 6 では、ブートストラップスクリプトを使用して、以前の Satellite 5 インスタンスから既存のクライアントを移行します。
ブートストラップスクリプトは、コンテンツの登録、製品の証明書、および Puppet 設定を処理します。
3.3.1. ブートストラップスクリプトのインストール リンクのコピーリンクがクリップボードにコピーされました!
ブートストラップスクリプトのパッケージである katello-client-bootstrap は、デフォルトで Satellite Server のベースシステムにインストールされ、スクリプトは /var/www/html/pub/ ディレクトリーにインストールされ、クライアントで使用できるようになります。これには、以下の形式の URL からアクセスできます。
satellite.example.com/pub/bootstrap.py
satellite.example.com/pub/bootstrap.py
このスクリプトには readme ファイルがあります。Satellite CLI でこのファイルを表示するには、以下のコマンドを実行します。
less /usr/share/doc/katello-client-bootstrap-version/README.md
$ less /usr/share/doc/katello-client-bootstrap-version/README.md
ブートストラップのクライアントへのインストール
スクリプトが必要になるのは一度だけで、さらには root ユーザー向けのものなので、これを /root に保存して使用後に削除します。root として、以下のようにクライアントにブートストラップスクリプトをインストールします。
rootディレクトリーにいることを確認します。cd
# cdCopy to Clipboard Copied! Toggle word wrap Toggle overflow スクリプトをダウンロードします。
curl -O http://satellite.example.com/pub/bootstrap.py
# curl -O http://satellite.example.com/pub/bootstrap.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、スクリプトが現行ディレクトリーにインストールされます。
スクリプトを実行可能にします。
chmod +x bootstrap.py
# chmod +x bootstrap.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow スクリプトが実行できることを確認するには、以下のように使用ステートメントを表示します。
./bootstrap.py -h
# ./bootstrap.py -hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 移行プロセスが完了したら、スクリプトを削除できます。
cd rm bootstrap.py
# cd # rm bootstrap.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.2. Red Hat Enterprise Linux 6 システムの移行 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux 6 システムの移行
ご使用の環境に適した値を使用して、以下のようにブートストラップコマンドを出力します。
--serverオプションの場合は、Satellite Server または Capsule Server の FQDN 名を指定します。--location、--organization、および--hostgroupの場合は、オプションへの引数として、ラベルではなく引用符で囲まれた名前を使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow スクリプトは、
--loginオプションを使用して入力した Satellite ユーザー名に対応するパスワードの入力を求めるプロンプトを出します。スクリプトが実行し、進捗の通知が
stdoutに送信されます。以下のような出力で、Puppet 証明書の承認を求めるプロンプトを出しているのを確認します。[NOTIFICATION], [2016-04-26 10:16:00], [Visit the UI and approve this certificate via Infrastructure->Capsules] [NOTIFICATION], [2016-04-26 10:16:00], [if auto-signing is disabled] [RUNNING], [2016-04-26 10:16:00], [/usr/bin/puppet agent --test --noop --tags no_such_tag --waitforcert 10]
[NOTIFICATION], [2016-04-26 10:16:00], [Visit the UI and approve this certificate via Infrastructure->Capsules] [NOTIFICATION], [2016-04-26 10:16:00], [if auto-signing is disabled] [RUNNING], [2016-04-26 10:16:00], [/usr/bin/puppet agent --test --noop --tags no_such_tag --waitforcert 10]Copy to Clipboard Copied! Toggle word wrap Toggle overflow クライアントは、管理者が Puppet 証明書を承認するまで待機します。以下のように Puppet 証明書に署名します。
- Web UI で、インフラストラクチャー > Capsules に移動します。
-
--serverオプションで指定した FQDN に対応する Capsule 名の右側にある 証明書 を選択します。 - アクション コラムで、署名 を選択して、クライアントの Puppet 証明書を承認します。
- クライアントに戻り、残りのブートストラップ処理が完了するのを確認します。
- Web UI で ホスト > すべてのホスト に移動して、そのクライアントが、適切なホストグループに接続していることを確認します。
ブートストラップスクリプトの使用方法は『ホストの管理』の「ブートストラップスクリプトを使用したホストの Satellite 6 への登録」を参照してください。
3.4. 使用しなくなった Satellite 5 Server のリタイア リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、Red Hat Satellite 5 Server から新しい Satellite 6 Server に完全に移行し、必要なくなった以前の Satellite 5 Server をリタイアする方法を説明します。Satellite 5 から新しい RHSM システムに移行した場合は「新しい Satellite 6 へのサブスクリプションの移行」に進んでください。
Satellite 5 を RHSM システムに移行しなかった場合は、『コンテンツ管理ガイド』の「サブスクリプションの管理」 セクションの説明に従ってマニフェストを新規作成し、新しい Satellite 6 に追加します。以下の Python スクリプトを実行して、使用しなくなった Satellite のプロファイルを RHN から削除します。
3.4.1. 新しい Satellite 6 へのサブスクリプションの移行 リンクのコピーリンクがクリップボードにコピーされました!
本セクションは、使用していた Satellite 5 Server から新しい Satellite 6 Server へサブスクリプションを移行する方法を説明します。
新しいサブスクリプションの設定:
- カスタマーポータル にログインし、サブスクリプション に移動します。
- インベントリー に移動して Satellite 組織 をクリックします。
- 移行する Satellite 5 Server の名前の左側にあるチェックボックスを選択し、選択した項目を削除 をクリックします。警告ボックスが表示されるので 削除 をクリックしてユニットを削除します。
- 新しい Satellite 6 Server の名前をクリックし、移行サブスクリプション名の左側にあるチェックボックスを選択します。選択項目の削除 をクリックします。警告ボックスが表示されるので、削除 をクリックしてサブスクリプションを削除します。
- サブスクリプションのアタッチ をクリックし、適切な Satellite サブスクリプションを選択し、選択項目のアタッチ をクリックします。
新しい Satellite 6 Server で以下のコマンドを実行し、サブスクリプションマネージャーを更新します。
subscription-manager refresh
# subscription-manager refreshCopy to Clipboard Copied! Toggle word wrap Toggle overflow
新しい Satellite 6 Server でリポジトリーを有効にします。
移行する Satellite 5 Server で、以下のコマンドを使用して、有効にしたチャンネルを表示します。
spacewalk-channel -l
# spacewalk-channel -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい Satellite 6 Server で、以下のコマンドを使用して、組織で有効になっているリポジトリーを一覧表示します。
hammer product list --organization "organization_name"
# hammer product list --organization "organization_name"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい Satellite 6 Server で、必要なリポジトリーがすべて有効になるように設定します。
Web UI をご利用の場合
Content → Red Hat Repositories に移動して、有効にするリポジトリーを選択します。
CLI をご利用の場合
名前または ID 番号を使用してリポジトリーを有効にします。任意で、リリース番号とベースアーキテクチャーを追加できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第4章 Satellite 6 API への移行 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Satellite 6 が Satellite 5 と大きく違う点の 1 つに API が挙げられます。Satellite 5 は XMLRPC ベースの API を使用しますが、Satellite 6 は REST ベースの API を使用します。この基本的な違いにより、Satellite 6 REST API を使用する前に、Satellite 5 API と統合した既存のスクリプトまたはツールを確認するか、少なくても部分的に書き直す必要があります。
本セクションは、各製品内で同じユースケースを実現するための比較を紹介します。このチュートリアルは、特定のプログラミング言語を対象にしておらず、どのスクリプトも HTTPS で安全を確保していません。ここでは、Satellite 6 API への移行を開始するために Satellite 5 API スクリプトをメンテナンスするところから説明します。
Satellite 6 移行ツールは、Satellite 5 API またはスクリプトを Satellite 6 に移行しません。移行プロセスを開始するには、このセクションから始めてください。
詳しい情報
API の詳しい情報は『API ガイド』 を参照してください。お使いの Satellite Server では、以下の場所で参照できます。
- Satellite 6: https://satellite6.example.com/apidoc/v2.html
- Satellite 5: https://satellite5.example.com/rpc/api
4.1. API スクリプトの例 リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、例を挙げて、以下の点を説明します。
Red Hat Satellite のシステムおよびホスト
- 認証し、ログインするユーザーに利用可能なシステム (Satellite 5) またはホスト (Satellite 6) の一覧を要求する
ユーザーとロール
- 認証し、ログインしたユーザーに表示可能なユーザーの一覧を要求する
- example ユーザーが存在する場合は削除する
- example ユーザーを新規作成し、そのロールを Administrator に設定する
本セクションでは、同じ結果を実現するための方法を全部で 5 つ紹介します。そのうち 2 つは Satellite 5 用で、残りの 3 つは Satellite 6 用です。
- Satellite 5 の Python スクリプト
- Satellite 6 Python スクリプト
- Satellite 6 の Ruby スクリプト
-
Satellite 5 の
spacecmdの例 -
Satellite 6 の
hammerの例
spacecmd コマンドは、Satellite 5.6 ではサポートされていません。Satellite 5.7 ではサポートされているため、完全を期すためにここに示します。
全部で 10 個の例が提供されます。最初に、システムおよびホストを一覧を表示する簡単なユースケースを紹介し、その後、ユーザやロールなどの複雑なユースケースを紹介します。
4.1.1. システムおよびホストの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、例を挙げて、ログインしたユーザーに利用可能なシステムおよびホストの一覧を表示する方法を説明します。
Satellite 5 で Python を使用して利用可能なシステムを一覧表示
この例では、Python スクリプトを使用して Satellite 5 に接続し、認証し、利用可能なシステムの一覧を取得します。
Satellite 6 で Python を使用して利用可能なホストを一覧表示
この例では、Python スクリプトを使用して Satellite 6 に接続し、認証し、利用可能なシステムの一覧を取得します。
Satellite 6 で Ruby を使用して利用可能なホストを一覧表示
この例では、Ruby スクリプトを使用して Satellite 6 に接続し、認証し、利用可能なシステムの一覧を取得します。
Satellite 5 でコマンドラインを使用して利用可能なシステムを一覧表示
Satellite 5 で以下のコマンドを使用して、利用なシステムを一覧表示します。
spacecmd -u username -p password system_list
# spacecmd -u username -p password system_list
セッションは以下のようになります。
spacecmd -u admin -p password system_list
# spacecmd -u admin -p password system_list
INFO: Spacewalk Username: admin
INFO: Connected to https://localhost/rpc/api as admin
test_02.example.com
Satellite 6 でコマンドラインを使用して利用可能なホストを一覧表示
Satellite 6 で以下のコマンドを使用して、利用可能なホストを一覧表示します。
hammer host list
# hammer host list
セッションは以下のようになります。
4.1.2. ユーザーの削除および作成 リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、ユーザーの検索、作成、削除する方法を説明します。
Satellite 5 で Python を使用してユーザーを管理
この例では、Python スクリプトを使用して Satellite 5 Server に接続し、認証する方法を説明します。ここでは、特定ユーザー (example) を検索し、そのユーザーが存在する場合は削除して再作成し、管理者権限を付与する方法を説明します。
Satellite 6 で Python を使用してユーザーを管理
ここでは、先ほどの例と同じタスクを行います。つまり、Python スクリプトを使用して Satellite 6 Server サーバーに接続し、認証する方法を説明します。特定のユーザーを検索し、そのユーザーが存在する場合は削除して再作成し、管理者権限を付与する方法を説明します。
Satellite 6 で Ruby を使用してユーザーを管理
次に、Ruby を使用して、先ほどの例と同じタスクを実行します。
Satellite 5 でコマンドラインを使用してユーザーを管理
ここでは、spacecmd コマンドを使用して、上の例と同じタスクを実行します。
spacecmd -u admin -p password user_list spacecmd -u admin -p password user_delete example spacecmd -u admin -p password user_create spacecmd -u admin -p password user_addrole example org_admin
# spacecmd -u admin -p password user_list
# spacecmd -u admin -p password user_delete example
# spacecmd -u admin -p password user_create
# spacecmd -u admin -p password user_addrole example org_admin
セッションは以下のようになります。
Satellite 6 でコマンドラインを使用してユーザーを管理
ここでは、 hammer コマンドを使用して、上の例と同じタスクを実行します。
hammer shell user list user delete --id 4 --login example user create --admin true --firstname Example --lastname User --login example --mail root@localhost --password redhat --auth-source-id 1
# hammer shell
> user list
> user delete --id 4 --login example
> user create --admin true --firstname Example --lastname User --login example --mail root@localhost --password redhat --auth-source-id 1
セッションは以下のようになります。
4.2. Satellite 6 API のヒント リンクのコピーリンクがクリップボードにコピーされました!
本セクションでは、Satellite 6 API での体験を最適化するための一般的なヒントを紹介します。
Satellite 6 API の閲覧
Satellite 6 Web UI にログインしている場合は、GET 要求のデフォルトの結果を /api/v2/<API-NAME> で確認できます。以下はその例となります。
コマンドラインで Satellite 6 API 要求の使用
curl コマンドを使用して、Satellite 6 API と対話ができます。以下に例を示します。
例4.1 GET 要求の例
Satellite 6 の組織、ホスト、ユーザーの一覧を表示する GET 要求の例
例4.2 DELETE 要求の例
上のコマンドで得られた結果から、 ID が「9」のユーザーを削除します。
curl -k -u $SATUSER:$SATPASS -X DELETE -H \ 'Accept: application/json' $SATURL/api/v2/users/9 | json_reformat
# curl -k -u $SATUSER:$SATPASS -X DELETE -H \
'Accept: application/json' $SATURL/api/v2/users/9 | json_reformat
例4.3 POST 要求の例
example という名前の新規ユーザーを作成する POST 要求の例。true フラグを渡して、ユーザーに管理者権限を付与します。
例4.4 PUT 要求の例
ID が「10」の example ユーザーのメールアドレスを example@localhost に変更する PUT 要求の例
curl -k -u $SATUSER:$SATPASS -X PUT \
-d '{ "id": 10, "mail": "example@localhost" }' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
$SATURL/api/v2/users/10 | json_reformat
# curl -k -u $SATUSER:$SATPASS -X PUT \
-d '{ "id": 10, "mail": "example@localhost" }' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
$SATURL/api/v2/users/10 | json_reformat
付録A 用語集 リンクのコピーリンクがクリップボードにコピーされました!
以下は、本書全体で使用されている用語です。これらの用語を十分に理解しておくと、Red Hat Satellite 6 を理解するのに役立ちます。
- Activation Key (アクティべーションキー)
- 登録時のアクションを制御するためにキックスタートファイルで使用される登録トークンです。これは Red Hat Satellite 5 のアクティベーションキーと似ていますが、登録後に Puppet でパッケージと設定管理を制御するのに必要な機能のサブセットを提供します。
- Application Life Cycle Environment (アプリケーションのライフサイクル環境)
- アプリケーションライフサイクル環境は、ソフトウェア開発ライフサイクル (SDLC) のプロモーションパスにおけるステップまたはステージを表します。プロモーションパスは開発パスとしても知られています。パッケージや Puppet モジュールなどのコンテンツは、コンテンツビューの公開およびプロモートにより、ライフサイクル環境間を移動します。すべてのコンテンツビューにはバージョンがあります。つまり、特定のバージョンを標準的なプロモーションパス上でプロモートできます。たとえば、「development (開発)」から「test (テスト)」に移行し、その後「production (本番)」に移行できます。Red Hat Satellite 5 では、チャンネルをクローン作成することで、この概念を実現していました。
- Attach (アタッチ)
- RPM コンテンツへのアクセスを提供するサブスクリプションをホストに割り当てるプロセスです。
- Capsule
- Capsule は、Red Hat Satellite 6 デプロイメントで使用できる追加サーバーであり、他のサービス (Puppet マスター、DHCP、DNS、TFTP など) をローカル化し、コンテンツのフェデレーションと配布を容易にします。
- Catalog (カタログ)
- カタログは、1 台のコンピューターのシステム状態について説明するドキュメントです。ここでは、管理が必要な全リソースと、そのリソース間の依存関係が一覧表示されます。
- Compute Profile (コンピュートプロファイル)
- コンピュートプロファイルは、コンピュートリソース上にある新規仮想マシンのデフォルト属性を指定します。
- Compute Resource (コンピュートリソース)
- コンピュートリソースは、Red Hat Satellite 6 がホストやシステムのデプロイに使用する仮想またはクラウドのインフラストラクチャーです。たとえば、Red Hat Enterprise Virtualization Manager、OpenStack、EC2、VMWare などが挙げられます。
- Content (コンテンツ)
- コンテンツには、ソフトウェアパッケージ (RPM ファイル) および Puppet モジュールが含まれます。コンテンツをライブラリーに同期した後、コンテンツビューを使用してライフサイクル環境にプロモートします。これにより、ホストがコンテンツを使用できるようになります。
- Content Delivery Network (CDN) (コンテンツ配信ネットワーク: CDN)
- コンテンツ配信ネットワーク (CDN) は、同じ地理的拠点にサーバーが設置されるコロケーション形態で、Red Hat コンテンツの配信に使用されるメカニズムです。たとえば、ヨーロッパの Satellite がコンテンツを同期する場合は、ヨーロッパにあるソースからコンテンツをプルします。
- Content Host (コンテンツホスト)
- コンテンツホストは、コンテンツとサブスクリプションに関連するタスクを管理するホストの一部です。
- Content View (コンテンツビュー)
- コンテンツビューは、製品、パッケージ、および Puppet モジュールを、インテリジェントなフィルタリングやスナップショット作成などの各種機能と組み合わせたコンテンツの定義です。コンテンツビューは、Red Hat Satellite 5 のチャンネルとクローン作成の機能を組み合わせて改良した概念です。
- External Node Classifier (外部ノードの分類子)
- 外部ノードの分類子は、ホストの設定時に Puppet マスターが使用する追加データを提供する Puppet コンストラクトです。Red Hat Satellite 6 は、Satellite デプロイメントで Puppet マスターに対する外部ノードの分類子として機能します。
- Facter
- Facter は一種のプログラムであり、それを実行するシステムに関する情報 (ファクト) を提供します。たとえば、Facter は合計メモリー、オペレーティングシステムのバージョン、アーキテクチャーなどをレポートできます。Puppet モジュールは、Facter が収集したホストのデータに基づいて、特定の設定を有効にします。
- Hammer
- Hammer は、Red Hat Satellite 6 のコマンドラインツールです。標準 CLI、またはスクリプトやインタラクティブシェルで Hammer を使用して Red Hat Satellite 6 を管理します。
- Hiera
- Hiera は、設定データのキーと値のルックアップツールで、Puppet マニフェストからサイト固有のデータを排除できます。
- ホスト
- ホストは、Red Hat Satellite 6 が管理するすべてのシステム (物理または仮想システム) を指します。
- Host Collection (ホストコレクション)
- ホストコレクションは、Satellite 5 のシステムグループに相当するもので、1 つ以上のホストのユーザー定義グループを指します。
- Host Group (ホストグループ)
- ホストグループは、ホストをビルドするためのテンプレートです。これには、(利用可能な RPM ファイルと Puppet モジュールを定義する) コンテンツビューや、(ソフトウェアと設定を最終的に決定する) 適用対象の Puppet クラスが含まれます。
- Location (ロケーション)
- ロケーションは、物理的な場所を表すデフォルト設定のコレクションです。これらはネスト化できるため、ロケーションの階層的なコレクションを設定できます。たとえば、「中東」から始まり、「テルアビブ」、「データセンター東」、さらには「ラック 22」と詳細化してデフォルトをセットアップできます。
- Library (ライブラリー)
- ライブラリーには すべて のバージョンが含まれるため、ユーザーがデプロイしたソフトウェアの、最近同期したバージョンも含まれます。IT インフラストラクチャーライブラリー (ITIL) の組織 (organization) または部署 (department) のコンテキストでは、これは確定版メディアライブラリーに相当します (以前の名称は確定版ソフトウェアライブラリー)。
- Manifest (マニフェスト)
Red Hat カスタマーポータルから Red Hat Satellite 6 にサブスクリプションを送信するメカニズム。これは Red Hat Satellite 5 で使用される証明書と機能的に似ています。
証明書およびサブスクリプションのタイプの詳細は、以下を参照してください。
- Organization (組織)
- 組織は、Satellite 6 デプロイメント内の複数のシステム、コンテンツ、その他の機能からなる単独のコレクションです。
- Product (製品)
- コンテンツリポジトリーのコレクションです。「製品」には Red Hat 製品、またはソフトウェアと設定コンテンツで構成される、新規に作成される製品が含まれます。
- Promote (プロモート)
- ソフトウェアと設定コンテンツで構成されるコンテンツビューを 1 つのアプリケーションライフサイクル環境から別のアプリケーションライフサイクル環境に移行する動作を指します。たとえば、「Development (開発)」から「QA」、そして「Production (本番)」への移行などが含まれます。
- Provisioning Template (プロビジョニングテンプレート)
- プロビジョニングテンプレートは、キックスタートファイル、スニペット、その他のプロビジョニング操作のためのユーザー定義テンプレートです。Satellite 6 では、このテンプレートで、Red Hat Satellite 5 のキックスタートプロファイルと Cobbler スニペットと同様の機能を提供します。
- Pulp Node (Pulp ノード)
- Pulp ノードは、コンテンツをミラーリングする Capsule Server のコンポーネントです。これは Red Hat Satellite 5 Proxy に似ています。主な違いは、Pulp ノードの場合には、ホストがコンテンツを使用する前に、そのノード上でコンテンツをステージングできる点にあります。
- Puppet Agent (Puppet エージェント)
- Puppet エージェントは、ホスト上で実行するエージェントで、設定の変更をホストに適用します。
- Puppet Master (Puppet マスター)
- Puppet マスターは、Puppet エージェントが実行する Puppet マニフェストをホストに提供する Capsule Server のコンポーネントです。
- Puppet Module (Puppet モジュール)
- Puppet モジュールは、ユーザー、ファイル、サービスなどのリソースを管理するのに使用できるコードとデータの自己完結型のバンドルです。
- Repository (リポジトリー)
- リポジトリーは、コンテンツのコレクション用にストレージを提供します。たとえば、YUM リポジトリーまたは Puppet リポジトリーなどがあります。
- Role (ロール)
- ロールは、ホストなどの一連のリソースに適用されるパーミッションのコレクションを指定します。
- Smart Proxy (スマートプロキシー)
- スマートプロキシーは、DNS、DHCP などの外部サービスと統合できる Capsule Server のコンポーネントです。
- Smart Variable (Smart 変数)
- スマート変数は Puppet クラスの動作を制御する設定値です。この値は、ホスト、ホストグループ、組織、またはロケーションに設定できます。
- Standard Operating Environment (SOE) (標準運用環境 (SOE))
- 標準運用環境 (SOE) は、アプリケーションがデプロイされるオペレーティングシステムの制御されたバージョンです。
- Subscription (サブスクリプション)
- サブスクリプションは、Red Hat からコンテンツとサービスを受け取る手段です。
- Synchronizing (同期)
- 同期は、外部リソースのコンテンツを Red Hat Satellite 6 ライブラリーにミラーリングすることを指します。
- Synchronization Plans (同期プラン)
- 同期プランは、コンテンツ同期のスケジュールに基づく実行を可能にします。
- User Group (ユーザーグループ)
- ユーザーグループは、ユーザーのコレクションに割り当てるロールのコレクションです。これは、Red Hat Satellite 5 のロールに似ています。
- User (ユーザー)
- ユーザーは、Red Hat Satellite を使用できるように登録されたすべてのユーザーを指します。認証および認可は、組み込みロジック、外部 LDAP リソース、または Kerberos を使用して実行できます。