安装 Cryostat


Red Hat build of Cryostat 3

Red Hat Customer Content Services

摘要

Red Hat build of Cryostat 是 OpenShift Container Platform 上的红帽产品。安装 Cryostat 指南提供了此产品的概述,并解释了如何安装软件并开始使用它。

前言

Red Hat build of Cryostat 是 JDK Flight Recorder (JFR)的容器原生虚拟化,可用于安全监控在 OpenShift Container Platform 集群上运行的工作负载的 Java 虚拟机(JVM)性能。您可以使用 Cryostat 3.0 使用 Web 控制台或 HTTP API 启动、停止、检索、存档、导入和导出容器化应用中的 JVM 的 JFR 数据。

根据您的用例,您可以使用 Cryostat 提供的内置工具直接存储和分析 Red Hat OpenShift 集群上的记录,或者您可以将记录导出到外部监控应用程序,以对记录数据进行更深入分析。

重要

Red Hat build of Cryostat 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中有问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

第 1 章 Cryostat 概述

Cryostat 是一个基于 JDK Flight Recorder (JFR)的容器原生 Java 应用程序,可用于监控在 Red Hat OpenShift 集群上运行的容器化工作负载的 Java 虚拟机(JVM)性能。

您可以在托管容器化 Java 应用程序的 Red Hat OpenShift 项目中在容器中部署 Cryostat。您可以创建与用于运行容器化工作负载的 JVM 实例对应的 JVM 目标。您可以将 Cryostat 连接到 JVM 目标,以记录和分析有关堆和非堆内存使用情况、线程数、垃圾回收和其他性能指标的数据。

您可以使用 Cryostat 中包含的工具实时监控 JVM 的性能,捕获 JDK Flight Recorder (JFR)记录和快照、生成自动分析报告,并使用 Grafana 仪表板视觉化您记录的性能数据。

Cryostat Web 控制台和 HTTP API 提供了分析容器内的 JVM 性能数据的方法,而无需依赖外部监控应用程序。但是,当需要对集群环境外的数据进行分析时,您还可以将 Cryostat 中的记录从 Cryostat 导出到 JDK Mission Control (JMC)的外部实例中。

Cryostat 支持基于角色的访问控制(RBAC)作为 OpenShift Container Platform 的标准功能。

您可以使用 Operator Lifecycle Manager (OLM)在 Red Hat OpenShift 项目中安装 Cryostat。

您还可以从红帽生态系统目录下载最新的 Cryostat 组件镜像。红帽生态系统目录中为 Cryostat 3.0 存在以下容器镜像:

  • Cryostat
  • Red Hat build of Cryostat Operator
  • Red Hat build of Cryostat Operator 捆绑包
  • Cryostat 报告
  • Cryostat Grafana 仪表板
  • Cryostat DB
  • Cryostat 存储
  • JFR 数据源

第 2 章 安装 Cryostat

您可以使用 Operator Lifecycle Manager (OLM)在 Red Hat OpenShift 上的项目中安装 Red Hat build of Cryostat Operator。

安装 Red Hat build of Cryostat Operator 后,您可以使用 Red Hat OpenShift web 控制台中的 Web 控制台创建 Cryostat 实例。

您还可以从红帽生态系统目录下载最新的 Cryostat 组件镜像。

您可以使用 Operator Lifecycle Manager (OLM)在 Red Hat OpenShift 集群的项目中安装 Red Hat build of Cryostat Operator。您可以使用 Red Hat build of Cryostat Operator 创建单个命名空间或多命名空间 Cryostat 实例。您可以使用可从 Red Hat OpenShift Web 控制台访问的 GUI 来控制这些实例。

重要

如果需要将 Red Hat build of Cryostat Operator 订阅从 Cryostat 2.0 升级到 Cryostat 3.0,您必须将更新频道从 stable-2.0 改为 stable

先决条件

  • 创建 OpenShift Container Platform 4.12 或更高版本集群。
  • 创建具有在项目中安装 Red Hat build of Cryostat Operator 权限的 Red Hat OpenShift 用户帐户。
  • 在集群中安装了 Operator Lifecycle Manager (OLM)。
  • 使用 Red Hat OpenShift 的 cert-manager Operator 安装了 cert-manager。

  • 使用 Red Hat OpenShift Web 控制台登录到 Red Hat OpenShift。

