第2章 Cryostat のインストール
Operator Lifecycle Manager (OLM) を使用して、Red Hat build of Cryostat Operator を Red Hat OpenShift のプロジェクトにインストールできます。
Red Hat build of Cryostat Operator をインストールすると、Red Hat OpenShift Web コンソールから、Web コンソールを使用してアクセス可能な Cryostat のインスタンスを作成できます。
Red Hat Ecosystem Catalog から最新の Cryostat コンポーネントイメージをダウンロードすることもできます。
2.1. Red Hat build of Cryostat Operator を使用した Red Hat OpenShift への Cryostat のインストール
Operator Lifecycle Manager (OLM) を使用して、Red Hat build of Cryostat Operator を Red Hat OpenShift クラスターのプロジェクトにインストールできます。Red Hat build of Cryostat Operator を使用すると、シングル namespace またはマルチ namespace の Cryostat インスタンスを作成できます。これらのインスタンスは、Red Hat OpenShift Web コンソールからアクセスできる GUI を使用して制御できます。
Red Hat build of Cryostat Operator のサブスクリプションを Cryostat 2.0 から Cryostat 2.4 に更新する場合は、更新チャネルを stable-2.0
から stable
に変更する必要があります。
前提条件
- OpenShift Container Platform 4.11 以降のクラスターを作成している。
- Red Hat build of Cryostat Operator をプロジェクトにインストールする権限を持つ Red Hat OpenShift ユーザーアカウントを作成している。
- クラスターに Operator Lifecycle Manager (OLM) がインストールされている。
Red Hat OpenShift の cert-manager Operator を使用して cert-manager をインストールしている。
- OpenShift Container Platform 4.11 以降を使用している場合は、Red Hat OpenShift の cert-manager Operator をインストールできます。詳細は、Red Hat OpenShift の cert-manager Operator を参照してください。
- Red Hat OpenShift Web コンソールを使用して Red Hat OpenShift にログインしている。
手順
- ブラウザーで、Web コンソールを使用して Home > Projects に移動します。
- Red Hat build of Cryostat をインストールするプロジェクトの名前を選択します。
Red Hat build of Cryostat Operator をインストールします。
- Web コンソールのナビゲーションメニューで、Operators > OperatorHub に移動します。
- リストから Red Hat build of Cryostat Operator を選択します。画面上部の検索ボックスを使用すると、Red Hat build of Cryostat Operator を検索できます。
Install をクリックし、プロジェクトに Red Hat build of Cryostat Operator をインストールします。
Red Hat OpenShift Web コンソールで、Cryostat カスタムリソース (CR) を作成するように求められます。
注記複数の namespace に対して有効な Cryostat インスタンスをインストールする場合は、Installation mode エリアで All namespaces on the cluster (default) ラジオボタンをクリックします。
CR は手動または自動で作成できます。CR を手動で作成する場合は、ステップ 4 を参照してください。CR を自動的に作成する場合は、ステップ 5 を参照してください。
CR を手動で作成する場合は、以下の手順を実行します。
Web コンソールを使用して Operators > Installed Operators に移動し、インストール済み Operator のリストから Red Hat build of Cryostat Operator を選択します。
図2.1 インストール済み Operator のリストでの Red Hat build of Cryostat Operator の表示
- Details タブをクリックします。
シングル namespace の Cryostat インスタンスを作成するには、Provided APIs セクションに移動します。次に、Cryostat で Create instance をクリックします。
注記複数の namespace に対して有効な Cryostat インスタンスを作成する場合は、Provided APIs セクションで Cluster Cryostat を選択し、Create instance をクリックします。Cluster Cryostat API には、Cryostat アプリケーションとその関連コンポーネントのデプロイメントを制御する設定オプションがあります。詳細は、複数の namespace での Cryostat の作成 を参照してください。
図2.2 Red Hat build of Cryostat Operator によって提供される Cryostat API の選択
- Form view または YAML view のラジオボタンをクリックします。YAML 設定ファイルに情報を入力する場合は、YAML view をクリックします。
- 作成する Cryostat のインスタンスの名前を指定します。
オプション: ラベルフィールドで、デプロイするオペランドワークロードのラベルまたはアノテーションを指定します。
デプロイメントに追加するその他の設定オプションも指定できます。
図2.3 Web コンソールでのフォームを使用した Cryostat インスタンスの作成
あるいは、フォームを使用する代わりに、YAML テンプレートを使用してインスタンスを作成し、追加の設定オプションを指定することもできます。
図2.4 Web コンソールでの YAML テンプレートを使用した Cryostat インスタンスの作成
自動プロンプトオプションを使用して CR を作成する場合は、プロンプトの指示に従い、次の手順を実行します。
- Form view または YAML view のラジオボタンをクリックします。YAML 設定ファイルに情報を入力する場合は、YAML view をクリックします。
- 作成する Cryostat のインスタンスの名前を指定します。
オプション: ラベルフィールドで、デプロイするオペランドワークロードのラベルまたはアノテーションを指定します。
デプロイメントに追加するその他の設定オプションも指定できます。
図2.5 Web コンソールでのフォームを使用した Cryostat インスタンスの作成
あるいは、フォームを使用する代わりに、YAML テンプレートを使用してインスタンスを作成し、追加の設定オプションを指定することもできます。
図2.6 Web コンソールでの YAML テンプレートを使用した Cryostat インスタンスの作成
Create をクリックして、Cryostat インスタンスの作成プロセスを開始します。
Cryostat インスタンスのすべてのリソースの準備が完了しなければアクセスできません。
検証
- Web コンソールのナビゲーションメニューで、Operators をクリックし、Installed Operators をクリックします。
- インストール済み Operator のテーブルから、Red Hat build of Cryostat Operator を選択します。
Cryostat タブを選択します。
Cryostat インスタンスが、インスタンスのテーブルで開き、次の条件が一覧表示されます。
-
TLSSetupComplete
はtrue
に設定されている。 -
MainDeploymentAvailable
はtrue
に設定されている。 オプション: レポートジェネレーターサービスを有効にした場合、
ReportsDeploymentAvailable
が表示され、true
に設定されている。図2.7 OpenShift の Cryostat インスタンスの Status 列で True に設定された条件の例
-
オプション: Cryostat テーブルから Cryostat インスタンスを選択します。Cryostat Conditions テーブルに移動すると、各条件の詳細情報を確認できます。
図2.8 各条件とその基準をリストした Cryostat Conditions 表の例
2.1.1. Web コンソールを使用して Cryostat にアクセスする
Red Hat OpenShift Web コンソールからアクセス可能な Web コンソールを使用して、Cryostat にアクセスして制御できます。
Cryostat は、Red Hat OpenShift に組み込まれている OAuth サーバーと統合します。Red Hat OpenShift で Cryostat にアクセスしようとすると、OAuth サーバーによって Red Hat OpenShift のログインページが表示され、そこで Red Hat OpenShift の認証情報を入力できます。認証情報を入力すると、OAuth サーバーによって Cryostat Web コンソールが表示されます。
OpenShift Container Platform で Cryostat のすべての機能にアクセスする場合は、Red Hat OpenShift ユーザーアカウントに対して Cryostat 固有のロールベースアクセスコントロール (RBAC) 権限をリクエストする必要があります。
RBAC 権限 を参照してください。
前提条件
- プロジェクトに Cryostat インスタンスを作成している。
- Red Hat OpenShift Web コンソールにログインしている。
手順
- Red Hat OpenShift Web コンソールで、Installed Operators に移動し、リストから Red Hat build of Cryostat Operator を選択します。
アクセスする Cryostat インスタンスを選択します。
- シングル namespace の Cryostat インスタンスの場合は、Cryostat タブをクリックし、テーブルから Cryostat インスタンスを選択します。
マルチ namespace の Cryostat インスタンスの場合は、Cluster Cryostat タブをクリックし、テーブルから Cluster Cryostat インスタンスを選択します。
図2.9 Cryostat タブでシングル namespace の Cryostat インスタンスを選択する例
アプリケーション URL を選択して Cryostat のログイン画面にアクセスします。
シングル namespace の Cryostat インスタンスの場合は、Application URL セクションのリンクをクリックして、Cryostat ログイン画面にアクセスします。OAuth サーバーは、ユーザーを OpenShift Container Platform ログインページにリダイレクトし、Cryostat API に対する認証用の OAuth アクセストークンを取得できるようにします。
図2.10 アプリケーション URL セクションでリンクを選択する例
マルチ namespace の Cryostat インスタンスの場合は、次のいずれかの方法でアプリケーション URL にアクセスします。
Red Hat OpenShift コマンドラインコンソール (CLI) で、次のコマンドを入力します。"clustercryostatinstance-name" はマルチ namespace の Cryostat インスタンスの名前に置き換えてください。
oc get clustercryostat clustercryostatinstance-name
アプリケーション URL が返されます。この URL をコマンドラインから直接開くか、ブラウザーにコピーします。
-
YAML タブをクリックし、
status:
セクションに移動します。applicationURL
の下にあるリンクをブラウザーにコピーします。
認証情報の詳細を入力し、ログイン をクリックします。初めて OAuth サーバー経由でログインすると、Web ブラウザーで Authorize Access ページが開きます。
図2.11 Web ブラウザーで開く Authorize Access ページの例
- Requested permissions オプションを確認し、必要なチェックボックスを選択します。最適な Cryostat のパフォーマンスを得るには、両方のチェックボックスを選択してください。
以下のいずれかのオプションを選択します。
- 選択した要求済みの権限を受け入れる場合は、Allow selected permissions ボタンをクリックします。
要求済みの権限のオプションをすべて拒否する場合は、Deny ボタンをクリックします。
Web ブラウザーによって Cryostat Web コンソールにリダイレクトされます。このコンソールでは、Java 仮想マシン (JVM) で実行されている Java アプリケーションを監視できます。
2.1.2. RBAC 権限
OpenShift Container Platform で Cryostat のすべての機能にアクセスできるように、Red Hat OpenShift ユーザーアカウントに対して Cryostat 固有の Role-Based Access Controls (RBAC) 権限の要求が必要な場合があります。
RBAC 権限の設定は、Red Hat OpenShift ユーザーアカウントに関連しています。Cryostat は Red Hat OpenShift アカウントを読み取り、ユーザーが Cryostat でアクセスできる機能を判断します。Cryostat ユーザーアカウントに特定のアクセス許可を設定する場合は、Web コンソールを使用して Cryostat にアクセスする を参照してください。
ユーザー権限が制限されている場合は、Red Hat OpenShift によって使用が許可されている Cryostat 機能にのみアクセスできます。読み取り専用権限を持っている場合は、他のユーザーが作成した JDK フライトレコーディングのみを表示できます。新しいレコーディングを作成したり、既存のレコーディングを削除したりすることはできません。
Cryostat 固有の RBAC 権限を持つカスタムロールを作成し、このロールをユーザーの Red Hat OpenShift アカウントにバインドできます。この使用例は、同じ Cryostat namespace 内で操作する各ユーザーに特定の権限を設定する場合に役立ちます。
ユーザーに JFR レコーディングへの読み取り専用アクセスを提供する別の使用例を考えてみましょう。カスタムロールを作成し、ロールの pods/exec
リソースの verbs:
文字列に get
を指定します。
Red Hat OpenShift は、YAML 設定の apiGroups
設定文字列で指定された値に基づいてユーザーに権限を付与します。Cryostat は、Red Hat OpenShift エンドポイントをターゲットアプリケーションにマップします。これにより、ロールに属するユーザーは、ターゲットアプリケーションでレコーディングを開始するなど、ターゲットアプリケーションで特定のタスクを実行できます。
次の YAML 設定は、すべての Cryostat 固有の RBAC 権限が定義された ClusterRole
を示しています。
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: creationTimestamp: null name: oauth-client rules: - apiGroups: - operator.cryostat.io resources: - cryostats verbs: - create - patch - delete - get - apiGroups: - "" resources: - pods - pods/exec - services verbs: - create - patch - delete - get - apiGroups: - "" resources: - replicationcontrollers - endpoints verbs: - get - apiGroups: - apps resources: - deployments verbs: - create - get - apiGroups: - apps resources: - daemonsets - replicasets - statefulsets verbs: - get