将红帽构建的 Quarkus 应用程序部署到 OpenShift Container Platform


Red Hat build of Quarkus 3.20

Red Hat Customer Content Services

摘要

本指南论述了如何将红帽构建的 Quarkus 应用程序部署到 OpenShift Container Platform。

向红帽构建的 Quarkus 文档提供反馈

要报告错误或改进文档,请登录您的红帽 JIRA 帐户并提交问题。如果您没有红帽 JIRA 帐户,系统会提示您创建一个帐户。

流程

  1. 单击以下链接 来创建 ticket
  2. Summary 中输入有关此问题的简单描述。
  3. 描述中提供问题或增强功能的详细描述。请包括有问题的文档 URL。
  4. Submit 创建问题并将其路由到适当的文档团队。

Red Hat OpenShift Container Platform 是一个基于 Kubernetes 的平台,用于开发和运行容器化应用程序。Quarkus 提供了根据 sane 默认值和用户提供的配置自动生成 OpenShift Container Platform 资源的功能。

作为应用程序开发人员,您可以将红帽构建的 Quarkus 应用程序部署到 Red Hat OpenShift Container Platform。这个功能由 quarkus-openshift 扩展提供,它支持多个部署选项:

1.1. OpenShift Container Platform 构建策略概述

Docker 构建
此策略在本地或 CI 环境中构建 OpenShift Container Platform 集群以外的工件,并将其提供给 OpenShift Container Platform 构建系统以及 Dockerfile。工件包括 JAR 文件或原生可执行文件。容器在 OpenShift Container Platform 集群中构建,并作为镜像流提供。
注意

OpenShift Container Platform Docker 构建策略是首选的构建策略,因为它支持为 JVM 为目标或编译到原生可执行文件的 Quarkus 应用程序。但是,为了与早期 Quarkus 版本兼容,默认的构建策略是 S2I。要选择 OpenShift Container Platform Docker 构建策略,请使用 quarkus.openshift.build-strategy 属性。

Source to Image (S2I)
构建过程是在 OpenShift Container Platform 集群中执行的。红帽构建的 Quarkus 完全支持使用 S2I 将红帽构建的 Quarkus 部署为 JVM 应用程序。
二进制 S2I
此策略将 JAR 文件用作 S2I 构建流程的输入,这可加快应用程序的构建和部署速度。

1.1.1. Quarkus 支持的构建策略

下表概述了红帽构建的 Quarkus 支持的构建策略:

Expand
构建策略支持 Red Hat build of Quarkus 工具支持 JVM支持原生支持 JVM Serverless支持原生 Serverless

Docker 构建

S2I Binary

源 S2I

1.2. 引导项目

首先,您需要一个包含 OpenShift 扩展的新项目。然后,在构建和部署我们的应用之前,您必须登录 OpenShift 集群。

1.2.1. 添加 OpenShift 扩展

要将应用程序构建并部署为在 OpenShift Container Platform 集群内运行的容器镜像,您必须将红帽构建的 Quarkus OpenShift 扩展 quarkus-openshift 作为依赖项添加到项目中。

此扩展还会生成 OpenShift Container Platform 资源,如镜像流、构建配置、部署和服务定义。如果应用程序包含 quarkus-smallrye-health 扩展,OpenShift Container Platform 可以访问健康端点,并验证应用程序的启动、存活度和就绪度。

重要

从 Red Hat build of Quarkus 3.8 中,DeploymentConfig 对象在 OpenShift 中弃用,红帽构建的 Quarkus 中也会被弃用。Deploymentquarkus-openshift 扩展的默认和首选部署类型。如果您在使用 DeploymentConfig 之前重新部署了部署的应用程序,默认情况下,这些应用会使用 Deployment,但不会删除之前的 DeploymentConfig。这会导致部署新的和旧的应用程序,因此您必须手动删除旧的 DeploymentConfig。但是,如果您想要继续使用 DeploymentConfig,仍可通过将 quarkus.openshift.deployment-kind 明确设置为 DeploymentConfig 来完成此操作。

先决条件

  • 您有一个 Quarkus Maven 项目。

流程

  1. 要在项目中添加 quarkus-openshift 扩展,请使用以下方法之一:

    • 配置 pom.xml 文件:

      pom.xml

      <dependency>
          <groupId>io.quarkus</groupId>
          <artifactId>quarkus-openshift</artifactId>
      </dependency>
      Copy to Clipboard Toggle word wrap

    • 在 OpenShift Container Platform CLI 中输入以下命令:

      ./mvnw quarkus:add-extension -Dextensions="io.quarkus:quarkus-openshift"
      Copy to Clipboard Toggle word wrap
    • 在 Quarkus CLI 中输入以下命令:

      quarkus extension add 'quarkus-openshift'
      Copy to Clipboard Toggle word wrap

1.3. 登录到 OpenShift Container Platform 集群

您可以使用 OpenShift CLI (oc)登录到 OpenShift Container Platform 集群。如需更多信息,请参阅 OpenShift CLI 入门

示例:使用 OpenShift CLI 登录

oc login -u myUsername 
1
Copy to Clipboard Toggle word wrap

1
系统将提示您输入必要的信息,如服务器 URL、密码等。

另外,您可以使用 API 令牌登录:

示例:使用带有 API 令牌的 OpenShift CLI 登录

oc login --token=myToken --server=myServerUrl
Copy to Clipboard Toggle word wrap

提示

您可以使用 OpenShift Web 控制台中的 Copy Login Command 链接来请求令牌。

最后,完全不需要使用 OpenShift CLI。相反,设置 quarkus.kubernetes-client.api-server-url config 属性,并分别通过 quarkus.kubernetes-client.tokenquarkus.kubernetes-client.usernamequarkus.kubernetes-client.password 进行身份验证:

  • 使用 Quarkus CLI:

    quarkus build quarkus deploy openshift
    Copy to Clipboard Toggle word wrap
  • 使用 Maven:

    ./mvnw install -Dquarkus.kubernetes-client.api-server-url=myServerUrl -Dquarkus.kubernetes-client.token=myToken
    Copy to Clipboard Toggle word wrap
  • 使用 Gradle:

    ./gradlew build -Dquarkus.kubernetes-client.api-server-url=myServerUrl -Dquarkus.kubernetes-client.token=myToken
    Copy to Clipboard Toggle word wrap

您可以使用 Red Hat OpenShift Container Platform CLI 创建应用程序并管理 OpenShift Container Platform 项目。使用提供的信息来创建 OpenShift Container Platform 项目或切换到现有项目。

先决条件

  • 您可以访问 OpenShift Container Platform 集群以及安装的最新兼容 oc 工具版本。

流程

  1. 登录到 oc 工具:

    oc login
    Copy to Clipboard Toggle word wrap
  2. 要显示当前项目空间,请输入以下命令:

    oc project -q
    Copy to Clipboard Toggle word wrap
  3. 使用以下步骤进入所需的 OpenShift Container Platform 项目:

    1. 如果项目已存在,切换到项目:

      oc project <project_name>
      Copy to Clipboard Toggle word wrap
    2. 如果项目不存在,请创建一个新项目:

      oc new-project <project_name>
      Copy to Clipboard Toggle word wrap

1.4. 构建和部署

您可以使用以下部署选项构建和部署:

1.4.1. 非 S2I 构建

OpenShift 扩展配置为使用 container-image-s2i。但是,仍可以使用其他容器镜像扩展,例如:

当使用非 S2i 容器镜像扩展时,会创建指向外部 dockerImageRepositoryImageStream。镜像构建并推送到 registry,ImageStream 会填充 dockerImageRepository 中提供的标签。

选择用于构建镜像的扩展:

quarkus.container-image.builder=docker
Copy to Clipboard Toggle word wrap

或者

quarkus.container-image.builder=jib
Copy to Clipboard Toggle word wrap

1.5. 自定义

所有可用的自定义选项都位于 OpenShift 配置选项 中。

以下小节中提供了一些示例:

1.5.1. 公开路由

为 Quarkus 应用程序公开路由:

quarkus.openshift.route.expose=true
Copy to Clipboard Toggle word wrap
提示

您不需要在 application.properties 文件中添加此属性。相反,您可以将它作为命令行参数传递:

./mvnw clean package -Dquarkus.openshift.route.expose=true
Copy to Clipboard Toggle word wrap

这同样适用于以下列出的所有属性。

1.5.1.1. 保护 Route 资源

为了保护传入连接,OpenShift 提供了几种 TLS 终止来提供认证。

有关如何保护路由的更多信息,请参阅 OpenShift Container Platform 文档。

以下示例演示了如何通过添加 "quarkus.openshift.route.tls" 属性来使用 passthrough 终止来配置安全路由:

quarkus.openshift.route.expose=true
quarkus.openshift.route.target-port=https
## Route TLS configuration:
quarkus.openshift.route.tls.termination=passthrough
quarkus.openshift.route.tls.insecure-edge-termination-policy=None
Copy to Clipboard Toggle word wrap

1.5.2. 标签

在生成的资源中添加标签:

quarkus.openshift.labels.foo=bar
Copy to Clipboard Toggle word wrap

1.5.3. 注解

在生成的资源中添加注解:

quarkus.openshift.annotations.foo=bar
Copy to Clipboard Toggle word wrap

1.5.4. 环境变量

OpenShift Container Platform 提供了多种方法来定义环境变量:

  • 键/值对
  • 从 Secret 或 ConfigMap 导入所有值
  • 隔离由 Secret 或 ConfigMap 中的给定字段标识的单个值
  • 从同一资源内的字段维护一个值
1.5.4.1. 来自键/值对的环境变量

在生成的资源中将键/值对添加为环境变量:

quarkus.openshift.env.vars.my-env-var=foobar
Copy to Clipboard Toggle word wrap

以上命令将 MY_ENV_VAR=foobar 添加为环境变量。键 my-env-var 将转换为大写,短划线将替换为下划线,从而导致 MY_ENV_VAR

1.5.4.2. 来自 Secret 的环境变量

要将 Secret 的所有键/值对作为环境变量添加,请应用以下配置,将每个 Secret 分隔以逗号()来用作源:

quarkus.openshift.env.secrets=my-secret,my-other-secret
Copy to Clipboard Toggle word wrap

这会在容器定义中生成以下内容:

envFrom:
  - secretRef:
      name: my-secret
      optional: false
  - secretRef:
      name: my-other-secret
      optional: false
Copy to Clipboard Toggle word wrap

以下代码将 my-secret Secret 的 keyName 字段标识的值提取到 foo 环境变量中:

quarkus.openshift.env.mapping.foo.from-secret=my-secret
quarkus.openshift.env.mapping.foo.with-key=keyName
Copy to Clipboard Toggle word wrap

这样可在容器的 env 部分中生成以下内容:

- env:
  - name: FOO
    valueFrom:
      secretKeyRef:
        key: keyName
        name: my-secret
        optional: false
Copy to Clipboard Toggle word wrap
1.5.4.3. ConfigMap 中的环境变量

要添加来自 ConfigMap 的所有键/值对作为环境变量,请应用以下配置,将每个 ConfigMap 分隔以逗号()来用作源:

quarkus.openshift.env.configmaps=my-config-map,another-config-map
Copy to Clipboard Toggle word wrap

这会在容器定义中生成以下内容:

envFrom:
  - configMapRef:
      name: my-config-map
      optional: false
  - configMapRef:
      name: another-config-map
      optional: false
Copy to Clipboard Toggle word wrap

以下命令将 my-config-map ConfigMap 中的 keyName 字段标识的值提取到 foo 环境变量中:

quarkus.openshift.env.mapping.foo.from-configmap=my-configmap
quarkus.openshift.env.mapping.foo.with-key=keyName
Copy to Clipboard Toggle word wrap

这样可在容器的 env 部分中生成以下内容:

- env:
  - name: FOO
    valueFrom:
      configMapKeyRef:
        key: keyName
        name: my-configmap
        optional: false
Copy to Clipboard Toggle word wrap
1.5.4.4. 来自字段的环境变量

您还可以通过指定要用作源的字段路径,来使用另一个字段中的值来添加新环境变量。例如:

quarkus.openshift.env.fields.foo=metadata.name
Copy to Clipboard Toggle word wrap
1.5.4.5. 更改生成的部署资源

除了生成 Deployment 资源外,您还可以选择获取 DeploymentConfigStatefulSetJobCronJob 资源,而不是使用 application.properties

quarkus.openshift.deployment-kind=StatefulSet
Copy to Clipboard Toggle word wrap
1.5.4.5.1. 生成作业资源

如果要生成 Job 资源,您需要使用 application.properties 添加以下属性:

quarkus.openshift.deployment-kind=Job
Copy to Clipboard Toggle word wrap
重要

如果您使用 Picocli 扩展,则默认生成 Job 资源。

您可以通过 quarkus.openshift.arguments 属性提供 Kubernetes 作业使用的参数。例如,添加属性 quarkus.openshift.arguments=A,B