流程

  1. 在您的浏览器中,使用 Web 控制台进入到 Home > Projects
  2. 选择您要在其中安装 Red Hat build of Cryostat Operator 的项目的名称。
  3. 安装 Red Hat build of Cryostat Operator:

    1. 在 Web 控制台的导航菜单中导航到 Operators > OperatorHub
    2. 从列表中选择 Red Hat build of Cryostat Operator。您可以使用屏幕右上角的搜索框来查找 Red Hat build of Cryostat Operator。
    3. 要在项目中安装 Red Hat build of Cryostat Operator,点 Install

      Red Hat OpenShift Web 控制台会提示您创建 Cryostat 自定义资源(CR)。

      注意

      从 Cryostat 3.0 开始,在 安装模式 区域中 ,集群中的所有命名空间(默认) 单选按钮是唯一可用的选项。

      您可以手动或自动创建 CR。如果要手动创建 CR,请参阅第 4 步。如果要自动创建 CR,请参阅第 5 步。

  4. 如果要手动创建 CR,请完成以下步骤:

    1. 使用 Web 控制台进入到 Operators > Installed Operators,然后从安装的 Operator 列表中选择 Red Hat build of Cryostat Operator

      图 2.1. 在安装的 Operator 列表中查看 Red Hat build of Cryostat operator

    2. Details 标签页。
    3. 要创建 Cryostat 实例,请转至 Provided APIs 部分。然后,在 Cryostat 下,单击 Create instance

      注意

      从 Cryostat 3.0 开始,Cryostat API 可让您创建单命名空间和多命名空间 Cryostat 实例。

      图 2.2. 选择 Red Hat build of Cryostat Operator 提供的 Cryostat API

    4. Form view 单选按钮或 YAML view 单选按钮。如果要在 YAML 配置文件中输入您的信息,点 YAML 视图
    5. 为您要创建的 Cryostat 实例指定唯一名称。
    6. 可选 :在 Labels 字段中,为您要部署的 Operand 工作负载指定标签或注解。
    7. Target Namespaces 字段中,选择您要允许此 Cryostat 实例访问并使用的命名空间。另外,您可以选择安装 Cryostat 的同一命名空间,也可以选择不同的命名空间。要添加额外的命名空间,请点击 +Add Target Namespace

      重要

      可以访问 Cryostat 实例的用户可以访问该 Cryostat 实例可见的任何命名空间中的所有目标应用程序。因此,当部署多命名空间 Cryostat 实例时,您必须考虑要选择哪些命名空间进行监控,哪些命名空间要安装 Cryostat,以及您要授予哪些用户访问权限。

      您还可以为您的部署指定额外的配置选项:

      图 2.3. 使用 web 控制台中的表单创建 Cryostat 实例

      另外,您可以使用 YAML 模板来创建实例,并指定其他配置选项,而不使用以下格式:

      图 2.4. 使用 web 控制台中的 YAML 模板创建 Cryostat 实例

  5. 如果要使用自动提示选项创建 CR,请按照提示的说明操作,然后完成以下步骤:

    1. Form view 单选按钮或 YAML view 单选按钮。如果要在 YAML 配置文件中输入您的信息,点 YAML 视图
    2. 为您要创建的 Cryostat 实例指定唯一名称。
    3. 可选 :在 Labels 字段中,为您要部署的 Operand 工作负载指定标签或注解。
    4. Target Namespaces 字段中,选择您要允许此 Cryostat 实例访问并使用的命名空间。另外,您可以选择安装 Cryostat 的同一命名空间,也可以选择不同的命名空间。要添加额外的命名空间,请点击 +Add Target Namespace

      重要

      可以访问 Cryostat 实例的用户可以访问该 Cryostat 实例可见的任何命名空间中的所有目标应用程序。因此,当部署多命名空间 Cryostat 实例时,您必须考虑要选择哪些命名空间进行监控,哪些命名空间要安装 Cryostat,以及您要授予哪些用户访问权限。

      您还可以为您的部署指定额外的配置选项:

      图 2.5. 使用 web 控制台中的表单创建 Cryostat 实例

      另外,您可以使用 YAML 模板来创建实例,并指定其他配置选项,而不使用以下格式:

      图 2.6. 使用 web 控制台中的 YAML 模板创建 Cryostat 实例

  6. 要为 Cryostat 实例启动创建过程,请点击 Create

    您必须等待 Cryostat 实例的所有资源就绪,然后才能访问它。

