こんにちは。SIOS OSS/セキュリティ エバンジェリストの面です。
今回から数回に分けて、パッチマネージメントと運用に用いることが出来る、OSSのライフサイクルソフトウェアであるKatelloの使い方を見ていきます。
Katelloとは
KatelloとはOS上のソフトウェアライフサイクルを管理する、OSSのシステム管理ツールになります。端的に言うと、Red Hat Satellite 6.0の元になっているOSSのツールです。
Red Hat Satellite 6.0との関係ですが、Red Hat Satellite 6.0は
を組み合わせて構成されています。
KatelloとForemanの関係ですが、ここにも書かれている通り、Katelloは実際にはForemanを中核にしており(プラグインのような感じです)、KatelloではForemanの機能に加えてパッケージ管理が出来るようになっています。Katelloのインストール時には、Foremanインストールのコマンドを使用して、Foremanとその他の必要なものをインストールすることになります。また、既存のForemanにKatelloの機能を付け加えることも出来ます
(※)このKatelloでは、CentOS等のディストリビューションのパッケージ管理が出来る様になっています。Debianのパッケージ管理もサポートしていますが、実際には設定は中々難しいようです。
以下、Katelloの簡単な説明とインストールの方法を紹介しますが、KatelloはForemanを中核にしているため、Foremanの説明と被る箇所も有ります(リンク先も、Foremanの文書になっているケースが多々あります)。そのため、用語説明などの際にはKatello/Foremanと併記します。
Katello/ForemanとSmartProxy
Katello/Foremanの基本的なアーキテクチャは、ここにある通りです。
このリンク先のドキュメントにもある通り、Katello/Foremanでは「Smart Proxy」を用いて、様々な機能を提供するサブシステムと連結します。「Smart Proxy」は、Restfull APIを提供するもので、以下のようなサブシステム用のAPIが提供されています。
DHCP
DNS
TFTP
Puppet
Puppet CA
BMC
openSCAP
Katelloの必須HWスペック
Katelloサーバをインストールするための必須HW条件は以下になります。
CPU: 2CPU以上
Memory: 8GB以上
HDD: 大きければ大きいほど良いです。
/var/lib/pulp以下に管理するOSの更新パッケージが格納されます。一つのOSにつき、30GB以上が必要です。
/var/spool/squid以下がテンポラリディレクトリとして使用されます。/var/lib/pulp以下と同じサイズ(一つのOSにつき、30GB以上)を用意しておいたほうが良いです。
/var/lib/mongodbは4GB以上必要になります。目安として、/var/lib/pulpの40%程度が最小限になります。
/ファイルシステムは20GB以上が必要になります。
許可する必要があるポートの一覧
80/TCP – HTTPがプロビジョニングのために必要になります。
443/TCP – HTTPSが、WebアクセスとAPI間通信のために必要になります。
5647/TCP – qdrouterd がクライアントとcapsule実行のために必要になります。
9090/TCP – HTTPSが、smart proxyの通信のために必要になります。
Katello環境の構築
それでは実際にKatelloをインストールしてみましょう。Katelloは2017年1月時点での最新バージョン(3.2)を使用します。インストールドキュメントがkatelloのサイト(現在はForemanのサイトに統合されています)に詳細含めて載っていますので、基本はこのインストールドキュメントに従って行っていきます。
0. 構成
基本構成は図のようにします。今回は、VMWareのゲストとして環境を構築しています。
図1
OS: CentOS 7 (最新バージョンにupdate)
ホスト名:katello.localdomain
IP: 172.16.148.120 (固定)
HW: CPU x2、Memory: 9GB
Katello: v3.2 (latest)
HDD: 多ければ多いほど(更新パッケージをダウンロードするため)
HWの所で気をつけなくてはいけないところとして、Katelloのインストーラ中で「CPUは2個以上、Memoryは8GB以上」でないとインストーラが終了してしまう所です。
また、今回は通常のKatelloによる各端末の情報取得に加えて、パッケージ更新情報の管理と、SCAPによるセキュリティ構成情報の取得を行うことにします。
1. OSのインストール
CentOS7(latest)をインストールします。今回は、固定IPアドレスでホスト名は「katello.localdomain」としておきます。また、パッケージは「最小限」を選択しています。
OSをインストール後に”yum -y update”で最新の状態にしておきます。
/etc/hostsファイルを編集し
[root@katello ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.148.120 katello.localdomain katello
のように登録しておきます。
まとめ
今回はKatelloの簡単な説明と、インストール準備までの話を紹介しました。次回は、引き続きKatelloのインストールを行っていきます。