2021年12月に、CentOS 8は寿命に達し、CentOSStreamに置き換えられます。 CentOSとCentOSStreamの以前のイテレーション間の主な変更点の1つは、マイナーバージョンがないことです。 Centos Streamは、継続的なリリースサイクルを採用しています。今年の初めから、Foremanコミュニティの開発者は、継続的なリリースの結果としてCentOSStreamが提供する早期のバグ検出とパッチ適用の利点を理解し始めました。最新の変更とバグ修正を利用するために、次のリリースを待つ必要はありません。ベテランのLinuxコミュニティ愛好家は、この動きによってRHEL開発者がFOSSコミュニティにこれまで以上に近づくことにもなると述べています。
ただし、数百または数千のサーバーの管理者である場合は、特定のサーバーに新しいパッケージが追加されるタイミングを制御することをお勧めします。本番サーバーの安定性を確保すると同時に、開発とテストのためにCentos Streamから最新の変更を安全に取り込むことができる、無料のオープンソースツールを探している場合は、Foremanが役立ちます。 Foremanを使用すると、ライフサイクル環境のすべての段階でCentosStreamコンテンツを管理できます。
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
フォアマンとは何ですか?
Foremanは、物理サーバーと仮想サーバーの完全なライフサイクル管理ツールです。 Foremanを使用すると、システム管理者は、反復的なタスクを簡単に自動化し、アプリケーションを迅速に展開し、オンプレミスまたはクラウド内のサーバーをプロアクティブに管理することができます。 Foremanは、プロビジョニング管理、構成管理、および監視のためのエンタープライズレベルのソリューションを提供します。プラグインアーキテクチャのおかげで、Foremanは無数の方法で拡張できます。 Katelloプラグインを使用すると、Foremanを完全なコンテンツ管理ツールとして使用して、他の多くのコンテンツタイプの中でもCentOSストリームを管理できます。
ForemanとKatelloを使用すると、各環境に含めるパッケージを正確に定義できます。たとえば、本番環境では安定していることが確認されたパッケージを使用する場合がありますが、開発者環境では利用可能な最新かつ最高のパッケージバージョンが必要になる場合があります。ライフサイクル環境全体でコンテンツビューを宣伝することもできます。フォアマンがこれをどのように達成するかを見てみましょう。
この記事ではWebUIを参照しますが、Foremanには堅牢なCLIとAPIもあります。 Katelloプラグインは、PulpプロジェクトのワークフローとWeb UIを提供します。これについては、この記事で詳しく読むことができます。ここでも簡単なワークフローを提供していますが、ForemanとKatelloプロジェクトは、特定のニーズに合わせてさまざまな構成オプションを提供しています。
この記事は、ForemanとKatelloがすでにインストールされていることを前提としています。これを行う方法の詳細については、Katelloのインストールマニュアルを参照してください。
製品を作成する
最初のステップは、フォアマンで製品を作成することです。この製品は、CentOSStreamリポジトリを保存するための内部ラベルとして機能します。
- Foreman Web UIで、コンテンツに移動します>製品 、[製品の作成]をクリックします 。
- 名前 フィールドに、製品の名前を入力します。フォアマンは自動的にラベルを完成させます 名前、に入力した内容に基づくフィールド これは後で変更することはできません。
CentOSストリームリポジトリを製品に追加する
製品ができたので、AppStreamおよびBaseOSリポジトリのURLを使用して、それらを新しい製品に追加できます。
- Foreman Web UIで、コンテンツに移動します>製品 、使用する製品を選択し、[新しいリポジトリ]をクリックします 。
- 名前 フィールドに、リポジトリの名前を入力します。たとえば、 Centos8StreamBaseOS 。フォアマンは自動的にラベルを完成させます 名前に入力した内容に基づくフィールド 。
- タイプから リストをクリックし、リポジトリのタイプを選択してから、 Yum を選択します 。
- URL フィールドに、ソースとして使用するCentOS Stream BaseosリポジトリのURLを入力します:http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/
- ダウンロードポリシーを選択します リスト。デフォルトはオンデマンドです -これは、Katelloがメタデータのみをダウンロードすることを意味します。すべてのパッケージをダウンロードする場合は、即時に変更してください 、20〜30GBに達する可能性のあるすべてのパッケージをダウンロードします。
- ミラーオン同期を確認します チェックボックスがオンになっています。このオプションにより、アップストリームリポジトリの一部ではなくなったコンテンツが同期中に確実に削除されます。
- [保存]をクリックします 。
これらの手順を繰り返して、URLを含むAppStreamリポジトリを追加します(例:http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/)。代わりに、最も近い公式のCentOSミラーを使用してください。
すぐに同期を実行するには、製品ウィンドウで[今すぐ同期]をクリックします 。初期同期には時間がかかる場合があります。同期ステータスは、コンテンツ>同期ステータスから確認できます。
同期が完了すると、ホスト>オペレーティングシステムで新しいCentOSストリームオペレーティングシステムを表示できます。 。要件に合わせて名前と説明を自由に編集してください。
AnsibleやPuppetなどの構成管理ソフトウェアを使用する場合、Foremanはオペレーティングシステムレポートを自動的に作成します。このオプションは、[管理]>[設定]>[オペレーティングシステムのファクトを無視する]でオフにできます。 。構成管理ソフトウェアの名前と一致するようにオペレーティングシステムの名前を変更することをお勧めします。たとえば、Puppetの場合、これは CentOS 8になります。 。
インフラストラクチャのライフサイクル環境を定義する
アプリケーションのライフサイクルは、Foremanのコンテンツ管理機能の中心となる概念です。アプリケーションのライフサイクルは、特定のシステムとそのソフトウェアが特定の段階でどのように見えるかを定義します。たとえば、アプリケーションのライフサイクルは単純な場合があります。 開発しかない場合があります ステージと制作 ステージ。 Foremanは、仕様に合わせて制御された方法で各アプリケーションのライフサイクルステージをカスタマイズする方法を提供します。
この時点で、ライフサイクル環境パスを作成する必要があります。
- Foreman Web UIで、コンテンツに移動します>ライフサイクル環境 。
- 新しい環境パスをクリックします 新しいアプリケーションのライフサイクルを開始します。
- 名前 フィールドに、環境の名前を入力します。
- 説明 フィールドに、環境の説明を入力します。
- [保存]をクリックします 。
- 必要な数の環境パスを追加します。たとえば、 devを作成できます 、テスト、 ステージ およびプロダクション 環境。これらの環境を追加するには、[新しい環境の追加]をクリックします 、名前を入力します および説明 フィールドをクリックし、以前の環境から以前の環境を選択します 使用する予定の順序でそれらを連鎖させるようにリストします。
コンテンツビューを作成して公開する
Foremanでは、コンテンツビューは、特定の時点でのリポジトリのスナップショットです。コンテンツビューは、保存したい状態のパッケージバージョンを分離するためのメカニズムを提供します。コンテンツビューには、さらに洗練するために使用できる多くの構成可能な機能があります。このチュートリアルでは、物事をシンプルに保ちましょう。
- Foreman Web UIで、コンテンツに移動します>コンテンツビュー 新しいビューの作成をクリックします 。
- 名前 フィールドに、ビューの名前を入力します。フォアマンは自動的にラベルを完成させます 入力した名前のフィールド。
- 説明 フィールドに、ビューの説明を入力します。
- [保存]をクリックします コンテンツビューを作成します。
- 新しいコンテンツビューで、[Yumコンテンツ>リポジトリの追加]をクリックします リポジトリの選択 エリアで、[追加]をクリックします。 BaseOSリポジトリとAppstreamリポジトリの両方で、含めるパッケージを選択し、[リポジトリの追加]をクリックします。 。
- [新しいバージョンを公開]をクリックします および説明 フィールドに、変更をログに記録するバージョンに関する情報を入力します。
- [保存]をクリックします 。
新しいバージョンを公開をクリックしたとき 、同期したすべてのコンテンツのスナップショットを作成します。これは、このコンテンツビューにサブスクライブするすべてのサーバーが、このライフサイクル環境に関連付けられたコンテンツビューのパッケージバージョンにのみアクセスできることを意味します。
すべての新しいコンテンツビュー以降のバージョンは、最初にライブラリ環境に公開され、その後、追加の環境に昇格できます。
ライフサイクル環境全体でコンテンツを宣伝する
新しいパッケージをテストし、すべてが安定していることに満足している場合は、コンテンツビューを別のライフサイクル環境に昇格させることができます。
- コンテンツに移動します>コンテンツビュー 宣伝するコンテンツビューを選択します。
- バージョンをクリックします コンテンツビューのタブ。
- プロモートするバージョンを選択し、アクションで 列で、[昇格]をクリックします 。
- コンテンツビューをプロモートする環境を選択し、[バージョンのプロモート]をクリックします 。
- プロモートをクリックします もう一度ボタンを押します。今回は、ライフサイクル環境を選択します(例:テスト) 、[バージョンの昇格]をクリックします 。
- 最後に、プロモートをクリックします もう一度ボタンを押します。たとえば、本番を選択します 環境を選択し、[バージョンのプロモート]をクリックします 。
その特定の環境に割り当てられているサーバーは、更新されたパッケージのセットからプルできるようになりました。
アクティベーションキーを作成する
特定のライフサイクルで定義したコンテンツにCentOSStreamサーバーを登録するには、アクティベーションキーを作成する必要があります。アクティベーションキーは、サーバーと資格情報を共有するための安全な方法です。これは、サブスクリプションマネージャーと呼ばれるツールを使用します CentOSStreamサーバーをコンテンツにサブスクライブします。
アクティベーションキーを作成したら、CentOSStreamサブスクリプションをアクティベーションキーに追加します。
- Foreman Web UIで、コンテンツ>アクティベーションキーに移動します アクティベーションキーの作成をクリックします 。
- 名前 フィールドに、アクティベーションキーの名前を入力します。
- 説明 フィールドに、アクティベーションキーの説明を入力します。
- 環境から リストで、使用する環境を選択します。
- コンテンツビューから リストで、今作成したコンテンツビューを選択します。
- [保存]をクリックします 。
Foremanが管理するコンテンツからCentOSストリームホストを作成する
これですべてがセットアップされました。作成したコンテンツをコンテンツビューに含め、ライフサイクル全体で宣伝することで、使用したいコンテンツをホストに正確にプロビジョニングし、受信したい更新をサブスクライブできるようになりました。
Foremanでホストを作成するには、[ホスト>ホストの作成]に移動します 。
- 名前 フィールドに、ホストの名前を入力します。
- 組織をクリックします および場所 プロビジョニングコンテキストが現在のコンテキストに自動的に設定されるようにするためのタブ。
- 展開から リストで、ベアメタルを選択します 。
- オペレーティングシステムをクリックします タブ。
- アーキテクチャから リストで、 x86_64を選択します 。
- オペレーティングシステムから リストで、CentOS_Stream8を選択します。
- ビルドモードを確認します ボックス。
- メディア選択の場合 、同期コンテンツを選択します 以前に同期したCentOSストリームコンテンツを使用するには。
- 同期から コンテンツ リストで、CentOSストリームが選択されていることを確認します。
- パーティションテーブルから リスト、このデモでは、キックスタートを選択します デフォルトですが、利用可能なオプションはたくさんあります。
- ルートパスワード フィールドに、新しいホストのルートパスワードを入力します。
- インターフェースをクリックします タブをクリックし、編集をクリックします Macアドレスを追加します
- パラメータをクリックします タブをクリックし、アクティベーションキーを提供するパラメータが存在することを確認します。そうでない場合は、アクティベーションキーを追加します。
- [送信]をクリックします ホストエントリを保存します。
これで、新しいホストはビルドモードになります。つまり、ホストをオンにすると、オペレーティングシステムのインストールが開始されます。
ホスト>コンテンツホストに移動した場合 ホストがサブスクライブしているサブスクリプション、ライフサイクル環境、およびコンテンツビューの完全な詳細を確認できます。
この例は、ForemanでCentOSStreamコンテンツを管理およびプロビジョニングするために必要な多くのオプションのほんの一部です。 CentOS Streamバージョンの管理方法、サーバーがアクセスできるコンテンツの制御方法、およびインフラストラクチャの安定性の制御と保護方法に関する詳細情報が必要な場合は、ForemanContentManagementのドキュメントを確認してください。すべてのCentOSStreamコンテンツを管理下に置くと、指定したコンテンツのみを消費するCentosStreamを作成および登録できます。プロビジョニングの詳細については、ForemanProvisioningのドキュメントを参照してください。質問、フィードバック、または提案がある場合は、https://community.theforeman.org/
でフォアマンコミュニティを見つけることができます。