验证

  1. 在 Web 控制台的导航菜单中,点 Operators,然后点 Installed Operators
  2. 在安装的 operator 表中,选择 Red Hat build of Cryostat Operator
  3. 选择 Cryostat 选项卡。

    您的 Cryostat 实例在实例表中打开,并列出以下条件:

    • TLSSetupComplete 设置为 true
    • MainDeploymentAvailable 设置为 true
    • 可选:如果您启用了报告生成器服务,则会显示 ReportsDeploymentAvailable,并将它设为 true

      图 2.7. OpenShift 上 Cryostat 实例的 Status 列下设置为 True 的条件示例

  4. 可选: 从 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 控制台登录。

流程

  1. 在 Red Hat OpenShift web 控制台中,导航到 Installed Operators,然后从列表中选择 Red Hat build of Cryostat Operator
  2. 要选择您要访问的 Cryostat 实例,请点 Cryostat 选项卡,然后从列表中选择这个 Cryostat 实例。

    图 2.9. 在 Cryostat 选项卡下选择 Cryostat 实例的示例

  3. 要访问 Cryostat 登录屏幕,请点击 Application URL 部分中的链接。OAuth 服务器将您重定向到 OpenShift Container Platform 登录页面,以便您可以获取 OAuth 访问令牌来向 Cryostat API 进行身份验证。

    图 2.10. 在 Application URL 部分下选择链接的示例

  4. 输入您的凭证详情,然后点 Login。当您第一次通过 OAuth 服务器登录时,Web 浏览器上打开一个 Authorize Access 页面。

    图 2.11. 在 Web 浏览器中打开的 Authorize Access 页面示例

  5. 检查 Requested 权限 选项,然后选中所需的复选框。要优化 Cryostat 性能,请选中这两个复选框。
  6. 选择以下选项之一:

    • 如果要接受您选择的请求权限,点 Allow selected permissions 按钮。
    • 如果要拒绝所有请求的权限选项,点 Deny 按钮。

      您的 Web 浏览器会将您重定向到 Cryostat Web 控制台,您可以在其中监控 Java 虚拟机(JVM)中运行的 Java 应用程序。

2.1.2. RBAC 权限

从 Cryostat 3.0 开始,当安装 Cryostat 实例时,您可以使用 Cryostat CRD 中的 .spec.authorizationOptions.openShiftSSO.accessReview 字段来指定访问 Cryostat 所需的基于角色的访问控制(RBAC)权限。Cryostat 应用程序的安装命名空间中的默认角色 是创建 pod/exec

任何分配了指定 RBAC 角色的 Red Hat OpenShift 用户帐户都可以完全访问 Cryostat 控制台和所有 Cryostat 功能。如果 Red Hat OpenShift 帐户没有所需的 RBAC 权限,则此用户将阻止访问 Cryostat。

图 2.12. 指定 OpenShift SSO Access Review 授权选项

您可以使用以下字段指定访问 Cryostat 所需的自定义 RBAC 设置:

Expand
字段详情

group

资源的 API 组

指定 * 值表示所有组。

name

get 命令请求的资源的名称或删除 delete 命令

指定一个空值表示所有名称。

namespace

要请求的操作的命名空间

目前,没有命名空间和所有命名空间之间没有区别。请考虑以下指南:

  • 对于 LocalSubjectAccessReviews,默认为一个空值。
  • 空值表示没有集群范围的资源。
  • 空值表示来自 SubjectAccessReview 或 SelfSubjectAccessReview 的所有命名空间范围的资源。

resource

现有资源类型

指定 * 值意味着所有资源类型。

subresource

现有资源类型

指定空值意味着没有资源类型。

verb

