2.2. JWS Operator 2.0 发行版中的新内容?


JWS Operator 2.0 发行版本包括以下新功能和增强。

Level-2 Operator 功能

JWS Operator 2.0 提供以下 level-2 Operator 功能:

  • 启用无缝升级
  • 支持补丁和次版本升级
  • 管理 JWS Operator 1.1.x 部署的 Web 服务器。

为新镜像启用级别-2 无缝集成

Deployment 对象定义包含一个触发器,OpenShift 用于在新镜像推送到镜像流时部署新容器集。镜像流可以监控新镜像的存储库,或者您可以指示新镜像可供使用的镜像流。

流程

  1. 在项目命名空间中,使用 oc import-image 命令导入镜像的标签和其他信息来创建镜像流。

    例如:

    oc import-image <my-image>-imagestream:latest \
    --from=quay.io/$user/<my-image>:latest \
    --confirm

    在前面的示例中,将出现的每个 & lt;my-image > 替换为您要导入的镜像的名称。

    以上命令通过为 quay.io/$user/<my-image> 镜像导入信息来创建一个名为 <my-image>-imagestream 的镜像流。有关镜像流的格式和管理的更多信息,请参阅管理镜像流

  2. 为您希望在镜像流被更新时 JWS Operator 进行部署的 Web 应用程序创建 WebServer kind 的自定义资源。您可以使用 YAML 文件格式定义自定义资源。

    例如:

    apiVersion: web.servers.org/v1alpha1
    kind: WebServer
    metadata:
      name: <my-image>
    spec:
      # Add fields here
      applicationName: my-app
      useSessionClustering: true
      replicas: 2
      webImageStream:
        imageStreamNamespace: <project-name>
        imageStreamName: <my-image>-imagestream
  3. 使用 oc tag 命令触发对镜像流的更新。

    例如:

    oc tag quay.io/$user/<my-image> <my-image>-imagestream:latest --scheduled

    以上命令会导致 OpenShift Container Platform 定期更新指定的镜像流标签。此周期是集群范围的设置,默认设置为 15 分钟。

第 2 级无缝集成,用于重建现有镜像

BuildConfig 对象定义包括镜像流更新和 webhook 的触发器,即 GitHub、GitLab 或 Generic Webhook,它允许在触发 Webhook 时重建镜像。

有关为 webhook 创建 secret 的更多信息,请参阅为 通用或 GitHub Webhook 创建 secret

有关在自定义资源 WebServer 文件中配置通用或 GitHub Webhook 的更多信息,请参阅 JWS Operator CRD 参数

支持 Red Hat JBoss Web Server metering 标签

JWS Operator 2.0 支持在 JWS Operator 创建的 Red Hat JBoss Web Server pod 中添加 metering 标签。

Red Hat JBoss Web Server 可以使用以下 metering 标签:

  • com.company: Red_Hat
  • rht.prod_name: Red_Hat_Runtimes
  • rht.prod_ver: 2023-Q4
  • rht.comp: JBoss_Web_Server
  • rht.comp_ver: 6.0.0
  • rht.subcomp: Tomcat 10
  • rht.subcomp_t: application

您可以在您要部署的 Web 应用程序的自定义资源 WebServer 文件的 metadata 部分下添加标签。例如:

---
apiVersion: web.servers.org/v1alpha1
kind: WebServer
metadata:
  name: <my-image>
  labels:
    com.company: Red_Hat
    rht.prod_name: Red_Hat_Runtimes
    rht.prod_ver: 2023-Q4
    rht.comp: JBoss_Web_Server
    rht.comp_ver: 6.0.0
    rht.subcomp: Tomcat 10
    rht.subcomp_t: application
spec:
----
注意

如果您为部署的 Web 服务器更改任何标签键或标签值,JWS Operator 会重新部署 Web 服务器应用程序。如果部署的 Web 服务器是从源代码构建的,JWS Operator 也会重建 Web 服务器应用程序。

增强的 webImage 参数

在 JWS Operator 2.0 发行版本中,CRD 中的 webImage 参数包含以下附加字段:

  • imagePullSecret

    JWS Operator 用来从存储库中拉取镜像的 secret

    注意

    secret 必须包含键 .dockerconfigjson。JWS Operator 挂载并使用 secret (例如 --authfile /mount_point/.dockerconfigjson)从存储库中拉取镜像。Secret 对象定义文件可能包含服务器用户名和密码值或令牌,以允许访问由 JWS Operator 构建的镜像流、构建器镜像和镜像中的镜像。

  • webApp

    一组参数,用于描述 JWS Operator 如何构建 Web 服务器应用程序

增强的 webApp 参数

在 JWS Operator 2.0 发行版本中,CRD 中的 webApp 参数包含以下附加字段:

  • name

    Web 服务器应用程序的名称

  • sourceRepositoryURL

    应用程序源文件所在的 URL

  • sourceRepositoryRef

    Operator 使用的源存储库的分支

  • sourceRepositoryContextDir

    pom.xml 文件所在的子目录,必须运行 mvn install 命令的位置

  • webAppWarImage

    JWS Operator 推送构建镜像的镜像的 URL

  • webAppWarImagePushSecret

    JWS Operator 用来将镜像推送到存储库的 secret

  • builder

    包含构建 Web 应用所需的所有信息的一组参数,并将镜像创建并推送到镜像存储库

    注意

    为确保构建器能够成功运行并使用不同的用户 ID 运行命令,构建器必须有权访问 anyuid 安全性上下文约束(SCC)。

    要授予构建器对 anyuid SCC 的访问权限,请输入以下命令:

    oc adm policy add-scc-to-user anyuid -z builder

    builder 参数包含以下字段:

    • image

      构建 Web 应用程序的容器的镜像(例如: quay.io/$user/tomcat10-buildah

    • imagePullSecret

      JWS Operator 用来从存储库中拉取构建器镜像的 secret (如果指定)

    • applicationBuildScript

      构建器镜像用于构建应用 .war 文件的脚本,并将它移到 /mnt 目录

      注意

      如果没有为此参数指定值,构建器镜像将使用使用 Maven 和 Buildah 的默认脚本。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.