最后,每次在 OpenShift 中安装 Kubernetes 任务时都会启动 Kubernetes 作业。有关如何运行 Kubernetes 作业的更多信息,请参阅 运行示例作业

您可以使用 quarkus.openshift.job.xxx 下的属性来配置 Kubernetes 任务配置的其余部分。如需更多信息,请参阅 quarkus.openshift.job.parallelism

1.5.4.5.2. 生成 CronJob 资源

如果要生成 CronJob 资源,您需要使用 application.properties 文件添加以下属性:

quarkus.openshift.deployment-kind=CronJob
# Cron expression to run the job every hour
quarkus.openshift.cron-job.schedule=0 * * * *
Copy to Clipboard Toggle word wrap
重要

CronJob 资源需要 Cron 表达式来指定何时通过 quarkus.openshift.cron-job.schedule 属性启动作业。如果没有提供t,则构建会失败。

您可以使用 quarkus.openshift.cron-job.xxx 下的属性来配置 Kubernetes CronJob 配置的其余部分(如需更多信息,请参阅 quarkus.openshift.cron-job.parallelism)。

1.5.4.6. 验证

例如,两个定义之间有冲突,例如,错误地分配一个值并指定变量来自字段,从而导致构建时抛出错误。您可以在将应用程序部署到集群中之前解决这个问题,其中可能很难诊断问题的来源。

同样,两个冗余定义(例如,从同一 secret 定义注入两次)不会造成问题,而是报告警告来告知您可能还没有重复该定义。

1.5.4.6.1. 后向兼容性

以前的 OpenShift 扩展版本支持不同的语法来添加环境变量。旧语法仍被支持,但已弃用,建议您迁移到新语法。

Expand
表 1.1. 旧语法和新语法
 

Old

New

 

普通变量

quarkus.openshift.env-vars.my-env-var.value=foobar

quarkus.openshift.env.vars.my-env-var=foobar

 

from 字段

quarkus.openshift.env-vars.my-env-var.field=foobar

quarkus.openshift.env.fields.my-env-var=foobar

 

所有来自 ConfigMap

quarkus.openshift.env-vars.xxx.configmap=foobar

quarkus.openshift.env.configmaps=foobar

 

所有来自 Secret

quarkus.openshift.env-vars.xxx.secret=foobar

quarkus.openshift.env.secrets=foobar

 

从一个 Secret 字段

quarkus.openshift.env-vars.foo.secret=foobar

quarkus.openshift.env.mapping.foo.from-secret=foobar

 
 

quarkus.openshift.env-vars.foo.value=field

quarkus.openshift.env.mapping.foo.with-key=field

 

在一个 ConfigMap 字段中,

quarkus.openshift.env-vars.foo.configmap=foobar

quarkus.openshift.env.mapping.foo.from-configmap=foobar

 
 

quarkus.openshift.env-vars.foo.value=field

quarkus.openshift.env.mapping.foo.with-key=field

 
注意
If you redefine the same variable by using the new syntax while keeping the old syntax, only the new version is kept, and a warning will be issued to alert you of the problem.
For example, if you define both `quarkus.openshift.env-vars.my-env-var.value=foobar` and `quarkus.openshift.env.vars.my-env-var=newValue`, the extension generates an environment variable `MY_ENV_VAR=newValue` and issues a warning.
Copy to Clipboard Toggle word wrap

1.5.5. 挂载卷

OpenShift 扩展允许您为应用配置卷和挂载。您可以使用简单配置挂载任何卷:

quarkus.openshift.mounts.my-volume.path=/where/to/mount
Copy to Clipboard Toggle word wrap

这将向 my pod 添加一个挂载,以便卷 my-volume 到路径 /where/to/mount。您可以配置卷本身,如以下部分所示:

1.5.5.1. Secret 卷
quarkus.openshift.secret-volumes.my-volume.secret-name=my-secret
Copy to Clipboard Toggle word wrap
1.5.5.2. ConfigMap 卷
quarkus.openshift.config-map-volumes.my-volume.config-map-name=my-config-map
Copy to Clipboard Toggle word wrap
1.5.5.3. 持久性卷声明 (PVC)
quarkus.openshift.pvc-volumes.my-pvc.claim-name=my-pvc
Copy to Clipboard Toggle word wrap

1.6. 配置参考

lock 在构建时修复的配置属性 - 所有其他配置属性在运行时可覆盖

Expand

配置属性

类型

default

lock quarkus.openshift.env.secrets

从中加载环境变量的可选 Secret 名称列表。

环境变量: QUARKUS_OPENSHIFT_ENV_SECRETS

字符串列表

 

lock quarkus.openshift.env.configmaps

从中加载环境变量的可选 ConfigMap 名称列表。

环境变量: QUARKUS_OPENSHIFT_ENV_CONFIGMAPS

字符串列表

 

lock quarkus.openshift.env.fields."environment-variable-name"

映射将环境变量名称与关联的字段引用它们获取其值。

环境变量: QUARKUS_OPENSHIFT_ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

Map<String,String>

 

lock quarkus.openshift.env.vars."vars"

环境变量值

环境变量: QUARKUS_OPENSHIFT_ENV_VARS__VARS_

string

 

lock quarkus.openshift.env.mapping."mapping".from-secret

要从中提取值的 Secret 的可选名称。与 from-configmap 相互排斥。

环境变量: QUARKUS_OPENSHIFT_ENV_MAPPING__MAPPING__FROM_SECRET

string

 

lock quarkus.openshift.env.mapping."mapping".from-configmap

要从中提取值的 ConfigMap 的可选名称。与 from-secret 相互排斥。

环境变量: QUARKUS_OPENSHIFT_ENV_MAPPING__MAPPING__FROM_CONFIGMAP

string

 

lock quarkus.openshift.env.mapping."mapping".with-key

标识从中提取值的字段的键。

环境变量: QUARKUS_OPENSHIFT_ENV_MAPPING__MAPPING_WITH_KEY

string

必需 exclamation circle

lock quarkus.openshift.env.using-prefix."prefixes".for-secret

将环境变量添加到容器时使用的可选前缀。

环境变量: QUARKUS_OPENSHIFT_ENV_USING_PREFIX__PREFIXES__FOR_SECRET

string

 

lock quarkus.openshift.env.using-prefix."prefixes".for-configmap

将环境变量添加到容器时使用的可选前缀。

环境变量: QUARKUS_OPENSHIFT_ENV_USING_PREFIX__PREFIXES_FOR_CONFIGMAP

string

 

lock quarkus.openshift.part-of

此组件所属的组名称。

环境变量: QUARKUS_OPENSHIFT_PART_OF

string

 

lock quarkus.openshift.name

应用程序的名称。这个值将用于命名 Kubernetes 资源,如: - Deployment - Service 等

环境变量: QUARKUS_OPENSHIFT_NAME

string

 

lock quarkus.openshift.version

应用程序的版本。

环境变量: QUARKUS_OPENSHIFT_VERSION

string

 

lock quarkus.openshift.namespace

生成的资源应属于的命名空间。如果没有设置值,则不会将 'namespace' 字段添加到生成的清单的 'metadata' 部分。这反过来意味着,当清单应用到集群时,命名空间将从当前的 Kubernetes 上下文解析(请参阅 org-cluster-access-kubeconfig )。

环境变量: QUARKUS_OPENSHIFT_NAMESPACE

string

 

lock quarkus.openshift.labels."label-name"

要添加到所有资源的自定义标签。

环境变量: QUARKUS_OPENSHIFT_LABELS__LABEL_NAME_

Map<String,String>

 

lock quarkus.openshift.annotations."annotation-name"

要添加到所有资源的自定义注解。

环境变量: QUARKUS_OPENSHIFT_ANNOTATIONS__ANNOTATION_NAME_

Map<String,String>

 

lock quarkus.openshift.service-type

为应用程序生成的服务类型

环境变量: QUARKUS_OPENSHIFT_SERVICE_TYPE

cluster-ip,node-port,load-balancer,external-name

cluster-ip

lock quarkus.openshift.add-build-timestamp

是否在 Kubernetes 注解中添加构建时间戳,这对同一应用程序的连续构建清单有所不同,因此,确保 Kubernetes 将应用更新的资源。

环境变量: QUARKUS_OPENSHIFT_ADD_BUILD_TIMESTAMP

布尔值

true

lock quarkus.openshift.add-version-to-label-selectors

如果为 true,则 'app.kubernetes.io/version' 标签将是 Service 和 Deployment 选择器的一部分。

环境变量: QUARKUS_OPENSHIFT_ADD_VERSION_TO_LABEL_SELECTORS

布尔值

true

lock quarkus.openshift.add-name-to-label-selectors

如果为 true,则 'app.kubernetes.io/name' 标签将是 Service 和 Deployment 选择器的一部分。

环境变量: QUARKUS_OPENSHIFT_ADD_NAME_TO_LABEL_SELECTORS

布尔值

true

lock quarkus.openshift.working-dir

工作目录。

环境变量: QUARKUS_OPENSHIFT_WORKING_DIR

string

 

lock quarkus.openshift.command

命令。

环境变量: QUARKUS_OPENSHIFT_COMMAND

字符串列表

 

lock quarkus.openshift.arguments

参数。

环境变量: QUARKUS_OPENSHIFT_ARGUMENTS

字符串列表

 

lock quarkus.openshift.service-account

服务帐户。

环境变量: QUARKUS_OPENSHIFT_SERVICE_ACCOUNT

string

 

lock quarkus.openshift.container-name

如果设置,它将根据配置更改容器名称。

环境变量: QUARKUS_OPENSHIFT_CONTAINER_NAME

string

 

lock quarkus.openshift.ports."ports".container-port

端口号。指的是容器端口。

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS__CONTAINER_PORT

int

 

lock quarkus.openshift.ports."ports".host-port

主机端口。

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS__HOST_PORT

int

 

lock quarkus.openshift.ports."ports".path

应用程序路径(引用 Web 应用程序路径)。

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS__PATH

string

/

lock quarkus.openshift.ports."ports".protocol

协议。

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS_PROTOCOL

TCP,udp,sctp,http,proxy

tcp

lock quarkus.openshift.ports."ports".node-port

此端口应映射到的 nodePort。这只在将 serviceType 设置为 node-port 时才会生效。

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS__NODE_PORT

int

 

lock quarkus.openshift.ports."ports".tls

如果启用,该端口将配置为使用 schema HTTPS。

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS__TLS

布尔值

false

lock quarkus.openshift.image-pull-policy

镜像拉取(pull)策略。

环境变量: QUARKUS_OPENSHIFT_IMAGE_PULL_POLICY

始终为,if-not-present,never

always

lock quarkus.openshift.image-pull-secrets

镜像 pull secret。

环境变量: QUARKUS_OPENSHIFT_IMAGE_PULL_SECRETS

字符串列表

 

lock quarkus.openshift.generate-image-pull-secret

提供容器镜像用户名和密码时,启用生成镜像 pull secret。

环境变量: QUARKUS_OPENSHIFT_GENERATE_IMAGE_PULL_SECRET

布尔值

false

lock quarkus.openshift.liveness-probe.http-action-port

配置 http get 操作时使用的端口号。如果没有配置,则使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_PORT

int

 

lock quarkus.openshift.liveness-probe.http-action-port-name

用于选择 HTTP get 操作端口的端口名称。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

string

 

lock quarkus.openshift.liveness-probe.http-action-path

用于探测的 http 路径。要达到此目的,还需要设置容器端口。

假设已设置了容器端口(如以上注释),如果没有设置 execAction 或 tcpSocketAction,则即使未设置任何路径(这将导致使用 root 路径),则会自动使用 HTTP 探测。如果使用 Smallrye Health,则会根据健康检查路径自动设置路径。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_PATH

string

 

lock quarkus.openshift.liveness-probe.http-action-scheme

HTTP get 操作的方案。可以是 "HTTP" 或 "HTTPS"。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_SCHEME

string

 

lock quarkus.openshift.liveness-probe.exec-action

用于探测的命令。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_EXEC_ACTION

string

 

lock quarkus.openshift.liveness-probe.tcp-socket-action

用于探测的 tcp 套接字(格式是 host:port)。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_TCP_SOCKET_ACTION

string

 

lock quarkus.openshift.liveness-probe.grpc-action

用于探测的 gRPC 端口(格式是 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_GRPC_ACTION

string

 

lock quarkus.openshift.liveness-probe.grpc-action-enabled

如果没有提供 enabled 和 grpc-action,它将使用生成的服务名称和 gRPC 端口。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_GRPC_ACTION_ENABLED

布尔值

false

lock quarkus.openshift.liveness-probe.initial-delay

开始探测前等待的时间。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_INITIAL_DELAY

duration  question circle

5S

lock quarkus.openshift.liveness-probe.period

应调用该操作的期间。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_PERIOD

duration  question circle

10S

lock quarkus.openshift.liveness-probe.timeout

等待每个操作的时间长度。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_TIMEOUT

duration  question circle

10S

lock quarkus.openshift.liveness-probe.success-threshold

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_SUCCESS_THRESHOLD

int

1

lock quarkus.openshift.liveness-probe.failure-threshold

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_FAILURE_THRESHOLD

int

3

lock quarkus.openshift.readiness-probe.http-action-port

配置 http get 操作时使用的端口号。如果没有配置,则使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_PORT

int

 

lock quarkus.openshift.readiness-probe.http-action-port-name

用于选择 HTTP get 操作端口的端口名称。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_PORT_NAME

string

 

lock quarkus.openshift.readiness-probe.http-action-path

用于探测的 http 路径。要达到此目的,还需要设置容器端口。

假设已设置了容器端口(如以上注释),如果没有设置 execAction 或 tcpSocketAction,则即使未设置任何路径(这将导致使用 root 路径),则会自动使用 HTTP 探测。如果使用 Smallrye Health,则会根据健康检查路径自动设置路径。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_PATH

string

 

lock quarkus.openshift.readiness-probe.http-action-scheme

HTTP get 操作的方案。可以是 "HTTP" 或 "HTTPS"。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_SCHEME

string

 

lock quarkus.openshift.readiness-probe.exec-action

用于探测的命令。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_EXEC_ACTION

string

 

lock quarkus.openshift.readiness-probe.tcp-socket-action

用于探测的 tcp 套接字(格式是 host:port)。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_TCP_SOCKET_ACTION

string

 

lock quarkus.openshift.readiness-probe.grpc-action

用于探测的 gRPC 端口(格式是 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_GRPC_ACTION

string

 

lock quarkus.openshift.readiness-probe.grpc-action-enabled

如果没有提供 enabled 和 grpc-action,它将使用生成的服务名称和 gRPC 端口。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_GRPC_ACTION_ENABLED

布尔值

false

lock quarkus.openshift.readiness-probe.initial-delay

开始探测前等待的时间。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_INITIAL_DELAY

duration  question circle

5S

lock quarkus.openshift.readiness-probe.period

应调用该操作的期间。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_PERIOD

duration  question circle

10S

lock quarkus.openshift.readiness-probe.timeout

等待每个操作的时间长度。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_TIMEOUT

duration  question circle

10S

lock quarkus.openshift.readiness-probe.success-threshold

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_SUCCESS_THRESHOLD

int

1

lock quarkus.openshift.readiness-probe.failure-threshold

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_FAILURE_THRESHOLD

int

3

lock quarkus.openshift.startup-probe.http-action-port

配置 http get 操作时使用的端口号。如果没有配置,则使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_PORT

int

 

lock quarkus.openshift.startup-probe.http-action-port-name

用于选择 HTTP get 操作端口的端口名称。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_PORT_NAME

string

 

lock quarkus.openshift.startup-probe.http-action-path

用于探测的 http 路径。要达到此目的,还需要设置容器端口。

假设已设置了容器端口(如以上注释),如果没有设置 execAction 或 tcpSocketAction,则即使未设置任何路径(这将导致使用 root 路径),则会自动使用 HTTP 探测。如果使用 Smallrye Health,则会根据健康检查路径自动设置路径。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_PATH

string

 

lock quarkus.openshift.startup-probe.http-action-scheme

HTTP get 操作的方案。可以是 "HTTP" 或 "HTTPS"。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_SCHEME

string

 

lock quarkus.openshift.startup-probe.exec-action

用于探测的命令。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_EXEC_ACTION

string

 

lock quarkus.openshift.startup-probe.tcp-socket-action

用于探测的 tcp 套接字(格式是 host:port)。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_TCP_SOCKET_ACTION

string

 

lock quarkus.openshift.startup-probe.grpc-action

用于探测的 gRPC 端口(格式是 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_GRPC_ACTION

string

 

lock quarkus.openshift.startup-probe.grpc-action-enabled

如果没有提供 enabled 和 grpc-action,它将使用生成的服务名称和 gRPC 端口。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_GRPC_ACTION_ENABLED

布尔值

false

lock quarkus.openshift.startup-probe.initial-delay

开始探测前等待的时间。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_INITIAL_DELAY

duration  question circle

5S

lock quarkus.openshift.startup-probe.period

应调用该操作的期间。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_PERIOD

duration  question circle

10S

lock quarkus.openshift.startup-probe.timeout

等待每个操作的时间长度。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_TIMEOUT

duration  question circle

10S

lock quarkus.openshift.startup-probe.success-threshold

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_SUCCESS_THRESHOLD

int

1

lock quarkus.openshift.startup-probe.failure-threshold

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_FAILURE_THRESHOLD

int

3

lock quarkus.openshift.prometheus.annotations

为 true (默认)时,发出一组注解来标识 prometheus 为指标提取的服务。

在使用带有 ServiceMonitor 的 Prometheus Operator 的配置中,可能不需要注解。

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_ANNOTATIONS

布尔值

true

lock quarkus.openshift.prometheus.generate-service-monitor

为 true (默认)时,发出一组注解来标识 prometheus 为指标提取的服务。

在使用带有 ServiceMonitor 的 Prometheus Operator 的配置中,可能不需要注解。

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_GENERATE_SERVICE_MONITOR

布尔值

true

lock quarkus.openshift.prometheus.prefix

定义用于提取值的注解前缀,此值将用作其他注解名称默认值的基础。更改生成的注解的基础可以更轻松地定义重新标记规则,并避免意外的 knock-on 效果。默认值为 prometheus.io,请参阅 Prometheus 示例

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_PREFIX

string

prometheus.io

lock quarkus.openshift.prometheus.scrape

定义用于指示应提取的服务的注释。默认情况下,/scrape 将附加到定义的前缀中。

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_SCRAPE

string

 

lock quarkus.openshift.prometheus.path

定义用于指示要提取的路径的注解。默认情况下,/path 将附加到定义的前缀。

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_PATH

string

 

lock quarkus.openshift.prometheus.port

定义用于指示要提取的端口的注解。默认情况下,/port 将附加到定义的前缀。

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_PORT

string

 

lock quarkus.openshift.prometheus.scheme

定义用于指示默认情况下用于提取的方案的注解,/scheme 将附加到定义的前缀中。

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_SCHEME

string

 

lock quarkus.openshift.mounts."mounts".name

要挂载的 volumeName 的名称。

环境变量: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__NAME

string

 

lock quarkus.openshift.mounts."mounts".path

挂载的路径。

环境变量: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__PATH

string

 

lock quarkus.openshift.mounts."mounts".sub-path

应挂载容器 volumeName 的 volumeName 中的路径。

环境变量: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__SUB_PATH

string

 

lock quarkus.openshift.mounts."mounts".read-only

只读。

环境变量: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__READ_ONLY

布尔值

false

lock quarkus.openshift.secret-volumes."secret-volumes".secret-name

要挂载的 secret 的名称。

环境变量: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__SECRET_NAME

string

必需 exclamation circle

lock quarkus.openshift.secret-volumes."secret-volumes".default-mode

默认模式。在指定八进制数时,必须存在前导零。

环境变量: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__DEFAULT_MODE

string

0600

lock quarkus.openshift.secret-volumes."secret-volumes".items."items".path

挂载文件的路径。

环境变量: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__PATH

string

必需 exclamation circle

lock quarkus.openshift.secret-volumes."secret-volumes".items."items".mode

它必须是 0000 到 0777 之间的值。如果没有指定,则使用卷 defaultMode。

环境变量: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__MODE

int

-1

lock quarkus.openshift.secret-volumes."secret-volumes".optional

选填

环境变量: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__OPTIONAL

布尔值

false

lock quarkus.openshift.config-map-volumes."config-map-volumes".config-map-name

要挂载的 ConfigMap 的名称。

环境变量: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAPS__CONFIG_MAP_NAME

string

必需 exclamation circle

lock quarkus.openshift.config-map-volumes."config-map-volumes".default-mode

默认模式。在指定八进制数时,必须存在前导零。

环境变量: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__DEFAULT_MODE

string

0600

lock quarkus.openshift.config-map-volumes."config-map-volumes".items."items.".path

挂载文件的路径。

环境变量: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__PATH

string

必需 exclamation circle

lock quarkus.openshift.config-map-volumes."config-map-volumes".items."items".mode

它必须是 0000 到 0777 之间的值。如果没有指定,则使用卷 defaultMode。

环境变量: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__MODE

int

-1

lock quarkus.openshift.config-map-volumes."config-map-volumes".optional

选填

环境变量: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__OPTIONAL

布尔值

false

lock quarkus.openshift.empty-dir-volumes

emptyDir 卷。

环境变量: QUARKUS_OPENSHIFT_EMPTY_DIR_VOLUMES

字符串列表

 

lock quarkus.openshift.git-repo-volumes."git-repo-volumes".repository

Git 存储库 URL。

环境变量: QUARKUS_OPENSHIFT_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REPOSITORY

string

必需 exclamation circle

lock quarkus.openshift.git-repo-volumes."git-repo-volumes".directory

要挂载的存储库的目录。

环境变量: QUARKUS_OPENSHIFT_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__DIRECTORY

string

 

lock quarkus.openshift.git-repo-volumes."git-repo-volumes".revision

要使用的提交哈希。

环境变量: QUARKUS_OPENSHIFT_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REVISION

string

 

lock quarkus.openshift.pvc-volumes."pvc-volumes".claim-name

要挂载的声明的名称。

环境变量: QUARKUS_OPENSHIFT_PVC_VOLUMES__PVC_VOLUMES__CLAIM_NAME

string

必需 exclamation circle

lock quarkus.openshift.pvc-volumes."pvc-volumes".default-mode

默认模式。在指定八进制数时,必须存在前导零。

环境变量: QUARKUS_OPENSHIFT_PVC_VOLUMES__PVC_VOLUMES__DEFAULT_MODE

string

0600

lock quarkus.openshift.pvc-volumes."pvc-volumes".optional

选填

环境变量: QUARKUS_OPENSHIFT_PVC_VOLUMES__PVC_VOLUMES__OPTIONAL

布尔值

false

lock quarkus.openshift.aws-elastic-block-store-volumes."aws-elastic-block-store-volumes".volume-id

要挂载的磁盘名称。

环境变量: QUARKUS_OPENSHIFT_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__VOLUME_ID

string

必需 exclamation circle

lock quarkus.openshift.aws-elastic-block-store-volumes."aws-elastic-block-store-volumes".partition

分区。

环境变量: QUARKUS_OPENSHIFT_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__PARTITION

int

 

lock quarkus.openshift.aws-elastic-block-store-volumes."aws-elastic-block-store-volumes".fs-type

文件系统类型。

环境变量: QUARKUS_OPENSHIFT_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__FS_TYPE

string

ext4

lock quarkus.openshift.aws-elastic-block-store-volumes."aws-elastic-block-store-volumes".read-only

volumeName 是否是只读的。

环境变量: QUARKUS_OPENSHIFT_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__READ_ONLY

布尔值

false

lock quarkus.openshift.azure-file-volumes."azure-file-volumes".share-name

共享名称。

环境变量: QUARKUS_OPENSHIFT_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SHARE_NAME

string

必需 exclamation circle

lock quarkus.openshift.azure-file-volumes."azure-file-volumes".secret-name

机密名称。

环境变量: QUARKUS_OPENSHIFT_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SECRET_NAME

string

必需 exclamation circle

lock quarkus.openshift.azure-file-volumes."azure-file-volumes".read-only

volumeName 是否是只读的。

环境变量: QUARKUS_OPENSHIFT_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES_READ_ONLY

布尔值

false

lock quarkus.openshift.azure-disk-volumes."azure-disk-volumes".disk-name

要挂载的磁盘名称。

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_NAME

string

必需 exclamation circle

lock quarkus.openshift.azure-disk-volumes."azure-disk-volumes".disk-uri

如果 Kind 为 Managed,则 vhd blob 对象的 URI 或 Azure 管理的数据磁盘的 resourceID

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_URI

string

必需 exclamation circle

lock quarkus.openshift.azure-disk-volumes."azure-disk-volumes".kind

磁盘类型。

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__KIND

受管共享

Managed

lock quarkus.openshift.azure-disk-volumes."azure-disk-volumes"..caching-mode

磁盘缓存模式。

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__CACHING_MODE

读写,只读,none

读写

lock quarkus.openshift.azure-disk-volumes."azure-disk-volumes".fs-type

文件系统类型。

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__FS_TYPE

string

ext4

lock quarkus.openshift.azure-disk-volumes."azure-disk-volumes".read-only

volumeName 是否是只读的。

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES_READ_ONLY

布尔值

false

lock quarkus.openshift.init-containers."init-containers".env.secrets

从中加载环境变量的可选 Secret 名称列表。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__ENV_SECRETS

字符串列表

 

lock quarkus.openshift.init-containers."init-containers".env.configmaps

从中加载环境变量的可选 ConfigMap 名称列表。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__ENV_CONFIGMAPS

字符串列表

 

lock quarkus.openshift.init-containers."init-containers".env.fields."environment-variable-name"

映射将环境变量名称与关联的字段引用它们获取其值。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

Map<String,String>

 

lock quarkus.openshift.init-containers."init-containers".env.vars."vars"

环境变量值

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__ENV_VARS__VARS_

string

 

lock quarkus.openshift.init-containers."init-containers".env.mapping."mapping".from-secret

要从中提取值的 Secret 的可选名称。与 from-configmap 相互排斥。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_SECRET

string

 

lock quarkus.openshift.init-containers."init-containers".env.mapping."mapping".from-configmap

要从中提取值的 ConfigMap 的可选名称。与 from-secret 相互排斥。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

string

 

lock quarkus.openshift.init-containers."init-containers".env.mapping."mapping".with-key

标识从中提取值的字段的键。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__ENV_MAPPING__MAPPING_WITH_KEY

string

必需 exclamation circle

lock quarkus.openshift.init-containers."init-containers".env.using-prefix."prefixes".for-secret

将环境变量添加到容器时使用的可选前缀。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__ENV_USING_PREFIX__PREFIXES__FOR_SECRET

string

 

lock quarkus.openshift.init-containers."init-containers".env.using-prefix."prefixes".for-configmap

将环境变量添加到容器时使用的可选前缀。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__ENV_USING_PREFIX__PREFIXES__FOR_CONFIGMAP

string

 

lock quarkus.openshift.init-containers."init-containers".image

容器镜像。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS_CONTAINERS_IMAGE

string

 

lock quarkus.openshift.init-containers."init-containers".working-dir

工作目录。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__WORKING_DIR

string

 

lock quarkus.openshift.init-containers."init-containers".command

命令

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__COMMAND

字符串列表

 

lock quarkus.openshift.init-containers."init-containers".arguments

这些参数

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__ARGUMENTS

字符串列表

 

lock quarkus.openshift.init-containers."init-containers".service-account

服务帐户。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__SERVICE_ACCOUNT

string

 

lock quarkus.openshift.init-containers."init-containers".host

要公开应用的主机。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__HOST

string

 

lock quarkus.openshift.init-containers."init-containers".ports."ports".container-port

端口号。指的是容器端口。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__PORTS__PORTS_CONTAINER_PORT

int

 

lock quarkus.openshift.init-containers."init-containers".ports."ports".host-port

主机端口。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__PORTS__PORTS_HOST_PORT

int

 

lock quarkus.openshift.init-containers."init-containers".ports."ports.".path

应用程序路径(引用 Web 应用程序路径)。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__PORTS__PORTS_PATH

string

/

lock quarkus.openshift.init-containers."init-containers".ports."ports".protocol

协议。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__PORTS__PORTS__PROTOCOL

TCP,udp,sctp,http,proxy

tcp

lock quarkus.openshift.init-containers."init-containers".ports."ports".node-port

此端口应映射到的 nodePort。这只在将 serviceType 设置为 node-port 时才会生效。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__PORTS__PORTS__NODE_PORT

int

 

lock quarkus.openshift.init-containers."init-containers".ports."ports".tls

如果启用,该端口将配置为使用 schema HTTPS。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__PORTS__PORTS_TLS

布尔值

false

lock quarkus.openshift.init-containers."init-containers".image-pull-policy

镜像拉取(pull)策略。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__IMAGE_PULL_POLICY

始终为,if-not-present,never

always

lock quarkus.openshift.init-containers."init-containers".image-pull-secrets

镜像 pull secret。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__IMAGE_PULL_SECRETS

字符串列表

 

lock quarkus.openshift.init-containers."init-containers".liveness-probe.http-action-port

配置 http get 操作时使用的端口号。如果没有配置,则使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT

int

 

lock quarkus.openshift.init-containers."init-containers".liveness-probe.http-action-port-name

用于选择 HTTP get 操作端口的端口名称。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

string

 

lock quarkus.openshift.init-containers."init-containers".liveness-probe.http-action-path

用于探测的 http 路径。要达到此目的,还需要设置容器端口。

假设已设置了容器端口(如以上注释),如果没有设置 execAction 或 tcpSocketAction,则即使未设置任何路径(这将导致使用 root 路径),则会自动使用 HTTP 探测。如果使用 Smallrye Health,则会根据健康检查路径自动设置路径。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PATH

string

 

lock quarkus.openshift.init-containers."init-containers".liveness-probe.http-action-scheme

HTTP get 操作的方案。可以是 "HTTP" 或 "HTTPS"。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

string

 

lock quarkus.openshift.init-containers."init-containers".liveness-probe.exec-action

用于探测的命令。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_EXEC_ACTION

string

 

lock quarkus.openshift.init-containers."init-containers".liveness-probe.tcp-socket-action

用于探测的 tcp 套接字(格式是 host:port)。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_TCP_SOCKET_ACTION

string

 

lock quarkus.openshift.init-containers."init-containers".liveness-probe.grpc-action

用于探测的 gRPC 端口(格式是 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION

string

 

lock quarkus.openshift.init-containers."init-containers".liveness-probe.grpc-action-enabled

如果没有提供 enabled 和 grpc-action,它将使用生成的服务名称和 gRPC 端口。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

布尔值

false

lock quarkus.openshift.init-containers."init-containers".liveness-probe.initial-delay

开始探测前等待的时间。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_INITIAL_DELAY

duration  question circle

5S

lock quarkus.openshift.init-containers."init-containers".liveness-probe.period

应调用该操作的期间。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_PERIOD

duration  question circle

10S

lock quarkus.openshift.init-containers."init-containers".liveness-probe.timeout

等待每个操作的时间长度。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_TIMEOUT

duration  question circle

10S

lock quarkus.openshift.init-containers."init-containers".liveness-probe.success-threshold

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_SUCCESS_THRESHOLD

int

1

lock quarkus.openshift.init-containers."init-containers".liveness-probe.failure-threshold

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__LIVENESS_PROBE_FAILURE_THRESHOLD

int

3

lock quarkus.openshift.init-containers."init-containers".readiness-probe.http-action-port

配置 http get 操作时使用的端口号。如果没有配置,则使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT

int

 

lock quarkus.openshift.init-containers."init-containers".readiness-probe.http-action-port-name

用于选择 HTTP get 操作端口的端口名称。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

string

 

lock quarkus.openshift.init-containers."init-containers".readiness-probe.http-action-path

用于探测的 http 路径。要达到此目的,还需要设置容器端口。

假设已设置了容器端口(如以上注释),如果没有设置 execAction 或 tcpSocketAction,则即使未设置任何路径(这将导致使用 root 路径),则会自动使用 HTTP 探测。如果使用 Smallrye Health,则会根据健康检查路径自动设置路径。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PATH

string

 

lock quarkus.openshift.init-containers."init-containers".readiness-probe.http-action-scheme

HTTP get 操作的方案。可以是 "HTTP" 或 "HTTPS"。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_CONTAINERS__READINESS_PROBE_HTTP_ACTION_SCHEME

string

 

lock quarkus.openshift.init-containers."init-containers".readiness-probe.exec-action

用于探测的命令。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__READINESS_PROBE_EXEC_ACTION

string

 

lock quarkus.openshift.init-containers."init-containers".readiness-probe.tcp-socket-action

用于探测的 tcp 套接字(格式是 host:port)。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__READINESS_PROBE_TCP_SOCKET_ACTION

string

 

lock quarkus.openshift.init-containers."init-containers".readiness-probe.grpc-action

用于探测的 gRPC 端口(格式是 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION

string

 

lock quarkus.openshift.init-containers."init-containers".readiness-probe.grpc-action-enabled

如果没有提供 enabled 和 grpc-action,它将使用生成的服务名称和 gRPC 端口。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_CONTAINERS__READINESS_PROBE_GRPC_ACTION_ENABLED

布尔值

false

lock quarkus.openshift.init-containers."init-containers".readiness-probe.initial-delay

开始探测前等待的时间。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__READINESS_PROBE_INITIAL_DELAY

duration  question circle

5S

lock quarkus.openshift.init-containers."init-containers".readiness-probe.period

应调用该操作的期间。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__READINESS_PROBE_PERIOD

duration  question circle

10S

lock quarkus.openshift.init-containers."init-containers".readiness-probe.timeout

等待每个操作的时间长度。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__READINESS_PROBE_TIMEOUT

duration  question circle

10S

lock quarkus.openshift.init-containers."init-containers".readiness-probe.success-threshold

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_CONTAINERS__READINESS_PROBE_SUCCESS_THRESHOLD

int

1

lock quarkus.openshift.init-containers."init-containers".readiness-probe.failure-threshold

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__READINESS_PROBE_FAILURE_THRESHOLD

int

3

lock quarkus.openshift.init-containers."init-containers".mounts."mounts".name

要挂载的 volumeName 的名称。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__MOUNTS__MOUNTS__NAME

string

 

lock quarkus.openshift.init-containers."init-containers".mounts."mounts".path

挂载的路径。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__MOUNTS__MOUNTS__PATH

string

 

lock quarkus.openshift.init-containers."init-containers".mounts."mounts".sub-path

应挂载容器 volumeName 的 volumeName 中的路径。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__MOUNTS__MOUNTS__SUB_PATH

string

 

lock quarkus.openshift.init-containers."init-containers".mounts."mounts".read-only

只读。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__MOUNTS__MOUNTS__READ_ONLY

布尔值

false

lock quarkus.openshift.init-containers."init-containers".resources.limits.cpu

CPU 要求

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS__RESOURCES_LIMITS_CPU

string

 

lock quarkus.openshift.init-containers."init-containers".resources.limits.memory

内存要求

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS_RESOURCES_LIMITS_MEMORY

string

 

lock quarkus.openshift.init-containers."init-containers".resources.requests.cpu

CPU 要求

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS_RESOURCES_REQUESTS_CPU

string

 

lock quarkus.openshift.init-containers."init-containers".resources.requests.memory

内存要求

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS_INIT_CONTAINERS_RESOURCES_REQUESTS_MEMORY

string

 

lock quarkus.openshift.sidecars."sidecars".env.secrets

从中加载环境变量的可选 Secret 名称列表。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_SECRETS

字符串列表

 

lock quarkus.openshift.sidecars."sidecars".env.configmaps

从中加载环境变量的可选 ConfigMap 名称列表。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_CONFIGMAPS

字符串列表

 

lock quarkus.openshift.sidecars."sidecars".env.fields."environment-variable-name"

映射将环境变量名称与关联的字段引用它们获取其值。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

Map<String,String>

 

lock quarkus.openshift.sidecars."sidecars".env.vars."vars"

环境变量值

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_VARS__VARS_

string

 

lock quarkus.openshift.sidecars."sidecars".env.mapping."mapping".from-secret

要从中提取值的 Secret 的可选名称。与 from-configmap 相互排斥。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_SECRET

string

 

lock quarkus.openshift.sidecars."sidecars".env.mapping."mapping".from-configmap

要从中提取值的 ConfigMap 的可选名称。与 from-secret 相互排斥。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

string

 

lock quarkus.openshift.sidecars."sidecars".env.mapping."mapping".with-key

标识从中提取值的字段的键。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__WITH_KEY

string

必需 exclamation circle

lock quarkus.openshift.sidecars."sidecars".env.using-prefix."prefixes".for-secret

将环境变量添加到容器时使用的可选前缀。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_USING_PREFIX__PREFIXES__FOR_SECRET

string

 

lock quarkus.openshift.sidecars."sidecars".env.using-prefix."prefixes".for-configmap

将环境变量添加到容器时使用的可选前缀。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_USING_PREFIX__PREFIXES__FOR_CONFIGMAP

string

 

lock quarkus.openshift.sidecars."sidecars".image

容器镜像。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__IMAGE

string

 

lock quarkus.openshift.sidecars."sidecars".working-dir

工作目录。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__WORKING_DIR

string

 

lock quarkus.openshift.sidecars."sidecars".command

命令

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__COMMAND

字符串列表

 

lock quarkus.openshift.sidecars."sidecars".arguments

这些参数

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ARGUMENTS

字符串列表

 

lock quarkus.openshift.sidecars."sidecars".service-account

服务帐户。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__SERVICE_ACCOUNT

string

 

lock quarkus.openshift.sidecars."sidecars".host

要公开应用的主机。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__HOST

string

 

lock quarkus.openshift.sidecars."sidecars".ports."ports".container-port

端口号。指的是容器端口。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS_CONTAINER_PORT

int

 

lock quarkus.openshift.sidecars."sidecars".ports."ports".host-port

主机端口。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__HOST_PORT

int

 

lock quarkus.openshift.sidecars."sidecars".ports."ports.".path

应用程序路径(引用 Web 应用程序路径)。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__PATH

string

/

lock quarkus.openshift.sidecars."sidecars".ports."ports.".protocol

协议。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__PROTOCOL

TCP,udp,sctp,http,proxy

tcp

lock quarkus.openshift.sidecars."sidecars".ports."ports".node-port

此端口应映射到的 nodePort。这只在将 serviceType 设置为 node-port 时才会生效。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS_NODE_PORT

int

 

lock quarkus.openshift.sidecars."sidecars".ports."ports.tls

如果启用,该端口将配置为使用 schema HTTPS。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS_TLS

布尔值

false

lock quarkus.openshift.sidecars."sidecars".image-pull-policy

镜像拉取(pull)策略。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__IMAGE_PULL_POLICY

始终为,if-not-present,never

always

lock quarkus.openshift.sidecars."sidecars".image-pull-secrets

镜像 pull secret。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__IMAGE_PULL_SECRETS

字符串列表

 

lock quarkus.openshift.sidecars."sidecars".liveness-probe.http-action-port

配置 http get 操作时使用的端口号。如果没有配置,则使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT

int

 

lock quarkus.openshift.sidecars."sidecars".liveness-probe.http-action-port-name

用于选择 HTTP get 操作端口的端口名称。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

string

 

lock quarkus.openshift.sidecars."sidecars".liveness-probe.http-action-path

用于探测的 http 路径。要达到此目的,还需要设置容器端口。

假设已设置了容器端口(如以上注释),如果没有设置 execAction 或 tcpSocketAction,则即使未设置任何路径(这将导致使用 root 路径),则会自动使用 HTTP 探测。如果使用 Smallrye Health,则会根据健康检查路径自动设置路径。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PATH

string

 

lock quarkus.openshift.sidecars."sidecars".liveness-probe.http-action-scheme

HTTP get 操作的方案。可以是 "HTTP" 或 "HTTPS"。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

string

 

lock quarkus.openshift.sidecars."sidecars".liveness-probe.exec-action

用于探测的命令。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_EXEC_ACTION

string

 

lock quarkus.openshift.sidecars."sidecars".liveness-probe.tcp-socket-action

用于探测的 tcp 套接字(格式是 host:port)。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_TCP_SOCKET_ACTION

string

 

lock quarkus.openshift.sidecars."sidecars".liveness-probe.grpc-action

用于探测的 gRPC 端口(格式是 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION

string

 

lock quarkus.openshift.sidecars."sidecars".liveness-probe.grpc-action-enabled

如果没有提供 enabled 和 grpc-action,它将使用生成的服务名称和 gRPC 端口。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

布尔值

false

lock quarkus.openshift.sidecars."sidecars".liveness-probe.initial-delay

开始探测前等待的时间。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_INITIAL_DELAY

duration  question circle

5S

lock quarkus.openshift.sidecars."sidecars".liveness-probe.period

应调用该操作的期间。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_PERIOD

duration  question circle

10S

lock quarkus.openshift.sidecars."sidecars".liveness-probe.timeout

等待每个操作的时间长度。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_TIMEOUT

duration  question circle

10S

lock quarkus.openshift.sidecars."sidecars".liveness-probe.success-threshold

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_SUCCESS_THRESHOLD

int

1

lock quarkus.openshift.sidecars."sidecars".liveness-probe.failure-threshold

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_FAILURE_THRESHOLD

int

3

lock quarkus.openshift.sidecars."sidecars".readiness-probe.http-action-port

配置 http get 操作时使用的端口号。如果没有配置,则使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PORT

int

 

lock quarkus.openshift.sidecars."sidecars".readiness-probe.http-action-port-name

用于选择 HTTP get 操作端口的端口名称。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS_READINESS_PROBE_HTTP_ACTION_PORT_NAME

string

 

lock quarkus.openshift.sidecars."sidecars".readiness-probe.http-action-path

用于探测的 http 路径。要达到此目的,还需要设置容器端口。

假设已设置了容器端口(如以上注释),如果没有设置 execAction 或 tcpSocketAction,则即使未设置任何路径(这将导致使用 root 路径),则会自动使用 HTTP 探测。如果使用 Smallrye Health,则会根据健康检查路径自动设置路径。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PATH

string

 

lock quarkus.openshift.sidecars."sidecars".readiness-probe.http-action-scheme

HTTP get 操作的方案。可以是 "HTTP" 或 "HTTPS"。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_SCHEME

string

 

lock quarkus.openshift.sidecars."sidecars".readiness-probe.exec-action

用于探测的命令。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_EXEC_ACTION

string

 

lock quarkus.openshift.sidecars."sidecars".readiness-probe.tcp-socket-action

用于探测的 tcp 套接字(格式是 host:port)。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_TCP_SOCKET_ACTION

string

 

lock quarkus.openshift.sidecars."sidecars".readiness-probe.grpc-action

用于探测的 gRPC 端口(格式是 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION

string

 

lock quarkus.openshift.sidecars."siders".readiness-probe.grpc-action-enabled

如果没有提供 enabled 和 grpc-action,它将使用生成的服务名称和 gRPC 端口。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION_ENABLED

布尔值

false

lock quarkus.openshift.sidecars."sidecars".readiness-probe.initial-delay

开始探测前等待的时间。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS_READINESS_PROBE_INITIAL_DELAY

duration  question circle

5S

lock quarkus.openshift.sidecars."sidecars".readiness-probe.period

应调用该操作的期间。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_PERIOD

duration  question circle

10S

lock quarkus.openshift.sidecars."sidecars".readiness-probe.timeout

等待每个操作的时间长度。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS_READINESS_PROBE_TIMEOUT

duration  question circle

10S

lock quarkus.openshift.sidecars."sidecars".readiness-probe.success-threshold

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_SUCCESS_THRESHOLD

int

1

lock quarkus.openshift.sidecars."sidecars".readiness-probe.failure-threshold

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS_READINESS_PROBE_FAILURE_THRESHOLD

int

3

lock quarkus.openshift.sidecars."sidecars".mounts."mounts".name

要挂载的 volumeName 的名称。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__NAME

string

 

lock quarkus.openshift.sidecars."sidecars".mounts."mounts".path

挂载的路径。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__PATH

string

 

lock quarkus.openshift.sidecars."sidecars".mounts."mounts".sub-path

应挂载容器 volumeName 的 volumeName 中的路径。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__SUB_PATH

string

 

lock quarkus.openshift.sidecars."sidecars".mounts."mounts".read-only

只读。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__READ_ONLY

布尔值

false

lock quarkus.openshift.sidecars."sidecars".resources.limits.cpu

CPU 要求

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_LIMITS_CPU

string

 

lock quarkus.openshift.sidecars."sidecars".resources.limits.memory

内存要求

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_LIMITS_MEMORY

string

 

lock quarkus.openshift.sidecars."sidecars".resources.requests.cpu

CPU 要求

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_REQUESTS_CPU

string

 

lock quarkus.openshift.sidecars."sidecars".resources.requests.memory

内存要求

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_REQUESTS_MEMORY

string

 

lock quarkus.openshift.hostaliases."host-aliases".ip

ip 地址。

环境变量: QUARKUS_OPENSHIFT_HOSTALIASES_HOST_ALIASES_IP

string

 

lock quarkus.openshift.hostaliases."host-aliases".hostnames

要解析到 ip 的主机名。

环境变量: QUARKUS_OPENSHIFT_HOSTALIASES_HOST_ALIASES_HOSTNAMES

字符串列表

 

lock quarkus.openshift.node-selector.key

nodeSelector 的键。

环境变量: QUARKUS_OPENSHIFT_NODE_SELECTOR_KEY

string

必需 exclamation circle

lock quarkus.openshift.node-selector.value

nodeSelector 的值。

环境变量: QUARKUS_OPENSHIFT_NODE_SELECTOR_VALUE

string

必需 exclamation circle

lock quarkus.openshift.resources.limits.cpu

CPU 要求

环境变量: QUARKUS_OPENSHIFT_RESOURCES_LIMITS_CPU

string

 

lock quarkus.openshift.resources.limits.memory

内存要求

环境变量: QUARKUS_OPENSHIFT_RESOURCES_LIMITS_MEMORY

string

 

lock quarkus.openshift.resources.requests.cpu

CPU 要求

环境变量: QUARKUS_OPENSHIFT_RESOURCES_REQUESTS_CPU

string

 

lock quarkus.openshift.resources.requests.memory

内存要求

环境变量: QUARKUS_OPENSHIFT_RESOURCES_REQUESTS_MEMORY

string

 

lock quarkus.openshift.app-secret

如果设置,该机密将挂载到应用容器,其内容将用于应用配置。

环境变量: QUARKUS_OPENSHIFT_APP_SECRET

string

 

lock quarkus.openshift.app-config-map

如果设置,配置映射将挂载到应用程序容器,其内容将用于应用程序配置。

环境变量: QUARKUS_OPENSHIFT_APP_CONFIG_MAP

string

 

lock quarkus.openshift.rbac.roles."roles".

角色的名称。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__NAME

string

 

lock quarkus.openshift.rbac.roles."roles".namespace

角色的命名空间。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES_NAMESPACE

string

 

lock quarkus.openshift.rbac.roles."roles".labels."label-name"

要添加到角色资源的标签。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__LABELS__LABEL_NAME_

Map<String,String>

 

lock quarkus.openshift.rbac.roles."roles".policy-rules."policy-rules".api-groups

策略规则的 API 组。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

字符串列表

 

lock quarkus.openshift.rbac.roles."roles".policy-rules."policy-rules".non-resource-urls

策略规则的非资源 URL。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

字符串列表

 

lock quarkus.openshift.rbac.roles."roles".policy-rules."policy-rules".resource-names

策略规则的资源名称。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

字符串列表

 

lock quarkus.openshift.rbac.roles."roles".policy-rules."policy-rules".resources

策略规则的资源。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

字符串列表

 

lock quarkus.openshift.rbac.roles."roles".policy-rules."policy-rules".verbs

策略规则的操作动词。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__VERBS

字符串列表

 

lock quarkus.openshift.rbac.cluster-roles."cluster-roles".name

集群角色的名称。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__NAME

string

 

lock quarkus.openshift.rbac.cluster-roles."cluster-roles"..labels."label-name"

要添加到 ClusterRole 资源的标签。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__LABELS__LABEL_NAME_

Map<String,String>

 

lock quarkus.openshift.rbac.cluster-roles."cluster-roles".policy-rules."policy-rules".api-groups

策略规则的 API 组。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

字符串列表

 

lock quarkus.openshift.rbac.cluster-roles."cluster-roles".policy-rules."policy-rules".non-resource-urls

策略规则的非资源 URL。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

字符串列表

 

lock quarkus.openshift.rbac.cluster-roles."cluster-roles".policy-rules."policy-rules".resource-names

策略规则的资源名称。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

字符串列表

 

lock quarkus.openshift.rbac.cluster-roles."cluster-roles".policy-rules."policy-rules".resources

策略规则的资源。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

字符串列表

 

lock quarkus.openshift.rbac.cluster-roles."cluster-roles".policy-rules."policy-rules".verbs

策略规则的操作动词。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__VERBS

字符串列表

 

lock quarkus.openshift.rbac.service-accounts."service-accounts".

服务帐户的名称。

环境变量: QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAME

string

 

lock quarkus.openshift.rbac.service-accounts."service-accounts".namespace

服务帐户的命名空间。

环境变量: QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAMESPACE

string

 

lock quarkus.openshift.rbac.service-accounts."service-accounts"."label-name"

服务帐户的标签。

环境变量: QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__LABELS__LABEL_NAME_

Map<String,String>

 

lock quarkus.openshift.rbac.service-accounts."service-accounts"..use-as-default

如果为 true,则此服务帐户将在生成的 Deployment 资源中使用。

环境变量: QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__USE_AS_DEFAULT

布尔值

 

lock quarkus.openshift.rbac.role-bindings."role-bindings".name

要生成的 RoleBinding 资源的名称。如果没有提供,它将使用应用名称以及角色 ref 名称。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__NAME

string

 

lock quarkus.openshift.rbac.role-bindings."role-bindings".labels."label-name"

要添加到 RoleBinding 资源的标签。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLEINGS__ROLE_BINDINGS__LABELS__LABEL_NAME_

Map<String,String>

 

lock quarkus.openshift.rbac.role-bindings."role-bindings".role-name

由生成的 Role Binding 资源中的 RoleRef 元素使用的 Role 资源的名称。默认情况下,它的"查看"角色名称。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__ROLE_NAME

string

 

lock quarkus.openshift.rbac.role-bindings."role-bindings".cluster-wide

如果 role-name 属性中的 Role 设置是集群范围的。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__CLUSTER_WIDE

布尔值

 

lock quarkus.openshift.rbac.role-bindings."role-bindings".subjects."subjects".name

由生成的 Role Binding 资源中的 Subject 元素使用的 "name" 资源。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLEINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS_NAME

string

 

lock quarkus.openshift.rbac.role-bindings."role-bindings".subjects."subjects".kind

由生成的 Role Binding 资源中的 Subject 元素使用的 "kind" 资源。默认情况下,它使用 "ServiceAccount" 类型。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLEINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS_KIND

string

ServiceAccount

lock quarkus.openshift.rbac.role-bindings."role-bindings".subjects."subjects".api-group

与 "kind" 属性匹配的 "apiGroup" 资源。默认情况下,它将为空。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLEINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS_API_GROUP

string

 

lock quarkus.openshift.rbac.role-bindings."role-bindings".subjects."subjects".namespace

由生成的 Role Binding 资源中的 Subject 元素使用的 "namespace" 资源。默认情况下,它将使用与生成的资源中提供的相同。

环境变量: QUARKUS_OPENSHIFT_RBAC_ROLEINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS_NAMESPACE

string

 

lock quarkus.openshift.rbac.cluster-role-bindings."cluster-role-bindings".name

要生成的 ClusterRoleBinding 资源的名称。如果没有提供,它将使用应用名称以及角色 ref 名称。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__NAME

string

 

lock quarkus.openshift.rbac.cluster-role-bindings."cluster-role-bindings".labels."label-name"

要添加到 RoleBinding 资源的标签。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__LABELS__LABEL_NAME_

Map<String,String>

 

lock quarkus.openshift.rbac.cluster-role-bindings."cluster-role-bindings".role-name

由生成的 ClusterRoleBinding 资源中的 RoleRef 元素使用的 ClusterRole 资源的名称。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__ROLE_NAME

string

必需 exclamation circle

lock quarkus.openshift.rbac.cluster-role-bindings."cluster-role-bindings".subjects."subjects".name

由生成的 Role Binding 资源中的 Subject 元素使用的 "name" 资源。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS_NAME

string

 

lock quarkus.openshift.rbac.cluster-role-bindings."cluster-role-bindings".subjects."subjects".kind

由生成的 Role Binding 资源中的 Subject 元素使用的 "kind" 资源。默认情况下,它使用 "ServiceAccount" 类型。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

string

ServiceAccount

lock quarkus.openshift.rbac.cluster-role-bindings."cluster-role-bindings".subjects."subjects".api-group

与 "kind" 属性匹配的 "apiGroup" 资源。默认情况下,它将为空。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

string

 

lock quarkus.openshift.rbac.cluster-role-bindings."cluster-role-bindings".subjects."subjects".namespace

由生成的 Role Binding 资源中的 Subject 元素使用的 "namespace" 资源。默认情况下,它将使用与生成的资源中提供的相同。

环境变量: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

string

 

lock quarkus.openshift.security-context.se-linux-options.level

应用到容器的 SELinux 级别标签。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_LEVEL

string

 

lock quarkus.openshift.security-context.se-linux-options.role

应用到容器的 SELinux 角色标签。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_ROLE

string

 

lock quarkus.openshift.security-context.se-linux-options.type

应用到容器的 SELinux 类型标签。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_TYPE

string

 

lock quarkus.openshift.security-context.se-linux-options.user

应用到容器的 SELinux 用户标签。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_USER

string

 

lock quarkus.openshift.security-context.windows-options.gmsa-credential-spec-name

要使用的 GMSA 凭证规格的名称。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC_NAME

string

 

lock quarkus.openshift.security-context.windows-options.gmsa-credential-spec

GMSACredentialSpec 是 GMSA 准入 Webhook (windows-gsma)内联由 GMSACredentialSpecName 标识的 GMSA 凭证规格的内容。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC

string

 

lock quarkus.openshift.security-context.windows-options.run-as-user-name

Windows 中的 UserName,以运行容器进程的入口点。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_RUN_AS_USER_NAME

string

 

lock quarkus.openshift.security-context.windows-options.host-process

HostProcess 确定容器是否应作为"主机进程"容器运行。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_HOST_PROCESS

布尔值

 

lock quarkus.openshift.security-context.run-as-user

用于运行容器进程的入口点的 UID。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_RUN_AS_USER

long

 

lock quarkus.openshift.security-context.run-as-group

用于运行容器进程的入口点的 GID。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_RUN_AS_GROUP

long

 

lock quarkus.openshift.security-context.run-as-non-root

表示容器必须以非 root 用户身份运行。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_RUN_AS_NON_ROOT

布尔值

 

lock quarkus.openshift.security-context.supplemental-groups

除了容器的主 GID 外,还应用于每个进程的第一个进程的组列表。如果未指定,则不会将任何组添加到任何容器中。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SUPPLEMENTAL_GROUPS

长列表

 

lock quarkus.openshift.security-context.fs-group

适用于 pod 中所有容器的特殊补充组。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_FS_GROUP

long

 

lock quarkus.openshift.security-context.sysctls."sysctl-name"

sysctl 包含用于 pod 的命名空间 sysctl 列表。

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SYSCTLS__SYSCTL_NAME_

Map<String,String>

 

lock quarkus.openshift.security-context.fs-group-change-policy

它包含在挂载卷时将 fsGroup 应用到卷的策略。值 :OnRootMismatch, Always

环境变量: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_FS_GROUP_CHANGE_POLICY

on-root-mismatch :它表示,只有根目录的权限和所有权与卷中预期权限不匹配时,才会更改卷的所有权和权限。

Always :它表示在 Pod 中挂载卷时,应该始终更改卷的所有权和权限。这个默认行为。

 

lock quarkus.openshift.idempotent

用于控制是否生成的 kubernetes 资源中是否包含非idempotent 字段,以提高 git-ops 兼容性。

环境变量: QUARKUS_OPENSHIFT_IDEMPOTENT

布尔值

false

lock quarkus.openshift.vcs-uri.enabled

vcs-uri 注解是否应添加到生成的配置中。

环境变量: QUARKUS_OPENSHIFT_VCS_URI_ENABLED

布尔值

true

lock quarkus.openshift.vcs-uri.override

vcs-uri 注解的可选覆盖。

环境变量: QUARKUS_OPENSHIFT_VCS_URI_OVERRIDE

string

 

lock quarkus.openshift.flavor

要使用的 OpenShift 类别/版本。旧版本 OpenShift 在它们支持的标签和字段中具有细微差别。此选项允许用户让其清单自动与所使用的 OpenShift"flavor"保持一致。

环境变量: QUARKUS_OPENSHIFT_FLAVOR

v3, v4

v4

lock quarkus.openshift.deployment-kind

要使用的部署资源的种类。支持的值有 'Deployment', 'StatefulSet', 'Job', 'CronJob' 和 'DeploymentConfig'。如果 类别 == v3,则默认为 'DeploymentConfig',否则默认为 'Deployment'。从 OpenShift 4.14 开始,DeploymentConfig 已被弃用。详情请查看 https://access.redhat.com/articles/7041372

环境变量: QUARKUS_OPENSHIFT_DEPLOYMENT_KIND

Deployment , deployment -config,stateful-set,job,cron-job,knative-service

 

lock quarkus.openshift.replicas

所需的 pod 数量

环境变量: QUARKUS_OPENSHIFT_REPLICAS

int

1

lock quarkus.openshift.node-port

当 serviceType 设置为 nodePort 时,要设置的 nodePort

环境变量: QUARKUS_OPENSHIFT_NODE_PORT

int

 

lock quarkus.openshift.route.expose

如果为 true,则会公开该服务

环境变量: QUARKUS_OPENSHIFT_ROUTE_EXPOSE

布尔值

false

lock quarkus.openshift.route.host

要公开应用程序的主机

环境变量: QUARKUS_OPENSHIFT_ROUTE_HOST

string

 

lock quarkus.openshift.route.target-port

名为 port 的目标。如果没有提供,它将从 Service 资源端口中分离。选项为:"http"和"https"。

环境变量: QUARKUS_OPENSHIFT_ROUTE_TARGET_PORT

string

http

lock quarkus.openshift.route.annotations."annotation-name"

要添加到组成(路由或入口)资源的自定义注解

环境变量: QUARKUS_OPENSHIFT_ROUTE_ANNOTATIONS__ANNOTATION_NAME_

Map<String,String>

 

lock quarkus.openshift.route.labels."label-name"

要添加到组成(路由或入口)资源的自定义标签

环境变量: QUARKUS_OPENSHIFT_ROUTE_LABELS__LABEL_NAME_

Map<String,String>

 

lock quarkus.openshift.route.tls.ca-certificate

证书颁发机构证书内容。

环境变量: QUARKUS_OPENSHIFT_ROUTE_TLS_CA_CERTIFICATE

string

 

lock quarkus.openshift.route.tls.certificate

证书内容。

环境变量: QUARKUS_OPENSHIFT_ROUTE_TLS_CERTIFICATE

string

 

lock quarkus.openshift.route.tls.destination-ca-certificate

最终目的地的 ca 证书的内容。

环境变量: QUARKUS_OPENSHIFT_ROUTE_TLS_DESTINATION_CA_CERTIFICATE

string

 

lock quarkus.openshift.route.tls.insecure-edge-termination-policy

到路由不安全连接所需的行为。

环境变量: QUARKUS_OPENSHIFT_ROUTE_TLS_INSECURE_EDGE_TERMINATION_POLICY

string

 

lock quarkus.openshift.route.tls.key

密钥文件内容。

环境变量: QUARKUS_OPENSHIFT_ROUTE_TLS_KEY

string

 

lock quarkus.openshift.route.tls.termination

终止类型。

环境变量: QUARKUS_OPENSHIFT_ROUTE_TLS_TERMINATION

string

 

lock quarkus.openshift.job.parallelism

指定作业应在任意给定时间运行的最大 pod 数量。

环境变量: QUARKUS_OPENSHIFT_JOB_PARALLELISM

int

 

lock quarkus.openshift.job.completions

指定作业应该运行成功完成的 pod 数量。

环境变量: QUARKUS_OPENSHIFT_JOB_COMPLETIONS

int

 

lock quarkus.openshift.job.completion-mode

CompletionMode 指定如何跟踪 Pod 完成。

环境变量: QUARKUS_OPENSHIFT_JOB_COMPLETION_MODE

非索引的索引

non-indexed

lock quarkus.openshift.job.backoff-limit

指定在标记此作业失败前重试次数。

环境变量: QUARKUS_OPENSHIFT_JOB_BACKOFF_LIMIT

int

 

lock quarkus.openshift.job.active-deadline-seconds

指定与 startTime 相关的持续时间(以秒为单位),作业可能会在系统尝试终止它前持续激活;值必须是正整数。

环境变量: QUARKUS_OPENSHIFT_JOB_ACTIVE_DEADLINE_SECONDS

long

 

lock quarkus.openshift.job.ttl-seconds-after-finished

限制已完成执行的作业的生命周期( Complete 或 Failed)。如果设置了此字段,ttlSecondsAfterFinished 在作业完成后,它可以被自动删除。

环境变量: QUARKUS_OPENSHIFT_JOB_TTL_SECONDS_AFTER_FINISHED

int

 

lock quarkus.openshift.job.suspend

suspend 指定作业控制器是否应该创建 Pod。

环境变量: QUARKUS_OPENSHIFT_JOB_SUSPEND

布尔值

false

lock quarkus.openshift.job.restart-policy

作业容器失败时重启策略。

环境变量: QUARKUS_OPENSHIFT_JOB_RESTART_POLICY

On-failure,never

on-failure

lock quarkus.openshift.cron-job.schedule

Cron 格式的调度,请参阅 Cron

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_SCHEDULE

string

 

lock quarkus.openshift.cron-job.time-zone

作业调度的时区。默认值为 kube-controller-manager 的本地时间。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_TIME_ZONE

string

 

lock quarkus.openshift.cron-job.concurrency-policy

concurrencyPolicy 描述了处理作业的方式。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_CONCURRENCY_POLICY

Allow,forbid,替换

allow

lock quarkus.openshift.cron-job.starting-deadline-seconds

如果因任何原因而错过了计划时间,则启动作业的截止时间(以秒为单位)。错过的作业执行计为失败的作业。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_STARTING_DEADLINE_SECONDS

long

 

lock quarkus.openshift.cron-job.failed-jobs-history-limit

要保留的失败完成作业数量。默认值为 1。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_FAILED_JOBS_HISTORY_LIMIT

int

 

lock quarkus.openshift.cron-job.successful-jobs-history-limit

要保留的成功完成作业数量。默认值为 3。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_SUCCESSFUL_JOBS_HISTORY_LIMIT

int

 

lock quarkus.openshift.cron-job.parallelism

指定作业应在任意给定时间运行的最大 pod 数量。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_PARALLELISM

int

 

lock quarkus.openshift.cron-job.completions

指定作业应该运行成功完成的 pod 数量。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_COMPLETIONS

int

 

lock quarkus.openshift.cron-job.completion-mode

CompletionMode 指定如何跟踪 Pod 完成。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_COMPLETION_MODE

非索引的索引

non-indexed

lock quarkus.openshift.cron-job.backoff-limit

指定在标记此作业失败前重试次数。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_BACKOFF_LIMIT

int

 

lock quarkus.openshift.cron-job.active-deadline-seconds

指定与 startTime 相关的持续时间(以秒为单位),作业可能会在系统尝试终止它前持续激活;值必须是正整数。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_ACTIVE_DEADLINE_SECONDS

long

 

lock quarkus.openshift.cron-job.ttl-seconds-after-finished

限制已完成执行的作业的生命周期( Complete 或 Failed)。如果设置了此字段,ttlSecondsAfterFinished 在作业完成后,它可以被自动删除。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_TTL_SECONDS_AFTER_FINISHED

int

 

lock quarkus.openshift.cron-job.suspend

suspend 指定作业控制器是否应该创建 Pod。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_SUSPEND

布尔值

false

lock quarkus.openshift.cron-job.restart-policy

作业容器失败时重启策略。

环境变量: QUARKUS_OPENSHIFT_CRON_JOB_RESTART_POLICY

On-failure,never

on-failure

lock quarkus.openshift.remote-debug.enabled

如果为 true,则会启用 pod 中的 debug 模式。

环境变量: QUARKUS_OPENSHIFT_REMOTE_DEBUG_ENABLED

布尔值

false

lock quarkus.openshift.remote-debug.transport

要使用的传输。

环境变量: QUARKUS_OPENSHIFT_REMOTE_DEBUG_TRANSPORT

string

dt_socket

lock quarkus.openshift.remote-debug.suspend

如果启用,则表示 JVM 将在执行 main 类之前等待调试器连接。如果为 false,则 JVM 将立即执行主类,同时侦听调试器连接。

环境变量: QUARKUS_OPENSHIFT_REMOTE_DEBUG_SUSPEND

string

n

lock quarkus.openshift.remote-debug.address-port

它指定调试套接字要侦听的地址。

环境变量: QUARKUS_OPENSHIFT_REMOTE_DEBUG_ADDRESS_PORT

int

5005

lock quarkus.openshift.init-tasks."task-name".enabled

如果为 true,则会生成 init 任务。否则,将跳过 init 任务资源生成。

环境变量: QUARKUS_OPENSHIFT_INIT_TASKS__TASK_NAME__ENABLED

布尔值

true

lock quarkus.openshift.init-tasks."task-name".wait-for-container.image

init 容器使用的 init 任务镜像。

环境变量: QUARKUS_OPENSHIFT_INIT_TASKS__TASK_NAME__WAIT_FOR_CONTAINER_IMAGE

string

groundnuty/k8s-wait-for:no-root-v1.7

lock quarkus.openshift.init-tasks."task-name".wait-for-container.image-pull-policy

镜像拉取(pull)策略。

环境变量: QUARKUS_OPENSHIFT_INIT_TASKS__TASK_NAME__WAIT_FOR_CONTAINER_IMAGE_PULL_POLICY

始终为,if-not-present,never

always

lock quarkus.openshift.init-task-defaults.enabled

如果为 true,则会生成 init 任务。否则,将跳过 init 任务资源生成。

环境变量: QUARKUS_OPENSHIFT_INIT_TASK_DEFAULTS_ENABLED

布尔值

true

lock quarkus.openshift.init-task-defaults.wait-for-container.image

init 容器使用的 init 任务镜像。

环境变量: QUARKUS_OPENSHIFT_INIT_TASK_DEFAULTS_WAIT_FOR_CONTAINER_IMAGE

string

groundnuty/k8s-wait-for:no-root-v1.7

lock quarkus.openshift.init-task-defaults.wait-for-container.image-pull-policy

镜像拉取(pull)策略。

环境变量: QUARKUS_OPENSHIFT_INIT_TASK_DEFAULTS_WAIT_FOR_CONTAINER_IMAGE_PULL_POLICY

始终为,if-not-present,never

always

lock quarkus.openshift.deploy

如果设置为 true,Quarkus 会尝试将应用程序部署到目标 Kubernetes 集群

环境变量: QUARKUS_OPENSHIFT_DEPLOY

布尔值

false

lock quarkus.openshift.deploy-strategy

如果启用了部署,它将遵循此策略将资源更新至目标 Kubernetes 集群。

环境变量: QUARKUS_OPENSHIFT_DEPLOY_STRATEGY

create-or-update,create,替换,server-side-apply

create-or-update

关于 Duration 格式

要写入持续时间值,请使用标准 java.time.Duration 格式。如需更多信息,请参阅 Duration#parse ()Java API 文档

您还可以使用简化的格式,从数字开始:

  • 如果值只是一个数字,它代表时间(以秒为单位)。
  • 如果值为数字,后跟 ms,代表时间(毫秒)。

在其他情况下,简化的格式被转换为 java.time.Duration 格式以进行解析:

  • 如果该值是一个数字,后跟 hms,则前缀为 PT
  • 如果值为数字,后跟 d,则会以 P 为前缀。

作为应用程序开发人员,您可以在一个步骤中构建红帽构建的 Quarkus 应用程序并将其部署到 OpenShift Container Platform。完成以下任一命令:

  • 使用 Quarkus CLI:

    quarkus build quarkus deploy openshift
    Copy to Clipboard Toggle word wrap
  • 使用 Maven:

    ./mvnw install -Dquarkus.openshift.deploy=true
    Copy to Clipboard Toggle word wrap
  • 使用 Gradle:

    ./gradlew build -Dquarkus.openshift.deploy=true
    Copy to Clipboard Toggle word wrap

通过这些命令,您可以在本地构建应用程序,触发容器镜像构建,并自动应用生成的 OpenShift Container Platform 资源。

生成的资源使用 Kubernetes 部署,但仍利用特定于 OpenShift 的资源,如 RouteBuildConfig 等。

2.1. 先决条件

  • 已安装 OpenJDK 17 或更高版本。
  • 您已将 JAVA_HOME 环境变量设置为 Java SDK 的位置。
  • 您可以访问 OpenShift Container Platform 集群以及安装了 oc CLI 工具的最新兼容版本。
  • 您在正确的 OpenShift 项目命名空间中工作。
注意

要运行此部署,不需要在 Red Hat build of Quarkus 项目中包含 quarkus-openshift 扩展。

2.2. 流程

  1. 在单个步骤中触发构建和部署:
  • 使用 Quarkus CLI:

    quarkus build quarkus deploy openshift
    Copy to Clipboard Toggle word wrap
  • 使用 Maven:

    ./mvnw install -Dquarkus.openshift.deploy=true
    Copy to Clipboard Toggle word wrap
  • 使用 Gradle:

    ./gradlew build -Dquarkus.openshift.deploy=true
    Copy to Clipboard Toggle word wrap
提示

如果要立即测试应用程序,请将 quarkus.openshift.route.expose 配置属性设置为 true 以自动公开服务。

例如,在上述命令中 add -Dquarkus.openshift.route.expose=true。如需更多信息,请参阅公开路由

注意

从 OpenShift Container Platform 4.14 开始,DeploymentConfig 对象已弃用。Deployment 现在是 quarkus-openshift 扩展的默认和首选部署类型。

由于这个变化,请考虑以下几点:

  • 如果您使用 DeploymentConfig 重新部署之前部署的应用程序,则这些应用将使用 Deployment,但不会删除之前的 DeploymentConfig。这会导致部署新的和旧的应用程序,因此您必须手动删除旧的 DeploymentConfig。如果要继续使用 DeploymentConfig,仍可通过将 quarkus.openshift.deployment-kind 明确设置为 DeploymentConfig 来完成此操作。
  • 部署 是一个 Kubernetes 资源,而不是 OpenShift 特定的资源,因此它无法利用 ImageStream 资源,就像 DeploymentConfig 一样。因此,镜像引用必须包含托管镜像的容器镜像 registry。

有关弃用的更多信息,如何设置和使用自动回滚、触发器、生命周期 hook 和自定义策略,请参阅红帽知识库文章 DeploymentConfig API 在 Red Hat OpenShift Container Platform 4.14 中已被弃用

2.3. 验证

  1. 验证镜像流和服务资源是否已创建,并使用 OpenShift Container Platform Web 控制台部署应用程序。

    quarkus.container-image.group=<project/namespace name>
    Copy to Clipboard Toggle word wrap

    或者,运行以下 OpenShift Container Platform 命令行界面(CLI)命令:

    oc get is 
    1
    
    oc get pods 
    2
    
    oc get svc 
    3
    Copy to Clipboard Toggle word wrap
    1
    列出创建的镜像流。
    2
    列出与当前 OpenShift 项目关联的 pod。
    3
    列出 Kubernetes 服务。
  2. 要获取应用程序的 pod 的日志输出,请输入以下命令:

    oc logs -f <pod_name>
    Copy to Clipboard Toggle word wrap

    默认情况下,该服务不会公开给外部世界。因此,如果您在构建应用程序前设置 quarkus.openshift.route.expose=true 属性来自动公开创建的服务,您可以手动公开服务。

    oc expose svc/openshift-quickstart 
    1
    
    oc get routes 
    2
    
    curl http://<route>/hello 
    3
    Copy to Clipboard Toggle word wrap
    1
    公开服务。
    2
    获取公开路由列表。
    3
    访问您的应用程序。

2.4. 参考

作为应用程序开发人员,您可以使用 Docker 构建策略作为部署选项将应用程序部署到 OpenShift Container Platform。

此 stategy 在 OpenShift Container Platform 集群内部或 CI 环境中构建工件,并将其提供给 OpenShift Container Platform 构建系统以及 Dockerfile。工件包括 JAR 文件或原生可执行文件。OpenShift Container Platform 集群构建容器,并将其作为镜像流提供。

此功能由 quarkus-openshift 扩展提供。如果要使用自定义 Dockerfile,请将该文件添加到 src/main/docker 目录或模块内的任何位置。另外,使用 quarkus.openshift.jvm-dockerfile 属性来设置 Dockerfile 的路径。

3.1. 先决条件

  • 已安装 OpenJDK 17 或 21。
  • 您已将 JAVA_HOME 环境变量设置为 Java SDK 的位置。
  • 已安装 Apache Maven 3.8.6 或更高版本。
  • 您有一个包含 quarkus-openshift 扩展的 Quarkus 项目。
  • 您可以访问 OpenShift Container Platform 集群,以及安装 oc CLI 工具的最新兼容版本。
  • 您在正确的 OpenShift 项目命名空间中工作。

3.2. 流程

  1. application.properties 配置文件中设置 Docker 构建策略:

    quarkus.openshift.build-strategy=docker
    Copy to Clipboard Toggle word wrap
  2. 可选:根据您的环境在 application.properties 文件中设置以下属性:

    • 如果您使用不受信任的证书,请为 KubernetesClient 启用证书信任:

      quarkus.kubernetes-client.trust-certs=true
      Copy to Clipboard Toggle word wrap
    • 要公开服务并创建 OpenShift Container Platform 路由,请设置以下属性:

      quarkus.openshift.route.expose=true
      Copy to Clipboard Toggle word wrap
    • 要使用自定义 Dockerfile 而不是预生成的 Dockerfile,请将路径设置为 Dockerfile:

      quarkus.openshift.jvm-dockerfile=<path_to_your_dockerfile>
      Copy to Clipboard Toggle word wrap

      例如,指定名为 Dockerfile.custom-jvm 的自定义 Dockerfile:

      quarkus.openshift.jvm-dockerfile=src/main/resources/Dockerfile.custom-jvm
      Copy to Clipboard Toggle word wrap
  3. 将应用程序打包并部署到当前的 OpenShift Container Platform 项目中:

    ./mvnw clean package -Dquarkus.openshift.deploy=true
    Copy to Clipboard Toggle word wrap

3.3. 验证

以下验证步骤使用 openshift-helloworld 示例应用程序。

  1. 显示与当前 OpenShift 项目关联的 pod 列表:

    oc get pods
    Copy to Clipboard Toggle word wrap
    NAME                            READY   STATUS      RESTARTS   AGE
    openshift-helloworld-1-build    0/1     Completed   0          11m
    openshift-helloworld-1-deploy   0/1     Completed   0          10m
    openshift-helloworld-1-gzzrx    1/1     Running     0          10m
    Copy to Clipboard Toggle word wrap
  2. 要获取应用程序的 pod 的日志输出,请使用 oc logs -f 命令及其名称。以下示例使用 openshift-helloworld-1-gzzrx pod 名称,它与以应用程序名称作为前缀的最新 pod 对应:

    oc logs -f openshift-helloworld-1-gzzrx
    Copy to Clipboard Toggle word wrap
    Starting the Java application using /opt/jboss/container/java/run/run-java.sh ...
    INFO exec -a "java" java -Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager -XX:MaxRAMPercentage=50.0 -XX:+UseParallelGC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:+ExitOnOutOfMemoryError -cp "." -jar /deployments/quarkus-run.jar
    __  ____  __  _____   ___  __ ____  ______
    --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
    -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
    --\___\_\____/_/ |_/_/|_/_/|_|\____/___/
    2024-09-17 10:23:25,254 INFO  [io.quarkus] (main) getting-started 1.0.0-SNAPSHOT on JVM (powered by Quarkus 3.20.0.redhat-00002) started in 0.653s. Listening on: http://0.0.0.0:8080
    2024-09-17 10:23:25,281 INFO  [io.quarkus] (main) Profile prod activated.
    2024-09-17 10:23:25,281 INFO  [io.quarkus] (main) Installed features: [cdi, kubernetes, rest, smallrye-context-propagation, vertx]
    Copy to Clipboard Toggle word wrap
  3. 获取服务列表:

    oc get svc
    Copy to Clipboard Toggle word wrap
    NAME                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                               AGE
    openshift-helloworld   ClusterIP   172.30.64.57     <none>        80/TCP                                14m
    Copy to Clipboard Toggle word wrap
  4. 获取用于测试应用的 URL。为此,请在构建应用程序前设置 application.properties 文件中的 quarkus.openshift.route.expose=true 属性来确保您已公开 OpenShift Container Platform 路由。

    oc get routes
    Copy to Clipboard Toggle word wrap
    NAME                   HOST/PORT                                                                   PATH   SERVICES               PORT   TERMINATION   WILDCARD
    openshift-helloworld   openshift-helloworld-username-dev.apps.sandbox-m2.ll9k.p1.openshiftapps.com          openshift-helloworld   http                 None
    Copy to Clipboard Toggle word wrap
    注意

    请注意,路由现在侦听端口 80,不再在端口 8080 上。

    您可以使用 curloc get routes 的完整 URL 输出(即 "\http://openshift-helloworld-username-dev.apps.sandbox-m2.ll9k.p1.openshiftapps.com")来测试本示例中演示的应用或终端。

    例如: curl http://openshift-helloworld-username-dev.apps.sandbox-m2.ll9k.p1.openshiftapps.com

3.4. 参考

您可以使用 Source-to-Image (S2I)方法将红帽构建的 Quarkus 应用程序部署到 Red Hat OpenShift Container Platform。使用 S2I 时,您必须通过 Git 存储库向构建容器提供源代码,或者在构建时上传源代码。

部署过程会根据红帽构建的 Quarkus 应用程序使用的 Java 版本而有所不同。

您可以使用 S2I 方法将运行 Java 17 的 Red Hat build of Quarkus 应用程序部署到 OpenShift Container Platform。

4.1.1. 先决条件

  • 您有一个使用 Java 17 构建的 Quarkus 应用程序。
  • 可选: 您有一个 Quarkus 项目,其中包含 quarkus-openshift 扩展。
  • 您在正确的 OpenShift 项目命名空间中工作。
  • 您的项目托管在 Git 存储库中。

4.1.2. 流程

  1. 打开 pom.xml 文件,并将 Java 版本设置为 17:

    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    Copy to Clipboard Toggle word wrap
  2. 输入以下命令打包您的 Java 17 应用程序:

    ./mvnw clean package
    Copy to Clipboard Toggle word wrap
  3. 在与 pom.xml 文件相同的级别上创建名为 .s2i 的目录。
  4. .s2i 目录中创建一个名为 environment 的文件并添加以下内容:

    MAVEN_S2I_ARTIFACT_DIRS=target/quarkus-app
    S2I_SOURCE_DEPLOYMENTS_FILTER=app lib quarkus quarkus-run.jar
    JAVA_OPTIONS=-Dquarkus.http.host=0.0.0.0
    AB_JOLOKIA_OFF=true
    JAVA_APP_JAR=/deployments/quarkus-run.jar
    Copy to Clipboard Toggle word wrap
  5. 提交您的更改并推送到远程 Git 存储库。
  6. 输入以下命令导入支持的 OpenShift Container Platform 镜像:

    oc import-image ubi9/openjdk-17 --from=registry.access.redhat.com/ubi9/openjdk-17 --confirm
    Copy to Clipboard Toggle word wrap
    注意
    • 如果使用 OpenShift 镜像 registry 并从同一项目中的镜像流拉取,则您的 Pod 服务帐户必须已具有正确的权限。
    • 如果您要在其他 OpenShift Container Platform 项目或安全 registry 中拉取镜像,则可能需要额外的配置步骤。

    如需更多信息,请参阅 Red Hat Openshift Container Platform 文档。

  7. 构建项目、创建应用程序并部署 OpenShift Container Platform 服务:

    oc new-app registry.access.redhat.com/ubi9/openjdk-17~<git_path> --name=<project_name>
    Copy to Clipboard Toggle word wrap
    • 使用托管 Quarkus 项目的 Git 存储库路径替换 。例如,oc new-app registry.access.redhat.com/ubi9/openjdk-17~https://github.com/johndoe/code-with-quarkus.git --name=code-with-quarkus

      如果您没有为 Git 存储库配置 SSH 密钥,在指定 Git 路径时,请使用 HTTPS URL 而不是 SSH URL。

    • <project_name > 替换为应用程序的名称。
  8. 要部署项目的更新版本,请将更改推送到 Git 存储库,然后运行:

    oc start-build <project_name>
    Copy to Clipboard Toggle word wrap
  9. 要为应用程序公开路由,请运行以下命令:

    oc expose svc <project_name>
    Copy to Clipboard Toggle word wrap

4.1.3. 验证

  1. 列出与当前 OpenShift Container Platform 项目关联的 pod:

    oc get pods
    Copy to Clipboard Toggle word wrap
  2. 要获取应用程序的 pod 的日志输出,请运行以下命令,将 < pod_name& gt; 替换为应用程序名称前缀的最新 pod 的名称:

    oc logs -f <pod_name>
    Copy to Clipboard Toggle word wrap

您可以使用 S2I 方法部署运行 Java 21 到 OpenShift Container Platform 的红帽构建的 Quarkus 应用程序。

4.2.1. 先决条件

  • 可选: 您有一个 Quarkus Maven 项目,其中包含 quarkus-openshift 扩展。
  • 您在正确的 OpenShift Container Platform 项目命名空间中工作。
  • 您的项目托管在 Git 存储库中。

4.2.2. 流程

  1. 打开 pom.xml 文件,并将 Java 版本设置为 21:

    <maven.compiler.source>21</maven.compiler.source>
    <maven.compiler.target>21</maven.compiler.target>
    Copy to Clipboard Toggle word wrap
  2. 输入以下命令打包您的 Java 21 应用程序:

    ./mvnw clean package
    Copy to Clipboard Toggle word wrap
  3. 在与 pom.xml 文件相同的级别上创建名为 .s2i 的目录。
  4. .s2i 目录中创建一个名为 environment 的文件并添加以下内容:

    MAVEN_S2I_ARTIFACT_DIRS=target/quarkus-app
    S2I_SOURCE_DEPLOYMENTS_FILTER=app lib quarkus quarkus-run.jar
    JAVA_OPTIONS=-Dquarkus.http.host=0.0.0.0
    AB_JOLOKIA_OFF=true
    JAVA_APP_JAR=/deployments/quarkus-run.jar
    Copy to Clipboard Toggle word wrap
  5. 提交您的更改并推送到远程 Git 存储库。
  6. 输入以下命令导入支持的 OpenShift Container Platform 镜像:

    oc import-image ubi9/openjdk-21 --from=registry.access.redhat.com/ubi9/openjdk-21 --confirm
    Copy to Clipboard Toggle word wrap
    注意
    • 如果使用 OpenShift 镜像 registry 并从同一项目中的镜像流拉取,则您的 Pod 服务帐户必须已具有正确的权限。
    • 如果您要在其他 OpenShift Container Platform 项目或安全 registry 中拉取镜像,则可能需要额外的配置步骤。如需更多信息,请参阅 Red Hat Openshift Container Platform 文档。
    • 如果要在 IBM Z 基础架构上部署,请输入 oc import-image ubi9/openjdk-21 --from=registry.redhat.io/ubi9/openjdk-21 --confirm。有关此镜像的详情,请查看 Red Hat build of OpenJDK 21
  7. 构建项目、创建应用程序并部署 OpenShift Container Platform 服务:

    oc new-app registry.access.redhat.com/ubi8/openjdk-21~<git_path> --name=<project_name>
    Copy to Clipboard Toggle word wrap
    • 使用托管 Quarkus 项目的 Git 存储库路径替换 。例如,oc new-app registry.access.redhat.com/ubi9/openjdk-21~https://github.com/johndoe/code-with-quarkus.git --name=code-with-quarkus

      如果您没有为 Git 存储库配置 SSH 密钥,在指定 Git 路径时,请使用 HTTPS URL 而不是 SSH URL。

    • <project_name > 替换为应用程序的名称。

      注意

      如果要在 IBM Z 基础架构上部署,请输入 oc new-app ubi9/openjdk-21~ --name=<project_name&gt;。

  8. 要部署项目的更新版本,请将更改推送到 Git 存储库,然后运行:

    oc start-build <project_name>
    Copy to Clipboard Toggle word wrap
  9. 要为应用程序公开路由,请运行以下命令:

    oc expose svc <project_name>
    Copy to Clipboard Toggle word wrap

4.2.3. 验证

  1. 列出与当前 OpenShift Container Platform 项目关联的 pod:

    oc get pods
    Copy to Clipboard Toggle word wrap
  2. 要获取应用程序的 pod 的日志输出,请运行以下命令,将 < pod_name& gt; 替换为应用程序名称前缀的最新 pod 的名称:

    oc logs -f <pod_name>
    Copy to Clipboard Toggle word wrap

4.3. 参考

您可以使用 Docker 构建策略将 Quarkus 应用程序的原生红帽构建部署到编译到原生可执行文件的 OpenShift Container Platform。

您必须为应用程序创建一个原生的可执行文件,该应用程序以受支持的操作系统为目标,并与架构匹配。这意味着,如果您要在 Windows 上构建,您可以使用容器运行时(如 Docker 或 Podman)创建一个原生 Linux 可执行文件。

您的 Quarkus 项目包括预生成的 Dockerfile 及说明。如果要使用自定义 Dockerfile,请将该文件添加到 src/main/docker 目录或模块内的任何位置。另外,如果您想要有多个 Docker 文件并在它们之间进行切换,请使用 quarkus.openshift.native-dockerfile 属性设置到首选 Dockerfile 的路径。

注意

本指南通过将 Quarkus 项目与 Maven 用作示例项目来描述此策略。

5.1. 先决条件

  • 支持的操作系统或开放容器项目(OCI)兼容容器运行时,如 Podman 或 Docker。
  • 您有一个包含 quarkus-openshift 扩展的 Quarkus Maven 项目。
  • 您可以访问 OpenShift Container Platform 集群以及安装了 oc CLI 工具的最新兼容版本。
  • 您在正确的 OpenShift 项目命名空间中工作。

5.2. 流程

  1. application.properties 配置文件中设置 Docker 构建策略:

    quarkus.openshift.build-strategy=docker
    Copy to Clipboard Toggle word wrap
  2. 启用基于容器的原生构建:

    quarkus.native.container-build=true
    Copy to Clipboard Toggle word wrap
  3. 可选:根据您的环境在 application.properties 文件中设置以下属性:

    • 如果您使用不受信任的证书,请为 KubernetesClient 启用证书信任:

      quarkus.kubernetes-client.trust-certs=true
      Copy to Clipboard Toggle word wrap
    • 要公开服务并创建 OpenShift Container Platform 路由,请设置以下属性:

      quarkus.openshift.route.expose=true
      Copy to Clipboard Toggle word wrap
    • 要使用自定义 Dockerfile 而不是预生成的 Dockerfile,请设置自定义 Dockerfile 的路径:

      quarkus.openshift.native-dockerfile=<path_to_your_dockerfile>
      Copy to Clipboard Toggle word wrap

      例如,指定名为 Dockerfile.custom-native 的自定义 Dockerfile:

      quarkus.openshift.native-dockerfile=src/main/docker/Dockerfile.custom-native
      Copy to Clipboard Toggle word wrap
    • 指定容器引擎:

      • 使用 Podman 构建原生可执行文件:

        quarkus.native.container-runtime=podman
        Copy to Clipboard Toggle word wrap
      • 使用 Docker 构建原生可执行文件:

        quarkus.native.container-runtime=docker
        Copy to Clipboard Toggle word wrap
  4. 最后,构建原生可执行文件、软件包,并将您的应用程序部署到 OpenShift Container Platform:

    ./mvnw clean package -Pnative -Dquarkus.openshift.deploy=true
    Copy to Clipboard Toggle word wrap

5.3. 验证

  1. 验证镜像流和服务资源是否已创建,并且是否部署了应用。使用 OpenShift Container Platform Web 控制台或以下 OpenShift Container Platform 命令行界面(CLI)命令:

    oc get is 
    1
    
    oc get pods 
    2
    
    oc get svc 
    3
    Copy to Clipboard Toggle word wrap
    1
    列出创建的镜像流。
    2
    列出与当前 OpenShift 项目关联的 pod。
    3
    列出 Kubernetes 服务。
  1. 要获取应用程序的 pod 的日志输出,请运行以下命令,其中 < pod_name > 是带有应用程序名称作为前缀的最新 pod 的名称:

    oc logs -f <pod_name>
    Copy to Clipboard Toggle word wrap

5.4. 参考

法律通告

Copyright © 2025 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