この例では、ForemanでCentOS Streamコンテンツを管理および設定するための多くのオプションを示します。
しかし、何百台、何千台ものサーバーを管理する管理者であれば、特定のサーバーに新しいパッケージが追加されるタイミングをコントロールしたいと思うかもしれません。本番サーバーの安定性を確保しながら、開発やテスト用にCentos Streamから最新の変更を安全に取り込むことができる無料のオープンソースツールをお探しなら、Foremanがお役に立ちます。Foremanを使えば、ライフサイクル環境のあらゆる段階でCentos Streamのコンテンツを管理できます。
Foreman
Foremanは、物理および仮想サーバーの完全なライフサイクル管理ツールです。Foremanは、管理、構成管理、監視のためのエンタープライズクラスのソリューションを提供します。プラグインアーキテクチャにより、Foremanは無数の拡張が可能です。Katelloプラグインを使用することで、ForemanをCentOS Streamを管理するための完全なツールとして使用することができます。
ForemanとKatelloを使えば、各環境に含ませたいパッケージを正確に定義することができます。例えば、本番環境では安定性が証明されたパッケージを使用し、開発環境では最新版のパッケージを使用するといった具合です。また、ライフサイクル環境間でプロモートすることもできます。Foremanがどのようにこれを実現しているかを見てみましょう。
この記事ではウェブUIを使用していますが、Foremanには強力なCLIとAPIもあります。KatelloプラグインはPulpプロジェクトのためのワークフローとウェブUIを提供 この記事 。ここではシンプルなワークフローも提供していますが、ForemanとKatelloのプロジェクトには、特定のニーズを満たすための様々な設定オプションが用意されています。
この記事は、ForemanとKatelloがすでにインストールされていることを前提としています。インストール方法の詳細については、 Katelloインストールマニュアルをご覧ください。
製品の作成
最初のステップは、Foremanで作成することです。この製品は、CentOS Streamリポジトリを格納する内部ラベルとして機能します。
- Foreman ウェブ・ユーザー・インターフェイスで、" > " に移動し、" " をクリックします。
- Foremanは、入力された「"」に基づいて「"」フィールドをオートコンプリートしますので、後で変更することはできません。
製品へのCentOS Streamリポジトリの追加
これで製品ができたので、AppStreamとBaseOSのリポジトリURLを使用し、新しい製品に追加することができます。
- Foreman ウェブ・ユーザー・インターフェイスで、" > "に移動し、使用する製品を選択し、" "をクリックします。
- ""フィールドにリポジトリの名前を入力します。例えば、"Centos8StreamBaseOS "です。"を入力すると、Foremanは入力内容に基づいて""フィールドを自動補完します。
- ""リストからリポジトリの種類を選択し、"Yum "を選択します。
- URL」フィールドに、ソースとしてCentOS Stream BaseosリポジトリのURLを入力します:
http://..//-//_/os/. - リストを選択します。デフォルトは""で、Katelloはメタデータのみをダウンロードします。すべてのパッケージをダウンロードしたい場合は、""に変更してください。
- チェックボックスが選択されていることを確認します。このオプションは、アップストリームリポジトリの一部でなくなったコンテンツが同期プロセス中に削除されることを保証します。
- をクリックしてください。
これらの手順を繰り返して、AppStreamリポジトリとそのURL、たとえばhttp://..//-//_/os/追加します。代わりに、最近の公式CentOSイメージを使用していることを確認してください。
すぐに同期を実行するには、製品ウィンドウで「」をクリックします。初期同期には時間がかかる場合があります。同期のステータスは " > " から確認できます。
同期が完了すると、" > "に新しいCentOS Stream OSが表示されます。名前や説明は自由に編集してください。
AnsibleやPuppetなどの構成管理ソフトウェアを使用する場合、Foremanは自動的にオペレーティングシステムレポートを作成します。このオプションは " > > " でオフにできます。構成管理ソフトウェアの名前に合わせてオペレーティングシステムの名前を変更することをお勧めします。例えば、Puppetの場合、"CentOS 8 "となります。
インフラのライフサイクル環境の定義
アプリケーション・ライフサイクルは、Foremanのコンテンツ管理機能の中核となる概念です。アプリケーションライフサイクルは、特定のシステムとそのソフトウェアの特定の段階における状態を定義します。たとえば、アプリケーションのライフサイクルは非常にシンプルで、「開発」フェーズと「本番」フェーズしかないかもしれません。foremanは、仕様に合わせて制御された方法で各アプリケーションライフサイクルフェーズをカスタマイズする方法を提供します。
この時点で、ライフサイクル環境パスを作成する必要があります。
- Foreman ウェブ・ユーザー・インターフェイスで、" > "に移動します。
- をクリックして、新しいアプリケーションライフサイクルを開始します。
- フィールドに環境の名前を入力します。
- フィールドに環境の説明を入力します。
- をクリックしてください。
- 必要なだけ環境パスを追加します。たとえば、"dev"、"test"、"stage"、そして "production" 環境を作成できます。これらの環境を追加するには、"Add New Environment "をクリックし、"" と "" フィールドを埋めて、"" リストから前の環境を選択します。を" "リストから選択することで、使用する順番に環境を連結することができます。
コンテンツビューの作成と公開
Foreman では、「」は特定の時点でのリポジトリのスナップショットです。コンテンツビューは、パッケージのバージョンを保持したい状態に分離する仕組みを提供します。コンテンツビューには多くの設定可能な機能があり、それを使ってさらに絞り込むことができます。このチュートリアルでは、シンプルに説明します。
- Foreman ウェブ・ユーザー・インターフェイスで、" > " に移動し、" " をクリックします。
- Foremanは、入力された名前に基づいて「」フィールドを自動的に補完します。
- フィールドにビューの説明を入力します。
- をクリックしてコンテンツビューを作成します。
- 新しいコンテンツビューで" > "をクリックし、" "エリアで" "をクリックします。BaseOSとAppstreamリポジトリの場合、含めたいパッケージを選択し、" "をクリックします。
- をクリックし、" "フィールドに変更を記録するバージョンに関する情報を入力します。
- をクリックしてください。
をクリックすると、同期したすべてのコンテンツのスナップショットが作成されます。つまり、このコンテンツビューにサブスクライブした各サーバーは、このライフサイクル環境に関連するコンテンツビューのパッケージバージョンにのみアクセスできるようになります。
新しいコンテンツビューとそれ以降のリリースは、まずライブラリ環境にリリースされ、そこから他の環境に昇格させることができます。
ライフサイクルを超えた環境アウトリーチ・コンテンツ
新しいパッケージをテストし、すべてが安定していることを確信したら、コンテンツビューを別のライフサイクル環境にプロモートできます。
- に移動し、プロモーションしたいコンテンツビューを選択します。
- コンテンツビューの「」タブをクリックします。
- プロモーションしたいバージョンを選択し、" "フィールドで" "をクリックします。
- コンテンツビューを促進したい環境を選択し、" "をクリックします。
- もう一度" "ボタンをクリックします。今度はライフサイクル環境(例:"Test")を選択し、" "をクリックします。
- 最後にもう一度" "ボタンをクリックします。例えば、"Production "環境を選択し、" "をクリックします。
特定の環境に割り当てられているサーバーは、更新されたパッケージセットから取得できるようになりました。
アクティベーション・キーの作成
CentOS Streamサーバーを特定のライフサイクルで定義したものに登録するには、アクティベーションキーを作成する必要があります。アクティベーションキーは、サーバーと認証情報を共有する安全な方法です。これは、CentOS Streamサーバーのコンテンツを購読するために呼ばれるツールを使用します。
アクティベーションキーを作成したら、アクティベーションキーにCentOS Streamのサブスクリプションを追加します。
- Foreman ウェブ・ユーザー・インターフェイスで、" > " に移動し、" " をクリックします。
- フィールドにアクティベーション・キーの名前を入力します。
- フィールドにアクティベーション・キーの説明を入力します。
- リストから使用する環境を選択します。
- リストから、先ほど作成したコンテンツビューを選択します。
- をクリックしてください。
Foreman管理コンテンツからのCentOS Streamホストの作成
これですべての準備が整いました。作成したコンテンツはコンテンツビューに表示され、ライフサイクル全体を通してプロモーションされます。
Foremanでホストを作成するには、[Hosts] > [Create Host]に移動します。
- フィールドにホスト名を入力します。
- と" "タブをクリックして、設定環境が自動的に現在の環境に設定されるようにします。
- リストから" "を選択します。
- タブをクリックしてください。
- ""リストから "x86_64 "を選択します。
- ""リストから、"CentOS_Stream 8 "を選択します。
- にチェックを入れてください。
- 同期されたCentOS Streamのコンテンツを使用するには、「」を選択します。
- のリストから、「CentOS Stream」が選択されていることを確認します。
- このデモでは""リストからデフォルトの "Kickstart "を選択しますが、多くのオプションが用意されています。
- フィールドに、新しいホストのルートパスワードを入力します。
- ""タブをクリックし、""をクリックして""を追加します。
- ""タブをクリックし、アクティベーション・キーを提供するパラメータがあることを確認します。ない場合は、アクティベーション・キーを追加してください。
- をクリックしてホストエントリを保存します。
現在、新しいホストはビルドモードになっており、電源を入れるとオペレーティングシステムのインストールが始まります。
に移動すると、ホストがサブスクライブしているサブスクリプション、ライフサイクル環境、およびコンテンツビューの詳細が表示されます。
この例は、ForemanでCentOS Streamコンテンツを管理および設定するための多くのオプションのほんの一部です。CentOS Streamのバージョンを管理する方法、サーバーにアクセスできるコンテンツを制御する方法、インフラストラクチャの安定性を制御および保護する方法について、より詳細な情報が必要な場合は、 ドキュメントをご覧ください。CentOS Streamのコンテンツがすべて管理されると、指定したコンテンツのみを使用するCentos Streamを作成して登録することができます。プロビジョニングの詳細については、 ドキュメントを参照してください。 ご質問、フィードバック、ご提案がありましたら、.NET の Foreman コミュニティをご利用ください。