kubernetes 资源 API 动词(例如: get,list,watch,create,update,delete,proxy

指定 * 值表示所有操作动词。

version

资源的 API 版本

指定 * 值意味着所有版本。

2.2. Helm chart

您可以使用 Helm chart,而不是在 Red Hat OpenShift 上使用 Red Hat build of Cryostat Operator 来安装 Cryostat。Red Hat build of Cryostat Operator 是安装 Cryostat 的首选方法,但如果您需要一个需要较少的集群权限的灵活的安装方法,您可以使用 Helm Chart 安装 Cryostat。

Helm 是 Red Hat OpenShift 上的软件包管理器,它提供以下优点:

  • 使用自定义 hook 应用常规应用程序更新。
  • 管理复杂应用程序的安装。
  • 提供您可以在公共或私有服务器上托管的图表。如果在公共服务器上共享图表,请确保您了解安全风险。
  • 支持回滚到以前的应用版本。

默认情况下,Red Hat OpenShift 4.12 包含 Helm Chart 软件包管理器。

在使用 Cryostat Helm Chart 安装 Cryostat 前,请考虑以下支持的功能用于 Cryostat Helm Chart 和 Red Hat build of Cryostat Operator:

Expand
功能 wagonCryostat Helm chartRed Hat build of Cryostat Operator

使用服务访问 Cryostat

使用路由访问 Cryostat

基本身份验证(Basic authentication)

 

OpenShift OAuth 身份验证

 

端到端加密

 

Grafana 集成

持久性存储

sidecar 报告生成器

 

上表显示 Cryostat Helm Chart 不支持与 Red Hat build of Cryostat Operator 相同的功能级别。

2.2.1. 使用 Helm Chart 安装 Cryostat

默认情况下,Red Hat OpenShift 4.12 包含 Helm Chart 软件包管理器。您可以使用此软件包管理器在 Red Hat OpenShift 上安装 Cryostat Helm Chart。然后,您可以使用此 Helm Chart 在 Red Hat OpenShift 上安装 Cryostat 实例。

安装 Cryostat Helm Chart 后,Helm Chart 会创建以下对象:

  • Deployment,其中包含 Grafana 的 Cryostat、Grafana 和数据源。
  • Red Hat OpenShift 集群外公开 Cryostat 和 Grafana 服务的路由。在 Red Hat OpenShift 中默认启用此对象。
  • Cryostat 和 Grafana 的服务。
  • Service Account、角色和 Role Binding for Cryostat,以便 Cryostat Helm Chart 可以使用这些对象发现应用程序。

先决条件

  • 使用 Red Hat OpenShift Web 控制台登录到 OpenShift Container Platform。
  • 在项目中配置了适当的角色和权限,以便在 OpenShift Container Platform 中创建应用程序和其他工作负载。

流程

  1. 在 Red Hat OpenShift web 控制台中切换到 Developer 模式。
  2. +Add 菜单。
  3. Developer Catalog 面板中点击 Helm Chart
  4. 点 Cryostat 标题。在 Red Hat OpenShift Web 控制台中会显示一个窗口。

    提示

    要快速找到 Cryostat 标题,请在搜索字段中输入 Cryostat

  5. Create
  6. Create Helm Release 窗口中完成以下操作:

    1. Release name 字段中输入 Cryostat Helm Chart 的名称。
    2. Chart version 下拉列表中,确保选择了 Cryostat 版本。
    3. 可选: 在 Form 视图中,点 Chart Values,然后为您的 Cryostat Helm Chart 配置选项。
    4. 可选: 要访问更多配置选项,请切换到 YAML View,然后编辑参数以满足您的需要。

      图 2.13. OpenShift Create Helm Release 窗口

  7. Create

    web 控制台中可能会打开一个带有标签页的窗口,您可以在其中查看 Cryostat Helm Chart 的信息。在 发行注记 选项卡中,您可以查看您必须执行的安装后步骤。要执行这些步骤,您必须将 oc CLI 用于 Red Hat OpenShift 集群。默认情况下,Cryostat Helm Chart 对网络使用 Routes。如果您禁用了 Routes,说明可能会因您选择的网络类型而异。

    重要

    如果将 Cryostat Helm Chart 的 core.route.enabledgrafana.route.enabled 设置为 false,则 web 控制台中会显示禁用 Routes 资源,端口转发 oc 指令会显示。

  8. 可选:在拓扑窗口中,点 pod 图标,然后进入 Details 选项卡或 Resources 选项卡来查看 pod 的更多信息。

    提示

    如果您需要快速查找 pod,请考虑使用过滤器工具栏,您可以在其中显示选项、按资源过滤或输入 pod 的名称。

    完成 发行注记 选项卡上概述的安装后步骤后,您可以将 Cryostat 与您的应用程序搭配使用。

    图 2.14. OpenShift pod 拓扑窗口

验证

  1. 在完成安装后步骤的同一终端中,进入 "Visit the the Cryostat application at …​" 步骤来查看您可以访问 Cryostat 应用程序的 URL。
注意

访问 Cryostat 应用程序 URL 的 URL 因您选择的配置参数而异。

更新于 2024-07-02

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat