编辑此页面

Kubernetes 扩展

Quarkus 能够使用 dekorate 根据合理的默认设置和用户提供的配置自动生成 Kubernetes 资源。它目前支持为原始 KubernetesOpenShiftKnative 生成资源。此外,Quarkus 可以通过将生成的清单应用到目标集群的 API 服务器来将应用程序部署到目标 Kubernetes 集群。最后,当存在任何一个容器镜像扩展时(有关更多详细信息,请参阅容器镜像指南),Quarkus 能够在将应用程序部署到目标平台之前创建容器镜像并将其推送到注册表。

先决条件

要完成本指南,您需要

  • 大约 15 分钟

  • 一个 IDE

  • 已安装 JDK 17+ 并正确配置了 JAVA_HOME

  • Apache Maven 3.9.9

  • 如果您想使用它,可以选择 Quarkus CLI

  • 访问 Kubernetes 集群(Minikube 是一个可行的选择)

Kubernetes

让我们创建一个包含 Kubernetes 和 Jib 扩展的新项目

CLI
quarkus create app org.acme:kubernetes-quickstart \
    --extension='rest,kubernetes,jib'
cd kubernetes-quickstart

要创建 Gradle 项目,请添加 --gradle--gradle-kotlin-dsl 选项。

有关如何安装和使用 Quarkus CLI 的更多信息,请参阅 Quarkus CLI 指南。

Maven
mvn io.quarkus.platform:quarkus-maven-plugin:3.24.4:create \
    -DprojectGroupId=org.acme \
    -DprojectArtifactId=kubernetes-quickstart \
    -Dextensions='rest,kubernetes,jib'
cd kubernetes-quickstart

要创建 Gradle 项目,请添加 -DbuildTool=gradle-DbuildTool=gradle-kotlin-dsl 选项。

对于 Windows 用户

  • 如果使用 cmd,(不要使用反斜杠 \ 并将所有内容放在同一行上)

  • 如果使用 Powershell,请将 -D 参数用双引号括起来,例如 "-DprojectArtifactId=kubernetes-quickstart"

这会将以下依赖项添加到构建文件中

pom.xml
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-rest</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-kubernetes</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-container-image-jib</artifactId>
</dependency>
build.gradle
implementation("io.quarkus:quarkus-rest")
implementation("io.quarkus:quarkus-kubernetes")
implementation("io.quarkus:quarkus-container-image-jib")

通过添加这些依赖项,我们可以在每次执行构建时启用 Kubernetes 清单的生成,同时还可以使用 Jib 启用容器镜像的构建。例如,在执行以下命令后

CLI
quarkus build
Maven
./mvnw install
Gradle
./gradlew build

您会注意到在创建的其他文件中,target/kubernetes/ 目录中有两个名为 kubernetes.jsonkubernetes.yml 的文件。

如果您查看任一文件,您会看到它包含 Kubernetes DeploymentService

kubernetes.json 文件的完整源代码如下所示

{
  {
    "apiVersion" : "apps/v1",
    "kind" : "Deployment",
    "metadata" : {
      "annotations": {
       "app.quarkus.io/vcs-uri" : "<some url>",
       "app.quarkus.io/commit-id" : "<some git SHA>",
      },
      "labels" : {
        "app.kubernetes.io/name" : "test-quarkus-app",
        "app.kubernetes.io/version" : "1.0.0-SNAPSHOT",
      },
      "name" : "test-quarkus-app"
    },
    "spec" : {
      "replicas" : 1,
      "selector" : {
        "matchLabels" : {
          "app.kubernetes.io/name" : "test-quarkus-app",
          "app.kubernetes.io/version" : "1.0.0-SNAPSHOT",
        }
      },
      "template" : {
        "metadata" : {
          "labels" : {
            "app.kubernetes.io/name" : "test-quarkus-app",
            "app.kubernetes.io/version" : "1.0.0-SNAPSHOT"
          }
        },
        "spec" : {
          "containers" : [ {
            "env" : [ {
              "name" : "KUBERNETES_NAMESPACE",
              "valueFrom" : {
                "fieldRef" : {
                  "fieldPath" : "metadata.namespace"
                }
              }
            } ],
            "image" : "yourDockerUsername/test-quarkus-app:1.0.0-SNAPSHOT",
            "imagePullPolicy" : "Always",
            "name" : "test-quarkus-app"
          } ]
        }
      }
    }
  },
  {
  "apiVersion" : "v1",
  "kind" : "Service",
    "metadata" : {
      "annotations": {
       "app.quarkus.io/vcs-uri" : "<some url>",
       "app.quarkus.io/commit-id" : "<some git SHA>",
      },
      "labels" : {
        "app.kubernetes.io/name" : "test-quarkus-app",
        "app.kubernetes.io/version" : "1.0.0-SNAPSHOT",
      },
      "name" : "test-quarkus-app"
    },
  "spec" : {
    "ports" : [ {
      "name" : "http",
      "port" : 8080,
      "targetPort" : 8080
    } ],
    "selector" : {
      "app.kubernetes.io/name" : "test-quarkus-app",
      "app.kubernetes.io/version" : "1.0.0-SNAPSHOT"
    },
    "type" : "ClusterIP"
  }
 }
}

可以使用 kubectl 从项目根目录将生成的清单应用到集群

kubectl apply -f target/kubernetes/kubernetes.json

关于 Deployment(或 StatefulSet)需要注意的重要一点是,它使用 yourDockerUsername/test-quarkus-app:1.0.0-SNAPSHOT 作为 Pod 的容器镜像。镜像的名称由 Jib 扩展控制,可以使用常用的 application.properties 进行自定义。

例如,使用如下配置

quarkus.container-image.group=quarkus #optional, default to the system username
quarkus.container-image.name=demo-app #optional, defaults to the application name
quarkus.container-image.tag=1.0       #optional, defaults to the application version

将在生成的清单中使用的镜像将是 quarkus/demo-app:1.0

生成幂等资源

在生成 Kubernetes 清单时,Quarkus 会自动添加一些标签和注解,以提供有关生成日期或版本的额外信息。例如

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    app.quarkus.io/commit-id: 0f8b87788bc446a9347a7961bea8a60889fe1494
    app.quarkus.io/build-timestamp: 2023-02-10 - 13:07:51 +0000
  labels:
    app.kubernetes.io/managed-by: quarkus
    app.kubernetes.io/version: 0.0.1-SNAPSHOT
    app.kubernetes.io/name: example
  name: example
spec:
  ...

app.quarkus.io/commit-idapp.quarkus.io/build-timestamp 标签和 app.kubernetes.io/version 注解可能会在我们每次重新构建 Kubernetes 清单时发生变化,这在我们想要使用 Git-Ops 工具部署这些资源时可能会出现问题(因为这些工具会检测到差异,因此会执行重新部署)。

为了使生成的资源对 Git-Ops 友好,并且仅生成幂等资源(每次构建源代码时不会更改的资源),我们需要添加以下属性

quarkus.kubernetes.idempotent=true

此外,默认情况下,生成资源的目录是 target/kubernetes,要更改它,我们需要使用

quarkus.kubernetes.output-directory=target/kubernetes-with-idempotent

请注意,属性 quarkus.kubernetes.output-directory 是相对于当前项目位置的。

更改生成的 deployment 资源

除了生成 Deployment 资源之外,您还可以通过 application.properties 选择生成 StatefulSetJobCronJob 资源

quarkus.kubernetes.deployment-kind=StatefulSet

生成 Job 资源

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

quarkus.kubernetes.deployment-kind=Job
如果使用 Picocli 扩展,默认情况下将生成 Job 资源。

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

最后,Kubernetes Job 将在每次安装到 Kubernetes 时启动。您可以在这个链接中了解更多关于如何运行 Kubernetes Job 的信息。

您可以使用 quarkus.kubernetes.job.xxx 下的属性配置 Kubernetes Job 配置的其余部分(请参阅链接)。

生成 CronJob 资源

如果要生成 CronJob 资源,您需要通过 application.properties 添加以下属性

quarkus.kubernetes.deployment-kind=CronJob
# Cron expression to run the job every hour
quarkus.kubernetes.cron-job.schedule=0 * * * *
CronJob 资源需要 Cron 表达式来指定何时通过属性 quarkus.kubernetes.cron-job.schedule 启动 Job。如果不提供,构建将失败。

您可以使用 quarkus.kubernetes.cron-job.xxx 下的属性配置 Kubernetes CronJob 配置的其余部分(请参阅链接)。

命名空间

默认情况下,Quarkus 会在生成的清单中省略命名空间,而不是强制使用 default 命名空间。这意味着在使用 kubectl 时,您可以将清单应用到您选择的命名空间,在下面的示例中为 test

kubectl apply -f target/kubernetes/kubernetes.json -n=test

要在清单中指定命名空间,请在 application.properties 中使用以下属性进行自定义

quarkus.kubernetes.namespace=mynamespace

定义 Docker 注册表

可以使用以下属性指定 Docker 注册表

quarkus.container-image.registry=my.docker-registry.net

通过添加此属性以及上一节的其余容器镜像属性,生成的清单将使用镜像 my.docker-registry.net/quarkus/demo-app:1.0。镜像不是生成的清单中唯一可以自定义的内容,正如以下各节中将要看到的那样。

自动生成拉取密钥

当使用 docker 注册表时,用户通常会提供凭据,以便在构建期间构建镜像并将其推送到指定的注册表。

quarkus.container-image.username=myusername
quarkus.container-image.password=mypassword

Kubernetes 在从注册表中拉取镜像时也需要这些凭据。这就是镜像拉取密钥的用途。镜像拉取密钥是一种特殊的密钥,其中包含所需的凭据。Quarkus 可以在以下情况下自动生成和配置

quarkus.kubernetes.generate-image-pull-secret=true

更具体地说,将生成如下所示的 Secret

apiVersion: v1
kind: Secret
metadata:
  name: test-quarkus-app-pull-secret
data:
  ".dockerconfigjson": ewogCSJhdXRocyI6IHsKCQkibXkucmVnaXN0eS5vcmciOiB7CiAJCQkiYXV0aCI6ImJYbDFjMlZ5Ym1GdFpUcHRlWEJoYzNOM2IzSmsiCgkJfQoJfQp9
type: kubernetes.io/dockerconfigjson

并且还将 test-quarkus-app-pull-secret 添加到 imagePullSecrets 列表中。

标签和注解

标签

生成的清单使用 Kubernetes 推荐标签。可以使用 quarkus.kubernetes.namequarkus.kubernetes.versionquarkus.kubernetes.part-of 自定义这些标签。例如,通过将以下配置添加到您的 application.properties

quarkus.kubernetes.part-of=todo-app
quarkus.kubernetes.name=todo-rest
quarkus.kubernetes.version=1.0-rc.1

正如在OpenShift部分中详细描述的那样,自定义 OpenShift(或 Knative)属性的方式相同,但要将 kubernetes 替换为 openshift(或 knative)。OpenShift 的上一个示例如下所示

quarkus.openshift.part-of=todo-app
quarkus.openshift.name=todo-rest
quarkus.openshift.version=1.0-rc.1

生成的资源中的标签将如下所示

  "labels" : {
    "app.kubernetes.io/part-of" : "todo-app",
    "app.kubernetes.io/name" : "todo-rest",
    "app.kubernetes.io/version" : "1.0-rc.1"
  }

您还可以通过应用以下配置来删除 app.kubernetes.io/version 标签

quarkus.kubernetes.add-version-to-label-selectors=false

自定义标签

要添加其他自定义标签,例如 foo=bar,只需应用以下配置

quarkus.kubernetes.labels.foo=bar
当使用 quarkus-container-image-jib 扩展构建容器镜像时,通过上述属性添加的任何标签也将添加到生成的容器镜像中。

注解

开箱即用,生成的资源将使用版本控制相关信息进行注解,这些信息可以由工具使用,也可以由用户用于故障排除目的。

  "annotations": {
    "app.quarkus.io/vcs-uri" : "<some url>",
    "app.quarkus.io/commit-id" : "<some git SHA>",
   }

自定义注解

可以以类似于标签的方式添加自定义注解。例如,要添加注解 foo=barapp.quarkus/id=42,只需应用以下配置

quarkus.kubernetes.annotations.foo=bar
quarkus.kubernetes.annotations."app.quarkus/id"=42

环境变量

Kubernetes 提供了多种定义环境变量的方法

  • 键/值对

  • 从 Secret 或 ConfigMap 导入所有值

  • 插入由 Secret 或 ConfigMap 中给定字段标识的单个值

  • 插入来自同一资源中字段的值

来自键/值对的环境变量

要将键/值对作为环境变量添加到生成的资源中

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

上面的命令会将 MY_ENV_VAR=foobar 添加为环境变量。请注意,键 my-env-var 将转换为大写,破折号将替换为下划线,从而生成 MY_ENV_VAR

来自 Secret 的环境变量

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

quarkus.kubernetes.env.secrets=my-secret,my-other-secret

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

envFrom:
  - secretRef:
      name: my-secret
      optional: false
  - secretRef:
      name: my-other-secret
      optional: false

以下内容从 my-secret Secret 中提取由 keyName 字段标识的值到 foo 环境变量中

quarkus.kubernetes.env.mapping.foo.from-secret=my-secret
quarkus.kubernetes.env.mapping.foo.with-key=keyName

这将在容器的 env 部分中生成以下内容

- env:
  - name: FOO
    valueFrom:
      secretKeyRef:
        key: keyName
        name: my-secret
        optional: false

也可以在从 Secret 生成 env 时添加前缀,以下配置使用键 foo 从 Secret 创建环境变量,并添加前缀 BAR

quarkus.kubernetes.env.secrets=foo
quarkus.kubernetes.env.using-prefix."BAR".for-secret=foo

这将在容器的 env 部分中生成以下内容

- env:
    envFrom:
    - secretRef:
        name: foo
      prefix: BAR

来自 ConfigMap 的环境变量

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

quarkus.kubernetes.env.configmaps=my-config-map,another-config-map

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

envFrom:
  - configMapRef:
      name: my-config-map
      optional: false
  - configMapRef:
      name: another-config-map
      optional: false

以下内容从 my-config-map ConfigMap 中提取由 keyName 字段标识的值到 foo 环境变量中

quarkus.kubernetes.env.mapping.foo.from-configmap=my-configmap
quarkus.kubernetes.env.mapping.foo.with-key=keyName

这将在容器的 env 部分中生成以下内容

- env:
  - name: FOO
    valueFrom:
      configMapKeyRef:
        key: keyName
        name: my-configmap
        optional: false

也可以在从 ConfigMap 生成 env 时添加前缀,以下配置使用键 foo 从 ConfigMap 创建环境变量,并添加前缀 BAR

quarkus.kubernetes.env.configmaps=foo
quarkus.kubernetes.prefixes."BAR".for-configmap=foo

这将在容器的 env 部分中生成以下内容

- env:
    envFrom:
    - configMapRef:
        name: foo
      prefix: BAR

来自字段的环境变量

也可以通过指定要用作源的字段的路径,使用来自另一个字段的值来添加新的环境变量,如下所示

quarkus.kubernetes.env.fields.foo=metadata.name

正如在OpenShift部分中详细描述的那样,自定义 OpenShift 属性的方式相同,但要将 kubernetes 替换为 openshift。OpenShift 的上一个示例如下所示

quarkus.openshift.env.fields.foo=metadata.name

验证

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

同样,两个冗余的定义,例如从同一个 Secret 多次定义注入,不会导致问题,但确实会报告一个警告,让您知道您可能无意复制该定义。

向后兼容性

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

表 1. 新旧语法对比

普通变量

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

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

来自字段

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

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

全部来自 ConfigMap

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

quarkus.kubernetes.env.configmaps=foobar

全部来自 Secret

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

quarkus.kubernetes.env.secrets=foobar

来自一个 Secret 字段

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

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

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

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

来自一个 ConfigMap 字段

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

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

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

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

如果在保留旧语法的同时使用新语法重新定义相同的变量,则只会保留新版本,并且会发出警告以提醒您该问题。例如,如果您同时定义 quarkus.kubernetes.env-vars.my-env-var.value=foobarquarkus.kubernetes.env.vars.my-env-var=newValue,则扩展程序只会生成环境变量 MY_ENV_VAR=newValue 并发出警告。

挂载卷

Kubernetes 扩展允许用户配置应用程序的卷和挂载。可以使用简单的配置挂载任何卷

quarkus.kubernetes.mounts.my-volume.path=/where/to/mount

这会将卷 my-volume 的挂载添加到 pod 的路径 /where/to/mount。可以配置卷本身,如下面的部分所示。

Secret 卷

quarkus.kubernetes.secret-volumes.my-volume.secret-name=my-secret

ConfigMap 卷

quarkus.kubernetes.config-map-volumes.my-volume.config-map-name=my-config-map

传递应用程序配置

Quarkus 支持从外部位置传递配置(通过 SmallRye Config)。这通常需要设置额外的环境变量或系统属性。当您需要使用 secret 或 config map 来进行应用程序配置时,您需要

  • 定义一个卷

  • 挂载卷

  • SMALLRYE_CONFIG_LOCATIONS 创建一个环境变量

为了简化操作,quarkus 提供了单步替代方案

quarkus.kubernetes.app-secret=<name of the secret containing the configuration>

quarkus.kubernetes.app-config-map=<name of the config map containing the configuration>

使用这些属性时,生成的清单将包含所有必需的内容。应用程序配置卷将分别使用路径:/mnt/app-secret/mnt/app-config-map 为 secret 和 configmap 创建。

注意:用户可以同时使用这两个属性。

更改副本数

要将副本数从 1 更改为 3

quarkus.kubernetes.replicas=3

添加就绪和存活探针

默认情况下,Kubernetes 资源在生成的 Deployment 中不包含就绪和存活探针。但是,添加它们只是添加 SmallRye Health 扩展的问题,如下所示

pom.xml
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-smallrye-health</artifactId>
</dependency>
build.gradle
implementation("io.quarkus:quarkus-smallrye-health")

生成的探针的值将由配置的运行状况属性确定:quarkus.smallrye-health.root-pathquarkus.smallrye-health.liveness-pathquarkus.smallrye-health.readiness-path。有关运行状况扩展的更多信息,请参见相关的指南

自定义就绪探针

要将探针的初始延迟设置为 20 秒,并将周期设置为 45

quarkus.kubernetes.readiness-probe.initial-delay=20s
quarkus.kubernetes.readiness-probe.period=45s

添加 hostAliases

要将条目添加到 Pod 的 /etc/hosts 文件中(有关更多信息,请参见Kubernetes 文档),只需应用以下配置

quarkus.kubernetes.hostaliases."10.0.0.0".hostnames=foo.com,bar.org

这将在 deployment 定义中生成以下 hostAliases 部分

kind: Deployment
spec:
  template:
    spec:
      hostAliases:
      - hostnames:
        - foo.com
        - bar.org
        ip: 10.0.0.0

添加 nodeSelector

要在生成的 Deployment 中添加 nodeSelector(有关更多信息,请参见Kubernetes 文档),只需应用以下配置

quarkus.kubernetes.node-selector.key=diskType
quarkus.kubernetes.node-selector.value=ssd

这将在 deployment 定义中生成以下 nodeSelector 部分

kind: Deployment
spec:
  template:
    spec:
      nodeSelector:
        diskType: ssd

容器资源管理

可以使用以下配置将 CPU 和内存限制以及请求应用于 Container(有关更多信息,请参见Kubernetes 文档

quarkus.kubernetes.resources.requests.memory=64Mi
quarkus.kubernetes.resources.requests.cpu=250m
quarkus.kubernetes.resources.limits.memory=512Mi
quarkus.kubernetes.resources.limits.cpu=1000m

这将在 container 部分中生成以下条目

containers:
  - resources:
    limits:
      cpu: 1000m
      memory: 512Mi
    requests:
      cpu: 250m
      memory: 64Mi

在 Kubernetes 中公开您的应用程序

Kubernetes 使用 Ingress 资源公开应用程序。要生成 Ingress 资源,只需应用以下配置

quarkus.kubernetes.ingress.expose=true

这将生成以下 Ingress 资源

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    app.quarkus.io/commit-id: a58d2211c86f07a47d4b073ea9ce000d2c6828d5
    app.quarkus.io/build-timestamp: 2022-06-29 - 13:22:41 +0000
  labels:
    app.kubernetes.io/name: kubernetes-with-ingress
    app.kubernetes.io/version: 0.1-SNAPSHOT
  name: kubernetes-with-ingress
spec:
  rules:
    - http:
        paths:
          - backend:
              service:
                name: kubernetes-with-ingress
                port:
                  name: http
            path: /
            pathType: Prefix

将这些资源部署到 Kubernetes 后,Ingress 资源将允许不安全的连接访问您的应用程序。

添加 Ingress 规则

要自定义生成的 Ingress 资源的默认 hostpath 属性,您需要应用以下配置

quarkus.kubernetes.ingress.expose=true
# To change the Ingress host. By default, it's empty.
quarkus.kubernetes.ingress.host=prod.svc.url
# To change the Ingress path of the generated Ingress rule. By default, it's "/".
quarkus.kubernetes.ports.http.path=/prod

这将生成以下 Ingress 资源

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  labels:
    app.kubernetes.io/name: kubernetes-with-ingress
    app.kubernetes.io/version: 0.1-SNAPSHOT
  name: kubernetes-with-ingress
spec:
  rules:
    - host: prod.svc.url
      http:
        paths:
          - backend:
              service:
                name: kubernetes-with-ingress
                port:
                  name: http
            path: /prod
            pathType: Prefix

此外,您还可以通过添加以下配置来添加新的 Ingress 规则

# Example to add a new rule
quarkus.kubernetes.ingress.rules.1.host=dev.svc.url
quarkus.kubernetes.ingress.rules.1.path=/dev
quarkus.kubernetes.ingress.rules.1.path-type=ImplementationSpecific
# by default, path type is Prefix

# Example to add a new rule that use another service binding
quarkus.kubernetes.ingress.rules.2.host=alt.svc.url
quarkus.kubernetes.ingress.rules.2.path=/ea
quarkus.kubernetes.ingress.rules.2.service-name=updated-service
quarkus.kubernetes.ingress.rules.2.service-port-name=tcpurl

这将生成以下 Ingress 资源

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  labels:
    app.kubernetes.io/name: kubernetes-with-ingress
    app.kubernetes.io/version: 0.1-SNAPSHOT
  name: kubernetes-with-ingress
spec:
  rules:
    - host: prod.svc.url
      http:
        paths:
          - backend:
              service:
                name: kubernetes-with-ingress
                port:
                  name: http
            path: /prod
            pathType: Prefix
    - host: dev.svc.url
      http:
        paths:
          - backend:
              service:
                name: kubernetes-with-ingress
                port:
                  name: http
            path: /dev
            pathType: ImplementationSpecific
    - host: alt.svc.url
      http:
        paths:
          - backend:
              service:
                name: updated-service
                port:
                  name: tcpurl
            path: /ea
            pathType: Prefix

保护 Ingress 资源

为了保护传入连接,Kubernetes 允许通过指定包含 TLS 私钥和证书的 Secret 在 Ingress 资源中启用 TLS。您可以通过简单地添加 "tls.secret-name" 属性来生成安全的 Ingress 资源

quarkus.kubernetes.ingress.expose=true
## Ingress TLS configuration:
quarkus.kubernetes.ingress.tls.my-secret.enabled=true

此配置将生成以下安全的 Ingress 资源

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  ...
  name: kubernetes-with-secure-ingress
spec:
  rules:
    ...
  tls:
    - secretName: my-secret

现在,Kubernetes 将使用在名称为 "my-secret" 的 secret 中提供的证书来验证所有传入连接的 SSL。

有关如何在此处创建 secret 的更多信息。

使用 Kubernetes 客户端

部署到 Kubernetes 并且需要访问 API 服务器的应用程序通常会使用 kubernetes-client 扩展

pom.xml
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-kubernetes-client</artifactId>
</dependency>
build.gradle
implementation("io.quarkus:quarkus-kubernetes-client")

要从 Kubernetes 集群内部访问 API 服务器,需要一些 RBAC 相关资源(例如 ServiceAccount、RoleBinding)。为了简化 kubernetes-client 扩展的使用,kubernetes 扩展将生成一个 RoleBinding 资源,该资源将名为 "view" 的集群角色绑定到应用程序 ServiceAccount 资源。重要的是要注意,集群角色 "view" 不会自动生成,因此您应该已经在集群中安装了具有名称 "view" 的此集群角色。

另一方面,您可以完全自定义角色、主体和角色绑定以使用 quarkus.kubernetes.rbac.role-bindings 下的属性生成,如果存在,kubernetes-client 扩展将使用它,因此不会生成任何 RoleBinding 资源。

您可以使用属性 quarkus.kubernetes-client.generate-rbac=false 禁用 RBAC 资源生成。

生成 RBAC 资源

在某些情况下,有必要生成额外的 RBAC 资源,这些资源由 Kubernetes 用于授予或限制对其他资源的访问权限。例如,在我们的用例中,我们正在构建 Kubernetes 运算符,该运算符需要读取已安装的 deployment 列表。为此,我们需要将服务帐户分配给我们的运算符,并将此服务帐户与授予对 Deployment 资源访问权限的角色相关联。让我们看看如何使用 quarkus.kubernetes.rbac 属性来实现这一点

# Generate the Role resource with name "my-role" (1)
quarkus.kubernetes.rbac.roles.my-role.policy-rules.0.api-groups=extensions,apps
quarkus.kubernetes.rbac.roles.my-role.policy-rules.0.resources=deployments
quarkus.kubernetes.rbac.roles.my-role.policy-rules.0.verbs=list
1 在此示例中,将生成角色 "my-role",其中包含用于获取 deployment 列表的策略规则。

默认情况下,如果配置了一个角色,也将生成 RoleBinding 资源,以将此角色与 ServiceAccount 资源相关联。

此外,您可以更好地控制要生成的 RBAC 资源

# Generate Role resource with name "my-role" (1)
quarkus.kubernetes.rbac.roles.my-role.policy-rules.0.api-groups=extensions,apps
quarkus.kubernetes.rbac.roles.my-role.policy-rules.0.resources=deployments
quarkus.kubernetes.rbac.roles.my-role.policy-rules.0.verbs=get,watch,list

# Generate ServiceAccount resource with name "my-service-account" in namespace "my_namespace" (2)
quarkus.kubernetes.rbac.service-accounts.my-service-account.namespace=my_namespace

# Bind Role "my-role" with ServiceAccount "my-service-account" (3)
quarkus.kubernetes.rbac.role-bindings.my-role-binding.subjects.my-service-account.kind=ServiceAccount
quarkus.kubernetes.rbac.role-bindings.my-role-binding.subjects.my-service-account.namespace=my_namespace
quarkus.kubernetes.rbac.role-bindings.my-role-binding.role-name=my-role
1 在此示例中,将生成具有指定策略规则的角色 "my-role"。
2 此外,还将生成服务帐户 "my-service-account"。
3 我们可以通过选择要使用的角色和主体来配置生成的 RoleBinding 资源。

最后,我们还可以生成 "ClusterRole" 类型的集群范围角色资源和 "ClusterRoleBinding" 资源,如下所示

# Generate ClusterRole resource with name "my-cluster-role" (1)
quarkus.kubernetes.rbac.cluster-roles.my-cluster-role.policy-rules.0.api-groups=extensions,apps
quarkus.kubernetes.rbac.cluster-roles.my-cluster-role.policy-rules.0.resources=deployments
quarkus.kubernetes.rbac.cluster-roles.my-cluster-role.policy-rules.0.verbs=get,watch,list

# Bind the ClusterRole "my-cluster-role" with the application service account
quarkus.kubernetes.rbac.cluster-role-bindings.my-cluster-role-binding.subjects.manager.kind=Group
quarkus.kubernetes.rbac.cluster-role-bindings.my-cluster-role-binding.subjects.manager.api-group=rbac.authorization.k8s.io
quarkus.kubernetes.rbac.cluster-role-bindings.my-cluster-role-binding.role-name=my-cluster-role (2)
1 在此示例中,将生成具有指定策略规则的集群角色 "my-cluster-role"。
2 要使用的 ClusterRole 资源的名称。Role 资源是基于命名空间的,因此不允许在 ClusterRoleBinding 资源中使用。

部署到本地 Kubernetes

在部署到本地 Kubernetes 环境时,用户通常会对清单进行细微更改,以简化开发过程。最常见的更改是

  • imagePullPolicy 设置为 IfNotPresent

  • 使用 NodePort 作为 Service 类型

Quarkus 提供了扩展,这些扩展默认设置了这些选项。此类扩展是

  • quarkus-minikube

  • quarkus-kind

如果扩展列表与您使用的工具不匹配(例如 Docker Desktop、microk8s 等),则建议使用 quarkus-minikube 扩展,因为它的默认设置对于大多数环境来说应该是合理的。

部署到 Minikube

当需要 Kubernetes 集群用于开发目的时,Minikube 非常受欢迎。为了使部署到 Minikube 的体验尽可能顺畅,Quarkus 提供了 quarkus-minikube 扩展。可以像这样将此扩展添加到项目中

pom.xml
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-minikube</artifactId>
</dependency>
build.gradle
implementation("io.quarkus:quarkus-minikube")

此扩展的目的是生成专门为 Minikube 定制的 Kubernetes 清单(minikube.yamlminikube.json)。此扩展假设以下几点

  • 用户不会使用镜像注册表,而是通过直接将其构建到 Minikube 的 Docker 守护程序中来使他们的容器镜像可以访问 Kubernetes 集群。要使用 Minikube 的 Docker 守护程序,您必须首先执行

    eval $(minikube -p minikube docker-env)
  • 部署到 Kubernetes 的应用程序不会通过 Kubernetes Ingress 访问,而是作为 NodePort Service 访问。这样做的好处是可以通过执行以下命令轻松检索应用程序的 URL

    minikube service list

要控制在这种情况下使用的 nodePort,用户可以设置 quarkus.kubernetes.node-port。但是请注意,此配置完全是可选的,因为如果没有设置,Quarkus 将自动使用适当的(且不变的)值。

强烈建议不要在使用 Minikube 扩展生成的清单部署到生产环境,因为这些清单仅用于开发目的。部署到生产环境时,请考虑使用原始 Kubernetes 清单(或以 OpenShift 为目标时使用 OpenShift 清单)。
如果 Minikube 扩展所做的假设不适合您的工作流程,那么没有任何东西可以阻止您使用常规 Kubernetes 扩展来生成 Kubernetes 清单并将它们应用到您的 Minikube 集群。

部署到 Kind

Kind 是另一种流行的工具,用作开发目的的 Kubernetes 集群。为了使部署到 Kind 的体验尽可能顺畅,Quarkus 提供了 quarkus-kind 扩展。可以像这样将此扩展添加到项目中

<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-kind</artifactId>
</dependency>

此扩展的目的是生成专门为 Kind 定制的 Kubernetes 清单(kind.yamlkind.json),并在执行容器镜像构建时自动化将镜像加载到集群的过程。定制的清单将与 Minikube 非常相似(它们共享相同的规则)(请参见上文)。

使用 application.properties 调整生成的资源

Kubernetes 扩展允许使用 application.properties 文件调整生成的清单。以下是一些示例

配置选项

下表描述了所有可用的配置选项。

构建时固定的配置属性 - 所有其他配置属性都可以在运行时覆盖

配置属性

类型

默认

用于加载环境变量的可选 Secret 名称列表。

环境变量:QUARKUS_KUBERNETES_ENV_SECRETS

显示更多

字符串列表

用于加载环境变量的可选 ConfigMap 名称列表。

环境变量:QUARKUS_KUBERNETES_ENV_CONFIGMAPS

显示更多

字符串列表

将环境变量名称与其关联的字段引用(从中获取其值)相关联的映射。

环境变量:QUARKUS_KUBERNETES_ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

显示更多

Map<String,String>

环境变量值

环境变量:QUARKUS_KUBERNETES_ENV_VARS__VARS_

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_ENV_MAPPING__MAPPING__FROM_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_ENV_MAPPING__MAPPING__FROM_CONFIGMAP

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_ENV_MAPPING__MAPPING__WITH_KEY

显示更多

字符串

必需

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

环境变量:QUARKUS_KUBERNETES_ENV_USING_PREFIX__PREFIXES__FOR_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_ENV_USING_PREFIX__PREFIXES__FOR_CONFIGMAP

显示更多

字符串

此组件所属的组的名称。

环境变量:QUARKUS_KUBERNETES_PART_OF

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_NAME

显示更多

字符串

应用程序的版本。

环境变量:QUARKUS_KUBERNETES_VERSION

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_NAMESPACE

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_LABELS__LABEL_NAME_

显示更多

Map<String,String>

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

环境变量:QUARKUS_KUBERNETES_ANNOTATIONS__ANNOTATION_NAME_

显示更多

Map<String,String>

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

环境变量:QUARKUS_KUBERNETES_SERVICE_TYPE

显示更多

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

cluster-ip

是否将构建时间戳添加到 Kubernetes 注解中。 这是一种非常有用的方法,可以使同一应用程序的连续构建的清单有所不同 - 从而确保 Kubernetes 将应用更新的资源。

环境变量:QUARKUS_KUBERNETES_ADD_BUILD_TIMESTAMP

显示更多

布尔值

true

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

环境变量:QUARKUS_KUBERNETES_ADD_VERSION_TO_LABEL_SELECTORS

显示更多

布尔值

true

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

环境变量:QUARKUS_KUBERNETES_ADD_NAME_TO_LABEL_SELECTORS

显示更多

布尔值

true

工作目录。

环境变量:QUARKUS_KUBERNETES_WORKING_DIR

显示更多

字符串

命令。

环境变量:QUARKUS_KUBERNETES_COMMAND

显示更多

字符串列表

参数。

环境变量:QUARKUS_KUBERNETES_ARGUMENTS

显示更多

字符串列表

服务帐户。

环境变量:QUARKUS_KUBERNETES_SERVICE_ACCOUNT

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_CONTAINER_NAME

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_PORTS__PORTS__CONTAINER_PORT

显示更多

整数

主机端口。

环境变量:QUARKUS_KUBERNETES_PORTS__PORTS__HOST_PORT

显示更多

整数

应用程序路径(指的是 Web 应用程序路径)。

环境变量:QUARKUS_KUBERNETES_PORTS__PORTS__PATH

显示更多

字符串

/

协议。

环境变量:QUARKUS_KUBERNETES_PORTS__PORTS__PROTOCOL

显示更多

tcp, udp, sctp, http, proxy

tcp

此端口应映射到的 nodePort。 仅当 serviceType 设置为 node-port 时,此设置才会生效。

环境变量:QUARKUS_KUBERNETES_PORTS__PORTS__NODE_PORT

显示更多

整数

如果启用,该端口将被配置为使用 HTTPS 架构。

环境变量:QUARKUS_KUBERNETES_PORTS__PORTS__TLS

显示更多

布尔值

false

镜像拉取策略。

环境变量:QUARKUS_KUBERNETES_IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

镜像拉取密钥。

环境变量:QUARKUS_KUBERNETES_IMAGE_PULL_SECRETS

显示更多

字符串列表

当提供容器镜像用户名和密码时,启用镜像拉取密钥的生成。

环境变量:QUARKUS_KUBERNETES_GENERATE_IMAGE_PULL_SECRET

显示更多

布尔值

false

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量:QUARKUS_KUBERNETES_LIVENESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量:QUARKUS_KUBERNETES_READINESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量:QUARKUS_KUBERNETES_STARTUP_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

当为 true(默认值)时,发出一组注解以标识应由 prometheus 抓取以获取指标的服务。

在使用带有 ServiceMonitor 的 Prometheus 运算符的配置中,注解可能不是必需的。

环境变量:QUARKUS_KUBERNETES_PROMETHEUS_ANNOTATIONS

显示更多

布尔值

true

当为 true(默认值)时,发出一组注解以标识应由 prometheus 抓取以获取指标的服务。

在使用带有 ServiceMonitor 的 Prometheus 运算符的配置中,注解可能不是必需的。

环境变量:QUARKUS_KUBERNETES_PROMETHEUS_GENERATE_SERVICE_MONITOR

显示更多

布尔值

true

定义用于抓取值的注解前缀,此值将用作其他注解名称默认值的基础。 更改生成的注解的基础可以更容易地定义重新标记规则,并避免意外的连锁反应。 默认值为 prometheus.io 请参阅 Prometheus example

环境变量:QUARKUS_KUBERNETES_PROMETHEUS_PREFIX

显示更多

字符串

prometheus.io

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

环境变量:QUARKUS_KUBERNETES_PROMETHEUS_SCRAPE

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_PROMETHEUS_PATH

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_PROMETHEUS_PORT

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_PROMETHEUS_SCHEME

显示更多

字符串

要挂载的 volumeName 的名称。

环境变量:QUARKUS_KUBERNETES_MOUNTS__MOUNTS__NAME

显示更多

字符串

要挂载的路径。

环境变量:QUARKUS_KUBERNETES_MOUNTS__MOUNTS__PATH

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_MOUNTS__MOUNTS__SUB_PATH

显示更多

字符串

ReadOnly。

环境变量:QUARKUS_KUBERNETES_MOUNTS__MOUNTS__READ_ONLY

显示更多

布尔值

false

要挂载的密钥的名称。

环境变量:QUARKUS_KUBERNETES_SECRET_VOLUMES__SECRET_VOLUMES__SECRET_NAME

显示更多

字符串

必需

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

环境变量:QUARKUS_KUBERNETES_SECRET_VOLUMES__SECRET_VOLUMES__DEFAULT_MODE

显示更多

字符串

0600

将挂载文件的路径。

环境变量:QUARKUS_KUBERNETES_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__PATH

显示更多

字符串

必需

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

环境变量:QUARKUS_KUBERNETES_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__MODE

显示更多

整数

-1

可选

环境变量:QUARKUS_KUBERNETES_SECRET_VOLUMES__SECRET_VOLUMES__OPTIONAL

显示更多

布尔值

false

要挂载的 ConfigMap 的名称。

环境变量:QUARKUS_KUBERNETES_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__CONFIG_MAP_NAME

显示更多

字符串

必需

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

环境变量:QUARKUS_KUBERNETES_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__DEFAULT_MODE

显示更多

字符串

0600

将挂载文件的路径。

环境变量:QUARKUS_KUBERNETES_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__PATH

显示更多

字符串

必需

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

环境变量:QUARKUS_KUBERNETES_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__MODE

显示更多

整数

-1

可选

环境变量:QUARKUS_KUBERNETES_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__OPTIONAL

显示更多

布尔值

false

EmptyDir 卷。

环境变量:QUARKUS_KUBERNETES_EMPTY_DIR_VOLUMES

显示更多

字符串列表

Git 存储库 URL。

环境变量:QUARKUS_KUBERNETES_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REPOSITORY

显示更多

字符串

必需

要挂载的存储库目录。

环境变量:QUARKUS_KUBERNETES_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__DIRECTORY

显示更多

字符串

要使用的提交哈希。

环境变量:QUARKUS_KUBERNETES_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REVISION

显示更多

字符串

要挂载的声明的名称。

环境变量:QUARKUS_KUBERNETES_PVC_VOLUMES__PVC_VOLUMES__CLAIM_NAME

显示更多

字符串

必需

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

环境变量:QUARKUS_KUBERNETES_PVC_VOLUMES__PVC_VOLUMES__DEFAULT_MODE

显示更多

字符串

0600

可选

环境变量:QUARKUS_KUBERNETES_PVC_VOLUMES__PVC_VOLUMES__OPTIONAL

显示更多

布尔值

false

要挂载的磁盘名称。

环境变量:QUARKUS_KUBERNETES_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__VOLUME_ID

显示更多

字符串

必需

分区。

环境变量:QUARKUS_KUBERNETES_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__PARTITION

显示更多

整数

文件系统类型。

环境变量:QUARKUS_KUBERNETES_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__FS_TYPE

显示更多

字符串

ext4

卷名是否只读。

环境变量:QUARKUS_KUBERNETES_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__READ_ONLY

显示更多

布尔值

false

共享名称。

环境变量:QUARKUS_KUBERNETES_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SHARE_NAME

显示更多

字符串

必需

Secret 名称。

环境变量:QUARKUS_KUBERNETES_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SECRET_NAME

显示更多

字符串

必需

卷名是否只读。

环境变量:QUARKUS_KUBERNETES_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__READ_ONLY

显示更多

布尔值

false

要挂载的磁盘名称。

环境变量:QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_NAME

显示更多

字符串

必需

vhd blob 对象的 URI,如果 Kind 是 Managed,则是 Azure 托管数据盘的 resourceID

环境变量:QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_URI

显示更多

字符串

必需

磁盘的种类。

环境变量:QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__KIND

显示更多

managed, shared

managed

磁盘缓存模式。

环境变量:QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__CACHING_MODE

显示更多

read-write, read-only, none

read-write

文件系统类型。

环境变量:QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__FS_TYPE

显示更多

字符串

ext4

卷名是否只读。

环境变量:QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__READ_ONLY

显示更多

布尔值

false

用于加载环境变量的可选 Secret 名称列表。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_SECRETS

显示更多

字符串列表

用于加载环境变量的可选 ConfigMap 名称列表。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_CONFIGMAPS

显示更多

字符串列表

将环境变量名称与其关联的字段引用(从中获取其值)相关联的映射。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

显示更多

Map<String,String>

环境变量值

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_VARS__VARS_

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__WITH_KEY

显示更多

字符串

必需

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_USING_PREFIX__PREFIXES__FOR_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_USING_PREFIX__PREFIXES__FOR_CONFIGMAP

显示更多

字符串

容器镜像。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE

显示更多

字符串

工作目录。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__WORKING_DIR

显示更多

字符串

命令

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__COMMAND

显示更多

字符串列表

参数

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ARGUMENTS

显示更多

字符串列表

服务帐户。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__SERVICE_ACCOUNT

显示更多

字符串

应用程序将要暴露的主机。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__HOST

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__CONTAINER_PORT

显示更多

整数

主机端口。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__HOST_PORT

显示更多

整数

应用程序路径(指的是 Web 应用程序路径)。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PATH

显示更多

字符串

/

协议。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PROTOCOL

显示更多

tcp, udp, sctp, http, proxy

tcp

此端口应映射到的 nodePort。 仅当 serviceType 设置为 node-port 时,此设置才会生效。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__NODE_PORT

显示更多

整数

如果启用,该端口将被配置为使用 HTTPS 架构。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__TLS

显示更多

布尔值

false

镜像拉取策略。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

镜像拉取密钥。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_SECRETS

显示更多

字符串列表

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

要挂载的 volumeName 的名称。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__NAME

显示更多

字符串

要挂载的路径。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__PATH

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__SUB_PATH

显示更多

字符串

ReadOnly。

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__READ_ONLY

显示更多

布尔值

false

CPU 需求

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_CPU

显示更多

字符串

内存需求

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_MEMORY

显示更多

字符串

CPU 需求

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_CPU

显示更多

字符串

内存需求

环境变量:QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_MEMORY

显示更多

字符串

用于加载环境变量的可选 Secret 名称列表。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_SECRETS

显示更多

字符串列表

用于加载环境变量的可选 ConfigMap 名称列表。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_CONFIGMAPS

显示更多

字符串列表

将环境变量名称与其关联的字段引用(从中获取其值)相关联的映射。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

显示更多

Map<String,String>

环境变量值

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_VARS__VARS_

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__WITH_KEY

显示更多

字符串

必需

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

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_USING_PREFIX__PREFIXES__FOR_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_USING_PREFIX__PREFIXES__FOR_CONFIGMAP

显示更多

字符串

容器镜像。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__IMAGE

显示更多

字符串

工作目录。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__WORKING_DIR

显示更多

字符串

命令

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__COMMAND

显示更多

字符串列表

参数

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ARGUMENTS

显示更多

字符串列表

服务帐户。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__SERVICE_ACCOUNT

显示更多

字符串

应用程序将要暴露的主机。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__HOST

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__CONTAINER_PORT

显示更多

整数

主机端口。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__HOST_PORT

显示更多

整数

应用程序路径(指的是 Web 应用程序路径)。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__PATH

显示更多

字符串

/

协议。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__PROTOCOL

显示更多

tcp, udp, sctp, http, proxy

tcp

此端口应映射到的 nodePort。 仅当 serviceType 设置为 node-port 时,此设置才会生效。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__NODE_PORT

显示更多

整数

如果启用,该端口将被配置为使用 HTTPS 架构。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__TLS

显示更多

布尔值

false

镜像拉取策略。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

镜像拉取密钥。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__IMAGE_PULL_SECRETS

显示更多

字符串列表

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

要挂载的 volumeName 的名称。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__MOUNTS__MOUNTS__NAME

显示更多

字符串

要挂载的路径。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__MOUNTS__MOUNTS__PATH

显示更多

字符串

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

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__MOUNTS__MOUNTS__SUB_PATH

显示更多

字符串

ReadOnly。

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__MOUNTS__MOUNTS__READ_ONLY

显示更多

布尔值

false

CPU 需求

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__RESOURCES_LIMITS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__RESOURCES_LIMITS_MEMORY

显示更多

字符串

CPU 需求

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__RESOURCES_REQUESTS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__RESOURCES_REQUESTS_MEMORY

显示更多

字符串

IP 地址。

环境变量: QUARKUS_KUBERNETES_HOSTALIASES__HOST_ALIASES__IP

显示更多

字符串

要解析到 IP 的主机名。

环境变量: QUARKUS_KUBERNETES_HOSTALIASES__HOST_ALIASES__HOSTNAMES

显示更多

字符串列表

nodeSelector 的键。

环境变量: QUARKUS_KUBERNETES_NODE_SELECTOR_KEY

显示更多

字符串

必需

nodeSelector 的值。

环境变量: QUARKUS_KUBERNETES_NODE_SELECTOR_VALUE

显示更多

字符串

必需

CPU 需求

环境变量: QUARKUS_KUBERNETES_RESOURCES_LIMITS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_KUBERNETES_RESOURCES_LIMITS_MEMORY

显示更多

字符串

CPU 需求

环境变量: QUARKUS_KUBERNETES_RESOURCES_REQUESTS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_KUBERNETES_RESOURCES_REQUESTS_MEMORY

显示更多

字符串

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

环境变量: QUARKUS_KUBERNETES_APP_SECRET

显示更多

字符串

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

环境变量: QUARKUS_KUBERNETES_APP_CONFIG_MAP

显示更多

字符串

角色的名称。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__NAME

显示更多

字符串

角色的命名空间。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__NAMESPACE

显示更多

字符串

要添加到 Role 资源中的标签。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__LABELS__LABEL_NAME_

显示更多

Map<String,String>

策略规则的 API 组。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

显示更多

字符串列表

策略规则的非资源 URL。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

显示更多

字符串列表

策略规则的资源名称。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

显示更多

字符串列表

策略规则的资源。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

显示更多

字符串列表

策略规则的动词。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__VERBS

显示更多

字符串列表

集群角色的名称。

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__NAME

显示更多

字符串

要添加到 ClusterRole 资源中的标签。

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__LABELS__LABEL_NAME_

显示更多

Map<String,String>

策略规则的 API 组。

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

显示更多

字符串列表

策略规则的非资源 URL。

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

显示更多

字符串列表

策略规则的资源名称。

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

显示更多

字符串列表

策略规则的资源。

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

显示更多

字符串列表

策略规则的动词。

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__VERBS

显示更多

字符串列表

服务帐户的名称。

环境变量: QUARKUS_KUBERNETES_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAME

显示更多

字符串

服务帐户的命名空间。

环境变量: QUARKUS_KUBERNETES_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAMESPACE

显示更多

字符串

服务帐户的标签。

环境变量: QUARKUS_KUBERNETES_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__LABELS__LABEL_NAME_

显示更多

Map<String,String>

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

环境变量: QUARKUS_KUBERNETES_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__USE_AS_DEFAULT

显示更多

布尔值

要生成的 RoleBinding 资源的名称。如果未提供,将使用应用程序名称加上角色引用名称。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__NAME

显示更多

字符串

要添加到 RoleBinding 资源中的标签。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__LABELS__LABEL_NAME_

显示更多

Map<String,String>

在生成的 Role Binding 资源中由 RoleRef 元素使用的 Role 资源的名称。 默认情况下,它是 “view” 角色名称。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__ROLE_NAME

显示更多

字符串

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

环境变量: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__CLUSTER_WIDE

显示更多

布尔值

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

环境变量: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

显示更多

字符串

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

环境变量: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

显示更多

字符串

ServiceAccount

与 “kind” 属性匹配的 “apiGroup” 资源。 默认情况下,它是空的。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

显示更多

字符串

在生成的 Role Binding 资源中由 Subject 元素使用的 “namespace” 资源。 默认情况下,它将使用与生成的资源中提供的相同的命名空间。

环境变量: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

显示更多

字符串

要生成的 ClusterRoleBinding 资源的名称。如果未提供,将使用应用程序名称加上角色引用名称。

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__NAME

显示更多

字符串

要添加到 RoleBinding 资源中的标签。

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__LABELS__LABEL_NAME_

显示更多

Map<String,String>

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

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__ROLE_NAME

显示更多

字符串

必需

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

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

显示更多

字符串

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

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

显示更多

字符串

ServiceAccount

与 “kind” 属性匹配的 “apiGroup” 资源。 默认情况下,它是空的。

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

显示更多

字符串

在生成的 Role Binding 资源中由 Subject 元素使用的 “namespace” 资源。 默认情况下,它将使用与生成的资源中提供的相同的命名空间。

环境变量: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

显示更多

字符串

应用于容器的 SELinux level 标签。

环境变量: QUARKUS_KUBERNETES_SECURITY_CONTEXT_SE_LINUX_OPTIONS_LEVEL

显示更多

字符串

应用于容器的 SELinux role 标签。

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_SE_LINUX_OPTIONS_ROLE

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_SE_LINUX_OPTIONS_TYPE

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_SE_LINUX_OPTIONS_USER

显示更多

字符串

要使用的 GMSA 凭据规范的名称。

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC_NAME

显示更多

字符串

GMSACredentialSpec 是 GMSA 准入 Webhook (windows-gsma) 在其中内联由 GMSACredentialSpecName 字段命名的 GMSA 凭据规范内容的位置。

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC

显示更多

字符串

在 Windows 中运行容器进程入口点的用户名。

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_WINDOWS_OPTIONS_RUN_AS_USER_NAME

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_WINDOWS_OPTIONS_HOST_PROCESS

显示更多

布尔值

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

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_RUN_AS_USER

显示更多

long

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

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_RUN_AS_GROUP

显示更多

long

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

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_RUN_AS_NON_ROOT

显示更多

布尔值

应用于每个容器中运行的第一个进程的组列表,此外还有容器的主 GID。如果未指定,则不会向任何容器添加组。

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_SUPPLEMENTAL_GROUPS

显示更多

long 列表

应用于 Pod 中所有容器的特殊补充组。

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_FS_GROUP

显示更多

long

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

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_SYSCTLS__SYSCTL_NAME_

显示更多

Map<String,String>

它保存了在挂载卷时将 fsGroup 应用于卷的策略。值:OnRootMismatch, Always

环境变量:QUARKUS_KUBERNETES_SECURITY_CONTEXT_FS_GROUP_CHANGE_POLICY

显示更多

on-root-mismatch它表示仅当根目录的权限和所有权与卷上的预期权限不匹配时,才会更改卷的所有权和权限。, always它表示无论何时将卷安装在 Pod 中,都应始终更改卷的所有权和权限。这是默认行为。

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

环境变量:QUARKUS_KUBERNETES_IDEMPOTENT

显示更多

布尔值

false

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

环境变量:QUARKUS_KUBERNETES_VCS_URI_ENABLED

显示更多

布尔值

true

vcs-uri 注解的可选覆盖。

环境变量:QUARKUS_KUBERNETES_VCS_URI_OVERRIDE

显示更多

字符串

要使用的部署资源类型。支持的值为 'StatefulSet'、'Job'、'CronJob' 和 'Deployment',默认为后者。

环境变量:QUARKUS_KUBERNETES_DEPLOYMENT_KIND

显示更多

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

目标部署平台。默认为 kubernetes。可以是 kubernetes、openshift、knative、minikube 等,或以上任何以逗号分隔的列表组合。

环境变量:QUARKUS_KUBERNETES_DEPLOYMENT_TARGET

显示更多

字符串列表

指定部署策略。

环境变量:QUARKUS_KUBERNETES_STRATEGY

显示更多

none, recreate, rolling-update

none

指定更新过程中可以不可用的 Pod 的最大数量。

环境变量:QUARKUS_KUBERNETES_ROLLING_UPDATE_MAX_UNAVAILABLE

显示更多

字符串

25%

指定可以创建的超过所需 Pod 数量的 Pod 的最大数量。

环境变量:QUARKUS_KUBERNETES_ROLLING_UPDATE_MAX_SURGE

显示更多

字符串

25%

所需的 Pod 数量

环境变量:QUARKUS_KUBERNETES_REPLICAS

显示更多

整数

1

当 serviceType 设置为 node-port 时要设置的 nodePort。

环境变量:QUARKUS_KUBERNETES_NODE_PORT

显示更多

整数

如果为 true,则服务将被公开

环境变量:QUARKUS_KUBERNETES_INGRESS_EXPOSE

显示更多

布尔值

false

应用程序将在其下公开的主机

环境变量:QUARKUS_KUBERNETES_INGRESS_HOST

显示更多

字符串

默认目标命名端口。如果未提供,则将从 Service 资源端口中扣除。选项有:"http" 和 "https"。

环境变量:QUARKUS_KUBERNETES_INGRESS_TARGET_PORT

显示更多

字符串

http

Ingress 的类。如果省略 ingressClassName,则使用默认的 Ingress 类。

环境变量:QUARKUS_KUBERNETES_INGRESS_INGRESS_CLASS_NAME

显示更多

字符串

要添加到公开(路由或 Ingress)资源的自定义注解

环境变量:QUARKUS_KUBERNETES_INGRESS_ANNOTATIONS__ANNOTATION_NAME_

显示更多

Map<String,String>

如果为 true,它将在生成的 Ingress 资源中使用 TLS 配置。

环境变量:QUARKUS_KUBERNETES_INGRESS_TLS__TLS__ENABLED

显示更多

布尔值

false

要包含在 TLS 证书中的主机列表。默认情况下,它将使用应用程序主机。

环境变量:QUARKUS_KUBERNETES_INGRESS_TLS__TLS__HOSTS

显示更多

字符串列表

将使用该规则的主机。

环境变量:QUARKUS_KUBERNETES_INGRESS_RULES__RULES__HOST

显示更多

字符串

必需

将使用该规则的路径。默认为 "/"。

环境变量:QUARKUS_KUBERNETES_INGRESS_RULES__RULES__PATH

显示更多

字符串

/

Ingress 规则使用的路径类型策略。默认为 "Prefix"。

环境变量:QUARKUS_KUBERNETES_INGRESS_RULES__RULES__PATH_TYPE

显示更多

字符串

Prefix

此 Ingress 规则要使用的服务名称。默认为应用程序生成的服务名称。

环境变量:QUARKUS_KUBERNETES_INGRESS_RULES__RULES__SERVICE_NAME

显示更多

字符串

此 Ingress 规则要使用的服务端口名称。默认为应用程序生成的服务的端口名称。

环境变量:QUARKUS_KUBERNETES_INGRESS_RULES__RULES__SERVICE_PORT_NAME

显示更多

字符串

此 Ingress 规则要使用的服务端口号。仅当未设置 servicePortName 时才使用。

环境变量:QUARKUS_KUBERNETES_INGRESS_RULES__RULES__SERVICE_PORT_NUMBER

显示更多

整数

指定作业在任何给定时间应运行的 Pod 的最大期望数量。

环境变量:QUARKUS_KUBERNETES_JOB_PARALLELISM

显示更多

整数

指定作业应运行的成功完成的 Pod 的期望数量。

环境变量:QUARKUS_KUBERNETES_JOB_COMPLETIONS

显示更多

整数

CompletionMode 指定如何跟踪 Pod 完成。

环境变量:QUARKUS_KUBERNETES_JOB_COMPLETION_MODE

显示更多

non-indexed, indexed

non-indexed

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

环境变量:QUARKUS_KUBERNETES_JOB_BACKOFF_LIMIT

显示更多

整数

指定作业可以持续活动的最长时间(以秒为单位),相对于 startTime,之后系统会尝试终止它;值必须为正整数。

环境变量:QUARKUS_KUBERNETES_JOB_ACTIVE_DEADLINE_SECONDS

显示更多

long

限制已完成执行的 Job 的生命周期(无论是 Complete 还是 Failed)。如果设置了此字段,则在 Job 完成后的 ttlSecondsAfterFinished 秒后,它有资格被自动删除。

环境变量:QUARKUS_KUBERNETES_JOB_TTL_SECONDS_AFTER_FINISHED

显示更多

整数

Suspend 指定 Job 控制器是否应创建 Pod。

环境变量:QUARKUS_KUBERNETES_JOB_SUSPEND

显示更多

布尔值

false

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

环境变量:QUARKUS_KUBERNETES_JOB_RESTART_POLICY

显示更多

on-failure, never

on-failure

Cron 格式的计划,请参见 Cron

环境变量:QUARKUS_KUBERNETES_CRON_JOB_SCHEDULE

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_CRON_JOB_TIME_ZONE

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_CRON_JOB_CONCURRENCY_POLICY

显示更多

allow, forbid, replace

allow

如果作业因任何原因错过预定时间,则启动作业的截止时间(以秒为单位)。错过的作业执行将被视为失败的作业。

环境变量:QUARKUS_KUBERNETES_CRON_JOB_STARTING_DEADLINE_SECONDS

显示更多

long

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

环境变量:QUARKUS_KUBERNETES_CRON_JOB_FAILED_JOBS_HISTORY_LIMIT

显示更多

整数

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

环境变量:QUARKUS_KUBERNETES_CRON_JOB_SUCCESSFUL_JOBS_HISTORY_LIMIT

显示更多

整数

指定作业在任何给定时间应运行的 Pod 的最大期望数量。

环境变量:QUARKUS_KUBERNETES_CRON_JOB_PARALLELISM

显示更多

整数

指定作业应运行的成功完成的 Pod 的期望数量。

环境变量:QUARKUS_KUBERNETES_CRON_JOB_COMPLETIONS

显示更多

整数

CompletionMode 指定如何跟踪 Pod 完成。

环境变量:QUARKUS_KUBERNETES_CRON_JOB_COMPLETION_MODE

显示更多

non-indexed, indexed

non-indexed

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

环境变量:QUARKUS_KUBERNETES_CRON_JOB_BACKOFF_LIMIT

显示更多

整数

指定作业可以持续活动的最长时间(以秒为单位),相对于 startTime,之后系统会尝试终止它;值必须为正整数。

环境变量:QUARKUS_KUBERNETES_CRON_JOB_ACTIVE_DEADLINE_SECONDS

显示更多

long

限制已完成执行的 Job 的生命周期(无论是 Complete 还是 Failed)。如果设置了此字段,则在 Job 完成后的 ttlSecondsAfterFinished 秒后,它有资格被自动删除。

环境变量:QUARKUS_KUBERNETES_CRON_JOB_TTL_SECONDS_AFTER_FINISHED

显示更多

整数

Suspend 指定 Job 控制器是否应创建 Pod。

环境变量:QUARKUS_KUBERNETES_CRON_JOB_SUSPEND

显示更多

布尔值

false

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

环境变量:QUARKUS_KUBERNETES_CRON_JOB_RESTART_POLICY

显示更多

on-failure, never

on-failure

如果为 true,则将启用 Pod 中的调试模式。

环境变量:QUARKUS_KUBERNETES_REMOTE_DEBUG_ENABLED

显示更多

布尔值

false

要使用的传输。

环境变量:QUARKUS_KUBERNETES_REMOTE_DEBUG_TRANSPORT

显示更多

字符串

dt_socket

如果启用,则意味着 JVM 将等待调试器附加,然后再执行主类。如果为 false,则 JVM 将立即执行主类,同时侦听调试器连接。

环境变量:QUARKUS_KUBERNETES_REMOTE_DEBUG_SUSPEND

显示更多

字符串

n

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

环境变量:QUARKUS_KUBERNETES_REMOTE_DEBUG_ADDRESS_PORT

显示更多

整数

5005

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

环境变量:QUARKUS_KUBERNETES_INIT_TASKS__TASK_NAME__ENABLED

显示更多

布尔值

true

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

环境变量:QUARKUS_KUBERNETES_INIT_TASKS__TASK_NAME__WAIT_FOR_CONTAINER_IMAGE

显示更多

字符串

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

镜像拉取策略。

环境变量:QUARKUS_KUBERNETES_INIT_TASKS__TASK_NAME__WAIT_FOR_CONTAINER_IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

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

环境变量:QUARKUS_KUBERNETES_INIT_TASK_DEFAULTS_ENABLED

显示更多

布尔值

true

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

环境变量:QUARKUS_KUBERNETES_INIT_TASK_DEFAULTS_WAIT_FOR_CONTAINER_IMAGE

显示更多

字符串

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

镜像拉取策略。

环境变量:QUARKUS_KUBERNETES_INIT_TASK_DEFAULTS_WAIT_FOR_CONTAINER_IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

可以选择设置生成的 Kubernetes 资源将写入的目录。默认为 target/kubernetes

环境变量:QUARKUS_KUBERNETES_OUTPUT_DIRECTORY

显示更多

字符串

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

环境变量:QUARKUS_KUBERNETES_DEPLOY

显示更多

布尔值

false

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

环境变量:QUARKUS_KUBERNETES_DEPLOY_STRATEGY

显示更多

create-or-update, create, replace, server-side-apply

create-or-update

使用非标准类型的属性可以通过展开属性来引用。例如,要定义一个类型为 Probekubernetes-readiness-probe

quarkus.kubernetes.readiness-probe.initial-delay=20s
quarkus.kubernetes.readiness-probe.period=45s

在此示例中,initial-delayperiodProbe 类型的字段。下面您将找到描述所有可用类型的表。

客户端连接配置

您可能需要配置与 Kubernetes 集群的连接。默认情况下,它会自动使用 kubectl 使用的活动上下文

例如,如果您的集群 API 端点使用自签名 SSL 证书,您需要显式配置客户端以信任它。您可以通过定义以下属性来实现此目的

quarkus.kubernetes-client.trust-certs=true

下面提供了 Kubernetes 客户端配置属性的完整列表。

构建时固定的配置属性 - 所有其他配置属性都可以在运行时覆盖

配置属性

类型

默认

如果 API 服务器提供自签名证书,客户端是否应信任该证书

环境变量:QUARKUS_KUBERNETES_CLIENT_TRUST_CERTS

显示更多

布尔值

Kubernetes API 服务器的 URL

环境变量:QUARKUS_KUBERNETES_CLIENT_API_SERVER_URL

显示更多

字符串

要使用的默认命名空间

环境变量:QUARKUS_KUBERNETES_CLIENT_NAMESPACE

显示更多

字符串

CA 证书文件

环境变量:QUARKUS_KUBERNETES_CLIENT_CA_CERT_FILE

显示更多

字符串

CA 证书数据

环境变量:QUARKUS_KUBERNETES_CLIENT_CA_CERT_DATA

显示更多

字符串

客户端证书文件

环境变量:QUARKUS_KUBERNETES_CLIENT_CLIENT_CERT_FILE

显示更多

字符串

客户端证书数据

环境变量:QUARKUS_KUBERNETES_CLIENT_CLIENT_CERT_DATA

显示更多

字符串

客户端密钥文件

环境变量:QUARKUS_KUBERNETES_CLIENT_CLIENT_KEY_FILE

显示更多

字符串

客户端密钥数据

环境变量:QUARKUS_KUBERNETES_CLIENT_CLIENT_KEY_DATA

显示更多

字符串

客户端密钥算法

环境变量:QUARKUS_KUBERNETES_CLIENT_CLIENT_KEY_ALGO

显示更多

字符串

客户端密钥密码

环境变量:QUARKUS_KUBERNETES_CLIENT_CLIENT_KEY_PASSPHRASE

显示更多

字符串

Kubernetes 身份验证用户名

环境变量: QUARKUS_KUBERNETES_CLIENT_USERNAME

显示更多

字符串

Kubernetes 身份验证密码

环境变量: QUARKUS_KUBERNETES_CLIENT_PASSWORD

显示更多

字符串

Kubernetes oauth 令牌

环境变量: QUARKUS_KUBERNETES_CLIENT_TOKEN

显示更多

字符串

Watch 重连间隔

环境变量: QUARKUS_KUBERNETES_CLIENT_WATCH_RECONNECT_INTERVAL

显示更多

Duration 

Watch 失败情况下的最大重连尝试次数。默认情况下,重连尝试次数没有限制

环境变量: QUARKUS_KUBERNETES_CLIENT_WATCH_RECONNECT_LIMIT

显示更多

整数

等待与 API 服务器建立连接的最大时长

环境变量: QUARKUS_KUBERNETES_CLIENT_CONNECTION_TIMEOUT

显示更多

Duration 

等待 API 服务器完成请求的最大时长

环境变量: QUARKUS_KUBERNETES_CLIENT_REQUEST_TIMEOUT

显示更多

Duration 

HTTP 代码 >= 500 的 API 请求的最大重试尝试次数

环境变量: QUARKUS_KUBERNETES_CLIENT_REQUEST_RETRY_BACKOFF_LIMIT

显示更多

整数

HTTP 代码 >= 500 的 API 请求的重试尝试之间的时间间隔

环境变量: QUARKUS_KUBERNETES_CLIENT_REQUEST_RETRY_BACKOFF_INTERVAL

显示更多

Duration 

用于访问 Kubernetes API 服务器的 HTTP 代理

环境变量: QUARKUS_KUBERNETES_CLIENT_HTTP_PROXY

显示更多

字符串

用于访问 Kubernetes API 服务器的 HTTPS 代理

环境变量: QUARKUS_KUBERNETES_CLIENT_HTTPS_PROXY

显示更多

字符串

代理用户名

环境变量: QUARKUS_KUBERNETES_CLIENT_PROXY_USERNAME

显示更多

字符串

代理密码

环境变量: QUARKUS_KUBERNETES_CLIENT_PROXY_PASSWORD

显示更多

字符串

要从代理中排除的 IP 地址或主机

环境变量: QUARKUS_KUBERNETES_CLIENT_NO_PROXY

显示更多

字符串列表

启用 RBAC 清单的生成。如果启用并且没有使用属性 quarkus.kubernetes.rbac. 提供其他角色绑定,它将生成一个使用角色 "view" 和应用程序服务帐户的默认角色绑定。

环境变量: QUARKUS_KUBERNETES_CLIENT_GENERATE_RBAC

显示更多

布尔值

true

开发服务

类型

默认

是否应使用 Kubernetes 的开发服务。(默认为 true)如果为 true 并且未配置 Kubernetes 客户端,则将启动并使用 Kubernetes 集群。

环境变量: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_ENABLED

显示更多

布尔值

true

要使用的 Kubernetes API 服务器版本。如果未设置,则 Kubernetes 的开发服务将使用给定风格的最新支持版本。请参阅 https://github.com/dajudge/kindcontainer/blob/master/k8s-versions.json

环境变量: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_API_VERSION

显示更多

字符串

要使用的风格(kind、k3s 或 api-only)。如果未设置,Kubernetes 的开发服务将设置为:api-only。

环境变量: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_FLAVOR

显示更多

kindkind (需要特权 docker), k3sk3s (需要特权 docker), api-only仅限 API

默认情况下,如果找到 kubeconfig,Kubernetes 的开发服务将不会启动。将此设置为 true 可覆盖 kubeconfig 配置。

环境变量: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_OVERRIDE_KUBECONFIG

显示更多

布尔值

false

指示 Quarkus 开发服务管理的 Kubernetes 集群是否共享。共享时,Quarkus 使用基于标签的服务发现来查找正在运行的容器。如果找到匹配的容器,则使用该容器,因此不会启动第二个容器。否则,Kubernetes 的开发服务将启动一个新的容器。

发现使用 quarkus-dev-service-kubernetes 标签。该值使用 service-name 属性配置。

容器共享仅在开发模式下使用。

环境变量: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_SHARED

显示更多

布尔值

true

附加到启动的容器的 quarkus-dev-service-kubernetes 标签的值。当 shared 设置为 true 时,将使用此属性。在这种情况下,在启动容器之前,Kubernetes 的开发服务会查找 quarkus-dev-service-kubernetes 标签设置为已配置值的容器。如果找到,它将使用此容器而不是启动新的容器。否则,它将启动一个 quarkus-dev-service-kubernetes 标签设置为指定值的新容器。

当您需要多个共享 Kubernetes 集群时,将使用此属性。

环境变量: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_SERVICE_NAME

显示更多

字符串

kubernetes

传递给容器的环境变量。

环境变量: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_CONTAINER_ENV__ENVIRONMENT_VARIABLE_NAME_

显示更多

Map<String,String>

OpenShift

将应用程序部署到 OpenShift 的一种方法是使用 s2i(源到镜像)从源创建镜像流,然后部署镜像流

CLI
quarkus extension remove kubernetes,jib
quarkus extension add openshift

oc new-project quarkus-project
quarkus build -Dquarkus.container-image.build=true

oc new-app --name=greeting  quarkus-project/kubernetes-quickstart:1.0.0-SNAPSHOT
oc expose svc/greeting
oc get route
curl <route>/greeting
Maven
./mvnw quarkus:remove-extension -Dextensions="kubernetes, jib"
./mvnw quarkus:add-extension -Dextensions="openshift"

oc new-project quarkus-project
./mvnw clean package -Dquarkus.container-image.build=true

oc new-app --name=greeting  quarkus-project/kubernetes-quickstart:1.0.0-SNAPSHOT
oc expose svc/greeting
oc get route
curl <route>/greeting
Gradle
./gradlew removeExtension --extensions="kubernetes, jib"
./gradlew addExtension --extensions="openshift"

oc new-project quarkus-project
./gradlew build -Dquarkus.container-image.build=true

oc new-app --name=greeting  quarkus-project/kubernetes-quickstart:1.0.0-SNAPSHOT
oc expose svc/greeting
oc get route
curl <route>/greeting

请参阅 部署到 OpenShift 中的更多信息。

下面提供了 OpenShift 资源和可自定义属性的描述以及 Kubernetes 资源,以显示适用的相似之处。这包括 oc new-app …​ 上面的替代方案,即 oc apply -f target/kubernetes/openshift.json

要启用 OpenShift 资源的生成,您需要在目标平台中包含 OpenShift

quarkus.kubernetes.deployment-target=openshift

如果您需要为两个平台(vanilla Kubernetes 和 OpenShift)生成资源,则需要同时包含两者(用逗号分隔)。

quarkus.kubernetes.deployment-target=kubernetes,openshift

在执行 ./mvnw package -Dquarkus.container-image.build=true 后,您会注意到创建的其他文件中,在 target/kubernetes/ 目录中有两个名为 openshift.jsonopenshift.yml 的文件。

可以使用 kubectl 将这些清单按原样部署到正在运行的集群中

kubectl apply -f target/kubernetes/openshift.json

OpenShift 的用户可能想要使用 oc 而不是 kubectl

oc apply -f target/kubernetes/openshift.json

对于喜欢保持 application.properties 独立于部署平台的用户,可以通过添加 -Dquarkus.kubernetes.deployment-target=openshift 以及 -Dquarkus.kubernetes.deploy=true,直接在部署命令中指定部署目标。此外,Quarkus 允许将这两个属性合并为一个: -Dquarkus.openshift.deploy=true

./mvnw clean package -Dquarkus.openshift.deploy=true

与 gradle 等效

./gradlew build -Dquarkus.openshift.deploy=true

如果同时使用具有冲突值的两个属性,则使用 quarkus.kubernetes.deployment-target

Quarkus 还提供了 OpenShift 扩展。此扩展基本上是 Kubernetes 扩展的包装器,使 OpenShift 用户无需将 deployment-target 属性设置为 openshift

可以使用类似于 Kubernetes 的方法自定义 OpenShift 资源。

构建时固定的配置属性 - 所有其他配置属性都可以在运行时覆盖

配置属性

类型

默认

用于加载环境变量的可选 Secret 名称列表。

环境变量: QUARKUS_OPENSHIFT_ENV_SECRETS

显示更多

字符串列表

用于加载环境变量的可选 ConfigMap 名称列表。

环境变量: QUARKUS_OPENSHIFT_ENV_CONFIGMAPS

显示更多

字符串列表

将环境变量名称与其关联的字段引用(从中获取其值)相关联的映射。

环境变量: QUARKUS_OPENSHIFT_ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

显示更多

Map<String,String>

环境变量值

环境变量: QUARKUS_OPENSHIFT_ENV_VARS__VARS_

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_ENV_MAPPING__MAPPING__FROM_SECRET

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_ENV_MAPPING__MAPPING__FROM_CONFIGMAP

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_ENV_MAPPING__MAPPING__WITH_KEY

显示更多

字符串

必需

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

环境变量: QUARKUS_OPENSHIFT_ENV_USING_PREFIX__PREFIXES__FOR_SECRET

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_ENV_USING_PREFIX__PREFIXES__FOR_CONFIGMAP

显示更多

字符串

此组件所属的组的名称。

环境变量: QUARKUS_OPENSHIFT_PART_OF

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_NAME

显示更多

字符串

应用程序的版本。

环境变量: QUARKUS_OPENSHIFT_VERSION

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_NAMESPACE

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_LABELS__LABEL_NAME_

显示更多

Map<String,String>

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

环境变量: QUARKUS_OPENSHIFT_ANNOTATIONS__ANNOTATION_NAME_

显示更多

Map<String,String>

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

环境变量: QUARKUS_OPENSHIFT_SERVICE_TYPE

显示更多

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

cluster-ip

是否将构建时间戳添加到 Kubernetes 注解中。 这是一种非常有用的方法,可以使同一应用程序的连续构建的清单有所不同 - 从而确保 Kubernetes 将应用更新的资源。

环境变量: QUARKUS_OPENSHIFT_ADD_BUILD_TIMESTAMP

显示更多

布尔值

true

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

环境变量: QUARKUS_OPENSHIFT_ADD_VERSION_TO_LABEL_SELECTORS

显示更多

布尔值

true

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

环境变量: QUARKUS_OPENSHIFT_ADD_NAME_TO_LABEL_SELECTORS

显示更多

布尔值

true

工作目录。

环境变量: QUARKUS_OPENSHIFT_WORKING_DIR

显示更多

字符串

命令。

环境变量: QUARKUS_OPENSHIFT_COMMAND

显示更多

字符串列表

参数。

环境变量: QUARKUS_OPENSHIFT_ARGUMENTS

显示更多

字符串列表

服务帐户。

环境变量: QUARKUS_OPENSHIFT_SERVICE_ACCOUNT

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_CONTAINER_NAME

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS__CONTAINER_PORT

显示更多

整数

主机端口。

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS__HOST_PORT

显示更多

整数

应用程序路径(指的是 Web 应用程序路径)。

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS__PATH

显示更多

字符串

/

协议。

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS__PROTOCOL

显示更多

tcp, udp, sctp, http, proxy

tcp

此端口应映射到的 nodePort。 仅当 serviceType 设置为 node-port 时,此设置才会生效。

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS__NODE_PORT

显示更多

整数

如果启用,该端口将被配置为使用 HTTPS 架构。

环境变量: QUARKUS_OPENSHIFT_PORTS__PORTS__TLS

显示更多

布尔值

false

镜像拉取策略。

环境变量: QUARKUS_OPENSHIFT_IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

镜像拉取密钥。

环境变量: QUARKUS_OPENSHIFT_IMAGE_PULL_SECRETS

显示更多

字符串列表

当提供容器镜像用户名和密码时,启用镜像拉取密钥的生成。

环境变量: QUARKUS_OPENSHIFT_GENERATE_IMAGE_PULL_SECRET

显示更多

布尔值

false

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_LIVENESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_READINESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_STARTUP_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

当为 true(默认值)时,发出一组注解以标识应由 prometheus 抓取以获取指标的服务。

在使用带有 ServiceMonitor 的 Prometheus 运算符的配置中,注解可能不是必需的。

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_ANNOTATIONS

显示更多

布尔值

true

当为 true(默认值)时,发出一组注解以标识应由 prometheus 抓取以获取指标的服务。

在使用带有 ServiceMonitor 的 Prometheus 运算符的配置中,注解可能不是必需的。

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_GENERATE_SERVICE_MONITOR

显示更多

布尔值

true

定义用于抓取值的注解前缀,此值将用作其他注解名称默认值的基础。 更改生成的注解的基础可以更容易地定义重新标记规则,并避免意外的连锁反应。 默认值为 prometheus.io 请参阅 Prometheus example

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_PREFIX

显示更多

字符串

prometheus.io

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

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_SCRAPE

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_PATH

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_PORT

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_PROMETHEUS_SCHEME

显示更多

字符串

要挂载的 volumeName 的名称。

环境变量: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__NAME

显示更多

字符串

要挂载的路径。

环境变量: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__PATH

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__SUB_PATH

显示更多

字符串

ReadOnly。

环境变量: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__READ_ONLY

显示更多

布尔值

false

要挂载的密钥的名称。

环境变量: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__SECRET_NAME

显示更多

字符串

必需

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

环境变量: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__DEFAULT_MODE

显示更多

字符串

0600

将挂载文件的路径。

环境变量: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__PATH

显示更多

字符串

必需

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

环境变量: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__MODE

显示更多

整数

-1

可选

环境变量: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__OPTIONAL

显示更多

布尔值

false

要挂载的 ConfigMap 的名称。

环境变量: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__CONFIG_MAP_NAME

显示更多

字符串

必需

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

环境变量: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__DEFAULT_MODE

显示更多

字符串

0600

将挂载文件的路径。

环境变量: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__PATH

显示更多

字符串

必需

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

环境变量: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__MODE

显示更多

整数

-1

可选

环境变量: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__OPTIONAL

显示更多

布尔值

false

EmptyDir 卷。

环境变量: QUARKUS_OPENSHIFT_EMPTY_DIR_VOLUMES

显示更多

字符串列表

Git 存储库 URL。

环境变量: QUARKUS_OPENSHIFT_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REPOSITORY

显示更多

字符串

必需

要挂载的存储库目录。

环境变量: QUARKUS_OPENSHIFT_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__DIRECTORY

显示更多

字符串

要使用的提交哈希。

环境变量: QUARKUS_OPENSHIFT_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REVISION

显示更多

字符串

要挂载的声明的名称。

环境变量: QUARKUS_OPENSHIFT_PVC_VOLUMES__PVC_VOLUMES__CLAIM_NAME

显示更多

字符串

必需

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

环境变量: QUARKUS_OPENSHIFT_PVC_VOLUMES__PVC_VOLUMES__DEFAULT_MODE

显示更多

字符串

0600

可选

环境变量: QUARKUS_OPENSHIFT_PVC_VOLUMES__PVC_VOLUMES__OPTIONAL

显示更多

布尔值

false

要挂载的磁盘名称。

环境变量: 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__PARTITION

显示更多

整数

文件系统类型。

环境变量: QUARKUS_OPENSHIFT_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__FS_TYPE

显示更多

字符串

ext4

卷名是否只读。

环境变量: QUARKUS_OPENSHIFT_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__READ_ONLY

显示更多

布尔值

false

共享名称。

环境变量: QUARKUS_OPENSHIFT_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SHARE_NAME

显示更多

字符串

必需

Secret 名称。

环境变量: QUARKUS_OPENSHIFT_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SECRET_NAME

显示更多

字符串

必需

卷名是否只读。

环境变量: QUARKUS_OPENSHIFT_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__READ_ONLY

显示更多

布尔值

false

要挂载的磁盘名称。

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_NAME

显示更多

字符串

必需

vhd blob 对象的 URI,如果 Kind 是 Managed,则是 Azure 托管数据盘的 resourceID

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_URI

显示更多

字符串

必需

磁盘的种类。

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__KIND

显示更多

managed, shared

managed

磁盘缓存模式。

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__CACHING_MODE

显示更多

read-write, read-only, none

read-write

文件系统类型。

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__FS_TYPE

显示更多

字符串

ext4

卷名是否只读。

环境变量: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__READ_ONLY

显示更多

布尔值

false

用于加载环境变量的可选 Secret 名称列表。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_SECRETS

显示更多

字符串列表

用于加载环境变量的可选 ConfigMap 名称列表。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_CONFIGMAPS

显示更多

字符串列表

将环境变量名称与其关联的字段引用(从中获取其值)相关联的映射。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

显示更多

Map<String,String>

环境变量值

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_VARS__VARS_

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_SECRET

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__WITH_KEY

显示更多

字符串

必需

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_USING_PREFIX__PREFIXES__FOR_SECRET

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_USING_PREFIX__PREFIXES__FOR_CONFIGMAP

显示更多

字符串

容器镜像。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE

显示更多

字符串

工作目录。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__WORKING_DIR

显示更多

字符串

命令

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__COMMAND

显示更多

字符串列表

参数

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ARGUMENTS

显示更多

字符串列表

服务帐户。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__SERVICE_ACCOUNT

显示更多

字符串

应用程序将要暴露的主机。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__HOST

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__CONTAINER_PORT

显示更多

整数

主机端口。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__HOST_PORT

显示更多

整数

应用程序路径(指的是 Web 应用程序路径)。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PATH

显示更多

字符串

/

协议。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PROTOCOL

显示更多

tcp, udp, sctp, http, proxy

tcp

此端口应映射到的 nodePort。 仅当 serviceType 设置为 node-port 时,此设置才会生效。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__NODE_PORT

显示更多

整数

如果启用,该端口将被配置为使用 HTTPS 架构。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__TLS

显示更多

布尔值

false

镜像拉取策略。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

镜像拉取密钥。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_SECRETS

显示更多

字符串列表

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

要挂载的 volumeName 的名称。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__NAME

显示更多

字符串

要挂载的路径。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__PATH

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__SUB_PATH

显示更多

字符串

ReadOnly。

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__READ_ONLY

显示更多

布尔值

false

CPU 需求

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_MEMORY

显示更多

字符串

CPU 需求

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_MEMORY

显示更多

字符串

用于加载环境变量的可选 Secret 名称列表。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_SECRETS

显示更多

字符串列表

用于加载环境变量的可选 ConfigMap 名称列表。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_CONFIGMAPS

显示更多

字符串列表

将环境变量名称与其关联的字段引用(从中获取其值)相关联的映射。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

显示更多

Map<String,String>

环境变量值

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_VARS__VARS_

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_SECRET

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__WITH_KEY

显示更多

字符串

必需

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_USING_PREFIX__PREFIXES__FOR_SECRET

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_USING_PREFIX__PREFIXES__FOR_CONFIGMAP

显示更多

字符串

容器镜像。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__IMAGE

显示更多

字符串

工作目录。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__WORKING_DIR

显示更多

字符串

命令

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__COMMAND

显示更多

字符串列表

参数

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ARGUMENTS

显示更多

字符串列表

服务帐户。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__SERVICE_ACCOUNT

显示更多

字符串

应用程序将要暴露的主机。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__HOST

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__CONTAINER_PORT

显示更多

整数

主机端口。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__HOST_PORT

显示更多

整数

应用程序路径(指的是 Web 应用程序路径)。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__PATH

显示更多

字符串

/

协议。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__PROTOCOL

显示更多

tcp, udp, sctp, http, proxy

tcp

此端口应映射到的 nodePort。 仅当 serviceType 设置为 node-port 时,此设置才会生效。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__NODE_PORT

显示更多

整数

如果启用,该端口将被配置为使用 HTTPS 架构。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__TLS

显示更多

布尔值

false

镜像拉取策略。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

镜像拉取密钥。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__IMAGE_PULL_SECRETS

显示更多

字符串列表

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

要挂载的 volumeName 的名称。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__NAME

显示更多

字符串

要挂载的路径。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__PATH

显示更多

字符串

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

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__SUB_PATH

显示更多

字符串

ReadOnly。

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__READ_ONLY

显示更多

布尔值

false

CPU 需求

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_LIMITS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_LIMITS_MEMORY

显示更多

字符串

CPU 需求

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_REQUESTS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_REQUESTS_MEMORY

显示更多

字符串

IP 地址。

环境变量: QUARKUS_OPENSHIFT_HOSTALIASES__HOST_ALIASES__IP

显示更多

字符串

要解析到 IP 的主机名。

环境变量: QUARKUS_OPENSHIFT_HOSTALIASES__HOST_ALIASES__HOSTNAMES

显示更多

字符串列表

nodeSelector 的键。

环境变量: QUARKUS_OPENSHIFT_NODE_SELECTOR_KEY

显示更多

字符串

必需

nodeSelector 的值。

环境变量: QUARKUS_OPENSHIFT_NODE_SELECTOR_VALUE

显示更多

字符串

必需

CPU 需求

环境变量: QUARKUS_OPENSHIFT_RESOURCES_LIMITS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_OPENSHIFT_RESOURCES_LIMITS_MEMORY

显示更多

字符串

CPU 需求

环境变量: QUARKUS_OPENSHIFT_RESOURCES_REQUESTS_CPU

显示更多

字符串

内存需求

环境变量:QUARKUS_OPENSHIFT_RESOURCES_REQUESTS_MEMORY

显示更多

字符串

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

环境变量:QUARKUS_OPENSHIFT_APP_SECRET

显示更多

字符串

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

环境变量:QUARKUS_OPENSHIFT_APP_CONFIG_MAP

显示更多

字符串

角色的名称。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__NAME

显示更多

字符串

角色的命名空间。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__NAMESPACE

显示更多

字符串

要添加到 Role 资源中的标签。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__LABELS__LABEL_NAME_

显示更多

Map<String,String>

策略规则的 API 组。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

显示更多

字符串列表

策略规则的非资源 URL。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

显示更多

字符串列表

策略规则的资源名称。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

显示更多

字符串列表

策略规则的资源。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

显示更多

字符串列表

策略规则的动词。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__VERBS

显示更多

字符串列表

集群角色的名称。

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__NAME

显示更多

字符串

要添加到 ClusterRole 资源中的标签。

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__LABELS__LABEL_NAME_

显示更多

Map<String,String>

策略规则的 API 组。

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

显示更多

字符串列表

策略规则的非资源 URL。

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

显示更多

字符串列表

策略规则的资源名称。

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

显示更多

字符串列表

策略规则的资源。

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

显示更多

字符串列表

策略规则的动词。

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__VERBS

显示更多

字符串列表

服务帐户的名称。

环境变量:QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAME

显示更多

字符串

服务帐户的命名空间。

环境变量:QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAMESPACE

显示更多

字符串

服务帐户的标签。

环境变量:QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__LABELS__LABEL_NAME_

显示更多

Map<String,String>

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

环境变量:QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__USE_AS_DEFAULT

显示更多

布尔值

要生成的 RoleBinding 资源的名称。如果未提供,将使用应用程序名称加上角色引用名称。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__NAME

显示更多

字符串

要添加到 RoleBinding 资源中的标签。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__LABELS__LABEL_NAME_

显示更多

Map<String,String>

在生成的 Role Binding 资源中由 RoleRef 元素使用的 Role 资源的名称。 默认情况下,它是 “view” 角色名称。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__ROLE_NAME

显示更多

字符串

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

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__CLUSTER_WIDE

显示更多

布尔值

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

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

显示更多

字符串

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

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

显示更多

字符串

ServiceAccount

与 “kind” 属性匹配的 “apiGroup” 资源。 默认情况下,它是空的。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

显示更多

字符串

在生成的 Role Binding 资源中由 Subject 元素使用的 “namespace” 资源。 默认情况下,它将使用与生成的资源中提供的相同的命名空间。

环境变量:QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

显示更多

字符串

要生成的 ClusterRoleBinding 资源的名称。如果未提供,将使用应用程序名称加上角色引用名称。

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__NAME

显示更多

字符串

要添加到 RoleBinding 资源中的标签。

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__LABELS__LABEL_NAME_

显示更多

Map<String,String>

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

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__ROLE_NAME

显示更多

字符串

必需

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

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

显示更多

字符串

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

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

显示更多

字符串

ServiceAccount

与 “kind” 属性匹配的 “apiGroup” 资源。 默认情况下,它是空的。

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

显示更多

字符串

在生成的 Role Binding 资源中由 Subject 元素使用的 “namespace” 资源。 默认情况下,它将使用与生成的资源中提供的相同的命名空间。

环境变量:QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

显示更多

字符串

应用于容器的 SELinux level 标签。

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_LEVEL

显示更多

字符串

应用于容器的 SELinux role 标签。

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_ROLE

显示更多

字符串

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

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_TYPE

显示更多

字符串

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

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_USER

显示更多

字符串

要使用的 GMSA 凭据规范的名称。

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC_NAME

显示更多

字符串

GMSACredentialSpec 是 GMSA 准入 Webhook (windows-gsma) 在其中内联由 GMSACredentialSpecName 字段命名的 GMSA 凭据规范内容的位置。

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC

显示更多

字符串

在 Windows 中运行容器进程入口点的用户名。

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_RUN_AS_USER_NAME

显示更多

字符串

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

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_HOST_PROCESS

显示更多

布尔值

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

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_RUN_AS_USER

显示更多

long

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

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_RUN_AS_GROUP

显示更多

long

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

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_RUN_AS_NON_ROOT

显示更多

布尔值

应用于每个容器中运行的第一个进程的组列表,此外还有容器的主 GID。如果未指定,则不会向任何容器添加组。

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SUPPLEMENTAL_GROUPS

显示更多

long 列表

应用于 Pod 中所有容器的特殊补充组。

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_FS_GROUP

显示更多

long

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

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SYSCTLS__SYSCTL_NAME_

显示更多

Map<String,String>

它保存了在挂载卷时将 fsGroup 应用于卷的策略。值:OnRootMismatch, Always

环境变量:QUARKUS_OPENSHIFT_SECURITY_CONTEXT_FS_GROUP_CHANGE_POLICY

显示更多

on-root-mismatch它表示仅当根目录的权限和所有权与卷上的预期权限不匹配时,才会更改卷的所有权和权限。, always它表示无论何时将卷安装在 Pod 中,都应始终更改卷的所有权和权限。这是默认行为。

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

环境变量:QUARKUS_OPENSHIFT_IDEMPOTENT

显示更多

布尔值

false

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

环境变量:QUARKUS_OPENSHIFT_VCS_URI_ENABLED

显示更多

布尔值

true

vcs-uri 注解的可选覆盖。

环境变量:QUARKUS_OPENSHIFT_VCS_URI_OVERRIDE

显示更多

字符串

要使用的 OpenShift 版本/风味。旧版本的 OpenShift 在它们支持的标签和字段方面存在细微差异。此选项允许用户自动将他们的清单与他们使用的 OpenShift“风味”对齐。

环境变量:QUARKUS_OPENSHIFT_FLAVOR

显示更多

v3, v4

v4

要使用的部署资源类型。支持的值为“Deployment”、“StatefulSet”、“Job”、“CronJob”和“DeploymentConfig”。如果flavor == v3,则默认为“DeploymentConfig”,否则默认为“Deployment”。 DeploymentConfig 自 OpenShift 4.14 起已弃用。有关详细信息,请参阅 https://access.redhat.com/articles/7041372

环境变量:QUARKUS_OPENSHIFT_DEPLOYMENT_KIND

显示更多

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

所需的 Pod 数量

环境变量:QUARKUS_OPENSHIFT_REPLICAS

显示更多

整数

1

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

环境变量:QUARKUS_OPENSHIFT_NODE_PORT

显示更多

整数

如果为 true,则服务将被公开

环境变量:QUARKUS_OPENSHIFT_ROUTE_EXPOSE

显示更多

布尔值

false

应用程序将在其下公开的主机

环境变量:QUARKUS_OPENSHIFT_ROUTE_HOST

显示更多

字符串

目标命名端口。 如果未提供,则将从 Service 资源端口中扣除。 选项为:“http”和“https”。

环境变量:QUARKUS_OPENSHIFT_ROUTE_TARGET_PORT

显示更多

字符串

http

要添加到公开(路由或 Ingress)资源的自定义注解

环境变量:QUARKUS_OPENSHIFT_ROUTE_ANNOTATIONS__ANNOTATION_NAME_

显示更多

Map<String,String>

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

环境变量:QUARKUS_OPENSHIFT_ROUTE_LABELS__LABEL_NAME_

显示更多

Map<String,String>

证书颁发机构证书内容。

环境变量:QUARKUS_OPENSHIFT_ROUTE_TLS_CA_CERTIFICATE

显示更多

字符串

证书内容。

环境变量:QUARKUS_OPENSHIFT_ROUTE_TLS_CERTIFICATE

显示更多

字符串

最终目标的 CA 证书内容。

环境变量:QUARKUS_OPENSHIFT_ROUTE_TLS_DESTINATION_CA_CERTIFICATE

显示更多

字符串

不安全连接到路由的预期行为。

环境变量:QUARKUS_OPENSHIFT_ROUTE_TLS_INSECURE_EDGE_TERMINATION_POLICY

显示更多

字符串

密钥文件内容。

环境变量:QUARKUS_OPENSHIFT_ROUTE_TLS_KEY

显示更多

字符串

终止类型。

环境变量:QUARKUS_OPENSHIFT_ROUTE_TLS_TERMINATION

显示更多

字符串

指定作业在任何给定时间应运行的 Pod 的最大期望数量。

环境变量:QUARKUS_OPENSHIFT_JOB_PARALLELISM

显示更多

整数

指定作业应运行的成功完成的 Pod 的期望数量。

环境变量:QUARKUS_OPENSHIFT_JOB_COMPLETIONS

显示更多

整数

CompletionMode 指定如何跟踪 Pod 完成。

环境变量:QUARKUS_OPENSHIFT_JOB_COMPLETION_MODE

显示更多

non-indexed, indexed

non-indexed

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

环境变量:QUARKUS_OPENSHIFT_JOB_BACKOFF_LIMIT

显示更多

整数

指定作业可以持续活动的最长时间(以秒为单位),相对于 startTime,之后系统会尝试终止它;值必须为正整数。

环境变量:QUARKUS_OPENSHIFT_JOB_ACTIVE_DEADLINE_SECONDS

显示更多

long

限制已完成执行的 Job 的生命周期(无论是 Complete 还是 Failed)。如果设置了此字段,则在 Job 完成后的 ttlSecondsAfterFinished 秒后,它有资格被自动删除。

环境变量:QUARKUS_OPENSHIFT_JOB_TTL_SECONDS_AFTER_FINISHED

显示更多

整数

Suspend 指定 Job 控制器是否应创建 Pod。

环境变量:QUARKUS_OPENSHIFT_JOB_SUSPEND

显示更多

布尔值

false

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

环境变量:QUARKUS_OPENSHIFT_JOB_RESTART_POLICY

显示更多

on-failure, never

on-failure

Cron 格式的计划,请参见 Cron

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_SCHEDULE

显示更多

字符串

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

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_TIME_ZONE

显示更多

字符串

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

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_CONCURRENCY_POLICY

显示更多

allow, forbid, replace

allow

如果作业因任何原因错过预定时间,则启动作业的截止时间(以秒为单位)。错过的作业执行将被视为失败的作业。

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_STARTING_DEADLINE_SECONDS

显示更多

long

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

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_FAILED_JOBS_HISTORY_LIMIT

显示更多

整数

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

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_SUCCESSFUL_JOBS_HISTORY_LIMIT

显示更多

整数

指定作业在任何给定时间应运行的 Pod 的最大期望数量。

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_PARALLELISM

显示更多

整数

指定作业应运行的成功完成的 Pod 的期望数量。

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_COMPLETIONS

显示更多

整数

CompletionMode 指定如何跟踪 Pod 完成。

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_COMPLETION_MODE

显示更多

non-indexed, indexed

non-indexed

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

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_BACKOFF_LIMIT

显示更多

整数

指定作业可以持续活动的最长时间(以秒为单位),相对于 startTime,之后系统会尝试终止它;值必须为正整数。

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_ACTIVE_DEADLINE_SECONDS

显示更多

long

限制已完成执行的 Job 的生命周期(无论是 Complete 还是 Failed)。如果设置了此字段,则在 Job 完成后的 ttlSecondsAfterFinished 秒后,它有资格被自动删除。

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_TTL_SECONDS_AFTER_FINISHED

显示更多

整数

Suspend 指定 Job 控制器是否应创建 Pod。

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_SUSPEND

显示更多

布尔值

false

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

环境变量:QUARKUS_OPENSHIFT_CRON_JOB_RESTART_POLICY

显示更多

on-failure, never

on-failure

如果为 true,则将启用 Pod 中的调试模式。

环境变量:QUARKUS_OPENSHIFT_REMOTE_DEBUG_ENABLED

显示更多

布尔值

false

要使用的传输。

环境变量:QUARKUS_OPENSHIFT_REMOTE_DEBUG_TRANSPORT

显示更多

字符串

dt_socket

如果启用,则意味着 JVM 将等待调试器附加,然后再执行主类。如果为 false,则 JVM 将立即执行主类,同时侦听调试器连接。

环境变量:QUARKUS_OPENSHIFT_REMOTE_DEBUG_SUSPEND

显示更多

字符串

n

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

环境变量:QUARKUS_OPENSHIFT_REMOTE_DEBUG_ADDRESS_PORT

显示更多

整数

5005

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

环境变量:QUARKUS_OPENSHIFT_INIT_TASKS__TASK_NAME__ENABLED

显示更多

布尔值

true

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

环境变量:QUARKUS_OPENSHIFT_INIT_TASKS__TASK_NAME__WAIT_FOR_CONTAINER_IMAGE

显示更多

字符串

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

镜像拉取策略。

环境变量:QUARKUS_OPENSHIFT_INIT_TASKS__TASK_NAME__WAIT_FOR_CONTAINER_IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

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

环境变量:QUARKUS_OPENSHIFT_INIT_TASK_DEFAULTS_ENABLED

显示更多

布尔值

true

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

环境变量:QUARKUS_OPENSHIFT_INIT_TASK_DEFAULTS_WAIT_FOR_CONTAINER_IMAGE

显示更多

字符串

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

镜像拉取策略。

环境变量:QUARKUS_OPENSHIFT_INIT_TASK_DEFAULTS_WAIT_FOR_CONTAINER_IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

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

环境变量:QUARKUS_OPENSHIFT_DEPLOY

显示更多

布尔值

false

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

环境变量:QUARKUS_OPENSHIFT_DEPLOY_STRATEGY

显示更多

create-or-update, create, replace, server-side-apply

create-or-update

Knative

要启用 Knative 资源的生成,您需要在目标平台中包含 Knative

quarkus.kubernetes.deployment-target=knative

执行 ./mvnw package 后,您会在创建的其他文件中注意到,在 target/kubernetes/ 目录中有两个名为 knative.jsonknative.yml 的文件。

如果您查看任一文件,您会看到它包含一个 Knative Service

knative.json 文件的完整源代码如下所示

{
  {
    "apiVersion" : "serving.quarkus.knative.dev/v1alpha1",
    "kind" : "Service",
    "metadata" : {
      "annotations": {
       "app.quarkus.io/vcs-uri" : "<some url>",
       "app.quarkus.io/commit-id" : "<some git SHA>"
      },
      "labels" : {
        "app.kubernetes.io/name" : "test-quarkus-app",
        "app.kubernetes.io/version" : "1.0.0-SNAPSHOT"
      },
      "name" : "knative"
    },
    "spec" : {
      "runLatest" : {
        "configuration" : {
          "revisionTemplate" : {
            "spec" : {
              "container" : {
                "image" : "dev.local/yourDockerUsername/test-quarkus-app:1.0.0-SNAPSHOT",
                "imagePullPolicy" : "Always"
              }
            }
          }
        }
      }
    }
  }
}

可以使用 kubectl 将生成的清单按原样部署到正在运行的集群

kubectl apply -f target/kubernetes/knative.json

可以使用以下属性自定义生成的服务

构建时固定的配置属性 - 所有其他配置属性都可以在运行时覆盖

配置属性

类型

默认

用于加载环境变量的可选 Secret 名称列表。

环境变量:QUARKUS_KNATIVE_ENV_SECRETS

显示更多

字符串列表

用于加载环境变量的可选 ConfigMap 名称列表。

环境变量:QUARKUS_KNATIVE_ENV_CONFIGMAPS

显示更多

字符串列表

将环境变量名称与其关联的字段引用(从中获取其值)相关联的映射。

环境变量:QUARKUS_KNATIVE_ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

显示更多

Map<String,String>

环境变量值

环境变量:QUARKUS_KNATIVE_ENV_VARS__VARS_

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_ENV_MAPPING__MAPPING__FROM_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_ENV_MAPPING__MAPPING__FROM_CONFIGMAP

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_ENV_MAPPING__MAPPING__WITH_KEY

显示更多

字符串

必需

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

环境变量:QUARKUS_KNATIVE_ENV_USING_PREFIX__PREFIXES__FOR_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_ENV_USING_PREFIX__PREFIXES__FOR_CONFIGMAP

显示更多

字符串

此组件所属的组的名称。

环境变量:QUARKUS_KNATIVE_PART_OF

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_NAME

显示更多

字符串

应用程序的版本。

环境变量:QUARKUS_KNATIVE_VERSION

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_NAMESPACE

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_LABELS__LABEL_NAME_

显示更多

Map<String,String>

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

环境变量:QUARKUS_KNATIVE_ANNOTATIONS__ANNOTATION_NAME_

显示更多

Map<String,String>

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

环境变量:QUARKUS_KNATIVE_SERVICE_TYPE

显示更多

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

cluster-ip

是否将构建时间戳添加到 Kubernetes 注解中。 这是一种非常有用的方法,可以使同一应用程序的连续构建的清单有所不同 - 从而确保 Kubernetes 将应用更新的资源。

环境变量:QUARKUS_KNATIVE_ADD_BUILD_TIMESTAMP

显示更多

布尔值

true

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

环境变量:QUARKUS_KNATIVE_ADD_VERSION_TO_LABEL_SELECTORS

显示更多

布尔值

true

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

环境变量:QUARKUS_KNATIVE_ADD_NAME_TO_LABEL_SELECTORS

显示更多

布尔值

true

工作目录。

环境变量:QUARKUS_KNATIVE_WORKING_DIR

显示更多

字符串

命令。

环境变量:QUARKUS_KNATIVE_COMMAND

显示更多

字符串列表

参数。

环境变量:QUARKUS_KNATIVE_ARGUMENTS

显示更多

字符串列表

服务帐户。

环境变量:QUARKUS_KNATIVE_SERVICE_ACCOUNT

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_CONTAINER_NAME

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_PORTS__PORTS__CONTAINER_PORT

显示更多

整数

主机端口。

环境变量:QUARKUS_KNATIVE_PORTS__PORTS__HOST_PORT

显示更多

整数

应用程序路径(指的是 Web 应用程序路径)。

环境变量:QUARKUS_KNATIVE_PORTS__PORTS__PATH

显示更多

字符串

/

协议。

环境变量:QUARKUS_KNATIVE_PORTS__PORTS__PROTOCOL

显示更多

tcp, udp, sctp, http, proxy

tcp

此端口应映射到的 nodePort。 仅当 serviceType 设置为 node-port 时,此设置才会生效。

环境变量:QUARKUS_KNATIVE_PORTS__PORTS__NODE_PORT

显示更多

整数

如果启用,该端口将被配置为使用 HTTPS 架构。

环境变量:QUARKUS_KNATIVE_PORTS__PORTS__TLS

显示更多

布尔值

false

镜像拉取策略。

环境变量:QUARKUS_KNATIVE_IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

镜像拉取密钥。

环境变量:QUARKUS_KNATIVE_IMAGE_PULL_SECRETS

显示更多

字符串列表

当提供容器镜像用户名和密码时,启用镜像拉取密钥的生成。

环境变量:QUARKUS_KNATIVE_GENERATE_IMAGE_PULL_SECRET

显示更多

布尔值

false

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量:QUARKUS_KNATIVE_LIVENESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量:QUARKUS_KNATIVE_READINESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量:QUARKUS_KNATIVE_STARTUP_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

当为 true(默认值)时,发出一组注解以标识应由 prometheus 抓取以获取指标的服务。

在使用带有 ServiceMonitor 的 Prometheus 运算符的配置中,注解可能不是必需的。

环境变量:QUARKUS_KNATIVE_PROMETHEUS_ANNOTATIONS

显示更多

布尔值

true

当为 true(默认值)时,发出一组注解以标识应由 prometheus 抓取以获取指标的服务。

在使用带有 ServiceMonitor 的 Prometheus 运算符的配置中,注解可能不是必需的。

环境变量:QUARKUS_KNATIVE_PROMETHEUS_GENERATE_SERVICE_MONITOR

显示更多

布尔值

true

定义用于抓取值的注解前缀,此值将用作其他注解名称默认值的基础。 更改生成的注解的基础可以更容易地定义重新标记规则,并避免意外的连锁反应。 默认值为 prometheus.io 请参阅 Prometheus example

环境变量:QUARKUS_KNATIVE_PROMETHEUS_PREFIX

显示更多

字符串

prometheus.io

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

环境变量:QUARKUS_KNATIVE_PROMETHEUS_SCRAPE

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_PROMETHEUS_PATH

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_PROMETHEUS_PORT

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_PROMETHEUS_SCHEME

显示更多

字符串

要挂载的 volumeName 的名称。

环境变量:QUARKUS_KNATIVE_MOUNTS__MOUNTS__NAME

显示更多

字符串

要挂载的路径。

环境变量:QUARKUS_KNATIVE_MOUNTS__MOUNTS__PATH

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_MOUNTS__MOUNTS__SUB_PATH

显示更多

字符串

ReadOnly。

环境变量:QUARKUS_KNATIVE_MOUNTS__MOUNTS__READ_ONLY

显示更多

布尔值

false

要挂载的密钥的名称。

环境变量:QUARKUS_KNATIVE_SECRET_VOLUMES__SECRET_VOLUMES__SECRET_NAME

显示更多

字符串

必需

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

环境变量:QUARKUS_KNATIVE_SECRET_VOLUMES__SECRET_VOLUMES__DEFAULT_MODE

显示更多

字符串

0600

将挂载文件的路径。

环境变量:QUARKUS_KNATIVE_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__PATH

显示更多

字符串

必需

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

环境变量:QUARKUS_KNATIVE_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__MODE

显示更多

整数

-1

可选

环境变量:QUARKUS_KNATIVE_SECRET_VOLUMES__SECRET_VOLUMES__OPTIONAL

显示更多

布尔值

false

要挂载的 ConfigMap 的名称。

环境变量:QUARKUS_KNATIVE_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__CONFIG_MAP_NAME

显示更多

字符串

必需

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

环境变量:QUARKUS_KNATIVE_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__DEFAULT_MODE

显示更多

字符串

0600

将挂载文件的路径。

环境变量:QUARKUS_KNATIVE_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__PATH

显示更多

字符串

必需

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

环境变量:QUARKUS_KNATIVE_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__MODE

显示更多

整数

-1

可选

环境变量:QUARKUS_KNATIVE_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__OPTIONAL

显示更多

布尔值

false

EmptyDir 卷。

环境变量:QUARKUS_KNATIVE_EMPTY_DIR_VOLUMES

显示更多

字符串列表

Git 存储库 URL。

环境变量:QUARKUS_KNATIVE_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REPOSITORY

显示更多

字符串

必需

要挂载的存储库目录。

环境变量:QUARKUS_KNATIVE_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__DIRECTORY

显示更多

字符串

要使用的提交哈希。

环境变量:QUARKUS_KNATIVE_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REVISION

显示更多

字符串

要挂载的声明的名称。

环境变量:QUARKUS_KNATIVE_PVC_VOLUMES__PVC_VOLUMES__CLAIM_NAME

显示更多

字符串

必需

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

环境变量:QUARKUS_KNATIVE_PVC_VOLUMES__PVC_VOLUMES__DEFAULT_MODE

显示更多

字符串

0600

可选

环境变量:QUARKUS_KNATIVE_PVC_VOLUMES__PVC_VOLUMES__OPTIONAL

显示更多

布尔值

false

要挂载的磁盘名称。

环境变量:QUARKUS_KNATIVE_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__VOLUME_ID

显示更多

字符串

必需

分区。

环境变量:QUARKUS_KNATIVE_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__PARTITION

显示更多

整数

文件系统类型。

环境变量:QUARKUS_KNATIVE_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__FS_TYPE

显示更多

字符串

ext4

卷名是否只读。

环境变量:QUARKUS_KNATIVE_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__READ_ONLY

显示更多

布尔值

false

共享名称。

环境变量:QUARKUS_KNATIVE_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SHARE_NAME

显示更多

字符串

必需

Secret 名称。

环境变量:QUARKUS_KNATIVE_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SECRET_NAME

显示更多

字符串

必需

卷名是否只读。

环境变量:QUARKUS_KNATIVE_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__READ_ONLY

显示更多

布尔值

false

要挂载的磁盘名称。

环境变量:QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_NAME

显示更多

字符串

必需

vhd blob 对象的 URI,如果 Kind 是 Managed,则是 Azure 托管数据盘的 resourceID

环境变量:QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_URI

显示更多

字符串

必需

磁盘的种类。

环境变量:QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__KIND

显示更多

managed, shared

managed

磁盘缓存模式。

环境变量:QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__CACHING_MODE

显示更多

read-write, read-only, none

read-write

文件系统类型。

环境变量:QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__FS_TYPE

显示更多

字符串

ext4

卷名是否只读。

环境变量:QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__READ_ONLY

显示更多

布尔值

false

用于加载环境变量的可选 Secret 名称列表。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_SECRETS

显示更多

字符串列表

用于加载环境变量的可选 ConfigMap 名称列表。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_CONFIGMAPS

显示更多

字符串列表

将环境变量名称与其关联的字段引用(从中获取其值)相关联的映射。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

显示更多

Map<String,String>

环境变量值

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_VARS__VARS_

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__WITH_KEY

显示更多

字符串

必需

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_USING_PREFIX__PREFIXES__FOR_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_USING_PREFIX__PREFIXES__FOR_CONFIGMAP

显示更多

字符串

容器镜像。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE

显示更多

字符串

工作目录。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__WORKING_DIR

显示更多

字符串

命令

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__COMMAND

显示更多

字符串列表

参数

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ARGUMENTS

显示更多

字符串列表

服务帐户。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__SERVICE_ACCOUNT

显示更多

字符串

应用程序将要暴露的主机。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__HOST

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__CONTAINER_PORT

显示更多

整数

主机端口。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__HOST_PORT

显示更多

整数

应用程序路径(指的是 Web 应用程序路径)。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PATH

显示更多

字符串

/

协议。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PROTOCOL

显示更多

tcp, udp, sctp, http, proxy

tcp

此端口应映射到的 nodePort。 仅当 serviceType 设置为 node-port 时,此设置才会生效。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__NODE_PORT

显示更多

整数

如果启用,该端口将被配置为使用 HTTPS 架构。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__TLS

显示更多

布尔值

false

镜像拉取策略。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

镜像拉取密钥。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_SECRETS

显示更多

字符串列表

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

要挂载的 volumeName 的名称。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__NAME

显示更多

字符串

要挂载的路径。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__PATH

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__SUB_PATH

显示更多

字符串

ReadOnly。

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__READ_ONLY

显示更多

布尔值

false

CPU 需求

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_CPU

显示更多

字符串

内存需求

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_MEMORY

显示更多

字符串

CPU 需求

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_CPU

显示更多

字符串

内存需求

环境变量:QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_MEMORY

显示更多

字符串

用于加载环境变量的可选 Secret 名称列表。

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__ENV_SECRETS

显示更多

字符串列表

用于加载环境变量的可选 ConfigMap 名称列表。

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__ENV_CONFIGMAPS

显示更多

字符串列表

将环境变量名称与其关联的字段引用(从中获取其值)相关联的映射。

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__ENV_FIELDS__ENVIRONMENT_VARIABLE_NAME_

显示更多

Map<String,String>

环境变量值

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__ENV_VARS__VARS_

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__WITH_KEY

显示更多

字符串

必需

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

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__ENV_USING_PREFIX__PREFIXES__FOR_SECRET

显示更多

字符串

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

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__ENV_USING_PREFIX__PREFIXES__FOR_CONFIGMAP

显示更多

字符串

容器镜像。

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__IMAGE

显示更多

字符串

工作目录。

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__WORKING_DIR

显示更多

字符串

命令

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__COMMAND

显示更多

字符串列表

参数

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__ARGUMENTS

显示更多

字符串列表

服务帐户。

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__SERVICE_ACCOUNT

显示更多

字符串

应用程序将要暴露的主机。

环境变量:QUARKUS_KNATIVE_SIDECARS__SIDECARS__HOST

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__PORTS__PORTS__CONTAINER_PORT

显示更多

整数

主机端口。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__PORTS__PORTS__HOST_PORT

显示更多

整数

应用程序路径(指的是 Web 应用程序路径)。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__PORTS__PORTS__PATH

显示更多

字符串

/

协议。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__PORTS__PORTS__PROTOCOL

显示更多

tcp, udp, sctp, http, proxy

tcp

此端口应映射到的 nodePort。 仅当 serviceType 设置为 node-port 时,此设置才会生效。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__PORTS__PORTS__NODE_PORT

显示更多

整数

如果启用,该端口将被配置为使用 HTTPS 架构。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__PORTS__PORTS__TLS

显示更多

布尔值

false

镜像拉取策略。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__IMAGE_PULL_POLICY

显示更多

always, if-not-present, never

always

镜像拉取密钥。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__IMAGE_PULL_SECRETS

显示更多

字符串列表

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__LIVENESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

配置 http get 操作时要使用的端口号。 如果未配置,将使用与 httpActionPortName 对应的端口。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PORT

显示更多

整数

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

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

显示更多

字符串

探针要使用的 http 路径。 为使此操作生效,还需要设置容器端口。

假设已设置容器端口(如上文所述),如果未设置 execAction 或 tcpSocketAction,即使未设置路径,也会自动使用 HTTP 探针(这将导致使用根路径)。 如果使用了 Smallrye Health,则路径将根据运行状况检查路径自动设置。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PATH

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_SCHEME

显示更多

字符串

探针要使用的命令。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_EXEC_ACTION

显示更多

字符串

探针要使用的 tcp 套接字(格式为 host:port)。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_TCP_SOCKET_ACTION

显示更多

字符串

探针要使用的 gRPC 端口(格式为 port 或 port:service)。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION_ENABLED

显示更多

布尔值

false

开始探测之前要等待的时间。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_INITIAL_DELAY

显示更多

Duration 

5S

调用操作的时间段。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_PERIOD

显示更多

Duration 

10S

等待每个操作的时间。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_TIMEOUT

显示更多

Duration 

10S

要使用的成功阈值。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_SUCCESS_THRESHOLD

显示更多

整数

1

要使用的失败阈值。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__READINESS_PROBE_FAILURE_THRESHOLD

显示更多

整数

3

要挂载的 volumeName 的名称。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__MOUNTS__MOUNTS__NAME

显示更多

字符串

要挂载的路径。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__MOUNTS__MOUNTS__PATH

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__MOUNTS__MOUNTS__SUB_PATH

显示更多

字符串

ReadOnly。

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__MOUNTS__MOUNTS__READ_ONLY

显示更多

布尔值

false

CPU 需求

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__RESOURCES_LIMITS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__RESOURCES_LIMITS_MEMORY

显示更多

字符串

CPU 需求

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__RESOURCES_REQUESTS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_KNATIVE_SIDECARS__SIDECARS__RESOURCES_REQUESTS_MEMORY

显示更多

字符串

IP 地址。

环境变量: QUARKUS_KNATIVE_HOSTALIASES__HOST_ALIASES__IP

显示更多

字符串

要解析到 IP 的主机名。

环境变量: QUARKUS_KNATIVE_HOSTALIASES__HOST_ALIASES__HOSTNAMES

显示更多

字符串列表

nodeSelector 的键。

环境变量: QUARKUS_KNATIVE_NODE_SELECTOR_KEY

显示更多

字符串

必需

nodeSelector 的值。

环境变量: QUARKUS_KNATIVE_NODE_SELECTOR_VALUE

显示更多

字符串

必需

CPU 需求

环境变量: QUARKUS_KNATIVE_RESOURCES_LIMITS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_KNATIVE_RESOURCES_LIMITS_MEMORY

显示更多

字符串

CPU 需求

环境变量: QUARKUS_KNATIVE_RESOURCES_REQUESTS_CPU

显示更多

字符串

内存需求

环境变量: QUARKUS_KNATIVE_RESOURCES_REQUESTS_MEMORY

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_APP_SECRET

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_APP_CONFIG_MAP

显示更多

字符串

角色的名称。

环境变量: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__NAME

显示更多

字符串

角色的命名空间。

环境变量: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__NAMESPACE

显示更多

字符串

要添加到 Role 资源中的标签。

环境变量: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__LABELS__LABEL_NAME_

显示更多

Map<String,String>

策略规则的 API 组。

环境变量: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

显示更多

字符串列表

策略规则的非资源 URL。

环境变量: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

显示更多

字符串列表

策略规则的资源名称。

环境变量: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

显示更多

字符串列表

策略规则的资源。

环境变量: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

显示更多

字符串列表

策略规则的动词。

环境变量: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__VERBS

显示更多

字符串列表

集群角色的名称。

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__NAME

显示更多

字符串

要添加到 ClusterRole 资源中的标签。

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__LABELS__LABEL_NAME_

显示更多

Map<String,String>

策略规则的 API 组。

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

显示更多

字符串列表

策略规则的非资源 URL。

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

显示更多

字符串列表

策略规则的资源名称。

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

显示更多

字符串列表

策略规则的资源。

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

显示更多

字符串列表

策略规则的动词。

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__VERBS

显示更多

字符串列表

服务帐户的名称。

环境变量: QUARKUS_KNATIVE_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAME

显示更多

字符串

服务帐户的命名空间。

环境变量: QUARKUS_KNATIVE_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAMESPACE

显示更多

字符串

服务帐户的标签。

环境变量: QUARKUS_KNATIVE_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__LABELS__LABEL_NAME_

显示更多

Map<String,String>

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

环境变量: QUARKUS_KNATIVE_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__USE_AS_DEFAULT

显示更多

布尔值

要生成的 RoleBinding 资源的名称。如果未提供,将使用应用程序名称加上角色引用名称。

环境变量: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__NAME

显示更多

字符串

要添加到 RoleBinding 资源中的标签。

环境变量: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__LABELS__LABEL_NAME_

显示更多

Map<String,String>

在生成的 Role Binding 资源中由 RoleRef 元素使用的 Role 资源的名称。 默认情况下,它是 “view” 角色名称。

环境变量: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__ROLE_NAME

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__CLUSTER_WIDE

显示更多

布尔值

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

环境变量: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

显示更多

字符串

ServiceAccount

与 “kind” 属性匹配的 “apiGroup” 资源。 默认情况下,它是空的。

环境变量: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

显示更多

字符串

在生成的 Role Binding 资源中由 Subject 元素使用的 “namespace” 资源。 默认情况下,它将使用与生成的资源中提供的相同的命名空间。

环境变量: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

显示更多

字符串

要生成的 ClusterRoleBinding 资源的名称。如果未提供,将使用应用程序名称加上角色引用名称。

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__NAME

显示更多

字符串

要添加到 RoleBinding 资源中的标签。

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__LABELS__LABEL_NAME_

显示更多

Map<String,String>

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

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__ROLE_NAME

显示更多

字符串

必需

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

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

显示更多

字符串

ServiceAccount

与 “kind” 属性匹配的 “apiGroup” 资源。 默认情况下,它是空的。

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

显示更多

字符串

在生成的 Role Binding 资源中由 Subject 元素使用的 “namespace” 资源。 默认情况下,它将使用与生成的资源中提供的相同的命名空间。

环境变量: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

显示更多

字符串

应用于容器的 SELinux level 标签。

环境变量: QUARKUS_KNATIVE_SECURITY_CONTEXT_SE_LINUX_OPTIONS_LEVEL

显示更多

字符串

应用于容器的 SELinux role 标签。

环境变量: QUARKUS_KNATIVE_SECURITY_CONTEXT_SE_LINUX_OPTIONS_ROLE

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_SECURITY_CONTEXT_SE_LINUX_OPTIONS_TYPE

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_SECURITY_CONTEXT_SE_LINUX_OPTIONS_USER

显示更多

字符串

要使用的 GMSA 凭据规范的名称。

环境变量: QUARKUS_KNATIVE_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC_NAME

显示更多

字符串

GMSACredentialSpec 是 GMSA 准入 Webhook (windows-gsma) 在其中内联由 GMSACredentialSpecName 字段命名的 GMSA 凭据规范内容的位置。

环境变量: QUARKUS_KNATIVE_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC

显示更多

字符串

在 Windows 中运行容器进程入口点的用户名。

环境变量: QUARKUS_KNATIVE_SECURITY_CONTEXT_WINDOWS_OPTIONS_RUN_AS_USER_NAME

显示更多

字符串

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

环境变量: QUARKUS_KNATIVE_SECURITY_CONTEXT_WINDOWS_OPTIONS_HOST_PROCESS

显示更多

布尔值

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

环境变量: QUARKUS_KNATIVE_SECURITY_CONTEXT_RUN_AS_USER

显示更多

long

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

环境变量: QUARKUS_KNATIVE_SECURITY_CONTEXT_RUN_AS_GROUP

显示更多

long

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

环境变量:QUARKUS_KNATIVE_SECURITY_CONTEXT_RUN_AS_NON_ROOT

显示更多

布尔值

应用于每个容器中运行的第一个进程的组列表,此外还有容器的主 GID。如果未指定,则不会向任何容器添加组。

环境变量:QUARKUS_KNATIVE_SECURITY_CONTEXT_SUPPLEMENTAL_GROUPS

显示更多

long 列表

应用于 Pod 中所有容器的特殊补充组。

环境变量:QUARKUS_KNATIVE_SECURITY_CONTEXT_FS_GROUP

显示更多

long

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

环境变量:QUARKUS_KNATIVE_SECURITY_CONTEXT_SYSCTLS__SYSCTL_NAME_

显示更多

Map<String,String>

它保存了在挂载卷时将 fsGroup 应用于卷的策略。值:OnRootMismatch, Always

环境变量:QUARKUS_KNATIVE_SECURITY_CONTEXT_FS_GROUP_CHANGE_POLICY

显示更多

on-root-mismatch它表示仅当根目录的权限和所有权与卷上的预期权限不匹配时,才会更改卷的所有权和权限。, always它表示无论何时将卷安装在 Pod 中,都应始终更改卷的所有权和权限。这是默认行为。

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

环境变量:QUARKUS_KNATIVE_IDEMPOTENT

显示更多

布尔值

false

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

环境变量:QUARKUS_KNATIVE_VCS_URI_ENABLED

显示更多

布尔值

true

vcs-uri 注解的可选覆盖。

环境变量:QUARKUS_KNATIVE_VCS_URI_OVERRIDE

显示更多

字符串

此服务是否为集群本地服务。 集群本地服务不会暴露给外部。 更多信息请参考此链接

环境变量:QUARKUS_KNATIVE_CLUSTER_LOCAL

显示更多

布尔值

false

此值控制每个修订版本应具有的最小副本数。 Knative 会尝试在任何时间点都不少于此副本数。

环境变量:QUARKUS_KNATIVE_MIN_SCALE

显示更多

整数

此值控制每个修订版本应具有的最大副本数。 Knative 会尝试在任何时间点都不会运行超过此数量的副本,或正在创建的过程中。

环境变量:QUARKUS_KNATIVE_MAX_SCALE

显示更多

整数

scale-to-zero 值控制 Knative 是否允许修订版本缩减到零,或者停止在“1”。

环境变量:QUARKUS_KNATIVE_SCALE_TO_ZERO_ENABLED

显示更多

布尔值

true

自动伸缩器类。 Knative Serving 自带其自己的自动伸缩器 KPA(Knative Pod Autoscaler),但也可以配置为使用 Kubernetes 的 HPA(Horizontal Pod Autoscaler),甚至自定义第三方自动伸缩器。 可能的值(kpa、hpa,默认值:kpa)。

环境变量:QUARKUS_KNATIVE_REVISION_AUTO_SCALING_AUTO_SCALER_CLASS

显示更多

kpaKubernetes Pod AutoscalerhpaHorizontal Pod Autoscaler

要使用的自动伸缩指标。 可能的值(concurrency、rps、cpu)。

环境变量:QUARKUS_KNATIVE_REVISION_AUTO_SCALING_METRIC

显示更多

concurrency并发rps每秒请求数cpuCPU

自动伸缩目标。

环境变量:QUARKUS_KNATIVE_REVISION_AUTO_SCALING_TARGET

显示更多

整数

一次允许副本处理的确切请求数。 其默认值为“0”,这意味着允许无限数量的请求流入副本。

环境变量:QUARKUS_KNATIVE_REVISION_AUTO_SCALING_CONTAINER_CONCURRENCY

显示更多

整数

此值指定自动伸缩器实际定位的目标的百分比。

环境变量:QUARKUS_KNATIVE_REVISION_AUTO_SCALING_TARGET_UTILIZATION_PERCENTAGE

显示更多

整数

自动伸缩器类。 Knative Serving 自带其自己的自动伸缩器 KPA(Knative Pod Autoscaler),但也可以配置为使用 Kubernetes 的 HPA(Horizontal Pod Autoscaler),甚至自定义第三方自动伸缩器。 可能的值(kpa、hpa,默认值:kpa)。

环境变量:QUARKUS_KNATIVE_GLOBAL_AUTO_SCALING_AUTO_SCALER_CLASS

显示更多

kpaKubernetes Pod AutoscalerhpaHorizontal Pod Autoscaler

一次允许副本处理的确切请求数。 其默认值为“0”,这意味着允许无限数量的请求流入副本。

环境变量:QUARKUS_KNATIVE_GLOBAL_AUTO_SCALING_CONTAINER_CONCURRENCY

显示更多

整数

此值指定自动伸缩器实际定位的目标的百分比。

环境变量:QUARKUS_KNATIVE_GLOBAL_AUTO_SCALING_TARGET_UTILIZATION_PERCENTAGE

显示更多

整数

每个副本的每秒请求数。

环境变量:QUARKUS_KNATIVE_GLOBAL_AUTO_SCALING_REQUESTS_PER_SECOND

显示更多

整数

修订版本的名称。

环境变量:QUARKUS_KNATIVE_REVISION_NAME

显示更多

字符串

标签可以选择用于公开专用 URL,以专门引用此目标。

环境变量:QUARKUS_KNATIVE_TRAFFIC__TRAFFIC__TAG

显示更多

字符串

要将此部分流量发送到的特定修订版本的 RevisionName。

环境变量:QUARKUS_KNATIVE_TRAFFIC__TRAFFIC__REVISION_NAME

显示更多

字符串

可以选择提供 LatestRevision,以指示配置的最新就绪修订版本应用于此流量目标。 如果 RevisionName 为空,则必须提供 LatestRevision 且为 true。

环境变量:QUARKUS_KNATIVE_TRAFFIC__TRAFFIC__LATEST_REVISION

显示更多

布尔值

false

百分比表示应使用基于百分比的路由,并且该值指示要路由到此修订版本或配置的流量百分比。 0(零)表示无流量,100 表示所有流量。

环境变量:QUARKUS_KNATIVE_TRAFFIC__TRAFFIC__PERCENT

显示更多

long

100

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

环境变量:QUARKUS_KNATIVE_DEPLOY

显示更多

布尔值

false

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

环境变量:QUARKUS_KNATIVE_DEPLOY_STRATEGY

显示更多

create-or-update, create, replace, server-side-apply

create-or-update

部署目标

前面的章节提到了 deployment-target 的概念。 此概念允许用户控制将哪些 Kubernetes 清单生成并部署到集群(如果 quarkus.kubernetes.deploy 已设置为 true)。

默认情况下,如果不设置 deployment-target,则只会生成和部署普通的 Kubernetes 资源。 如果设置了多个值(例如 quarkus.kubernetes.deployment-target=kubernetes,openshift),则会生成所有目标的资源,但只有与**第一个**目标对应的资源才会应用于集群(如果启用了部署)。

对于喜欢保持 application.properties 与部署平台独立的的用户,可以通过在 deploy 命令中添加 -Dquarkus.kubernetes.deployment-target=knative 以及 -Dquarkus.knative.deploy=true,直接在 deploy 命令中指定部署目标。 此外,Quarkus 允许将这两个属性折叠为一个:-Dquarkus.knative.deploy=true

./mvnw clean package -Dquarkus.knative.deploy=true

与 gradle 等效

./gradlew build -Dquarkus.knative.deploy=true

如果同时使用这两个属性,并且值冲突,则使用 -Dquarkus.kubernetes.deployment-target

在 OpenShift 和 Minikube 等包装器扩展的情况下,当这些扩展已显式添加到项目中时,默认 deployment-target 由这些扩展设置。 例如,如果 quarkus-minikube 已添加到项目中,则 minikube 将成为默认部署目标,并且当通过 quarkus.kubernetes.deploy 设置启用部署时,其资源将应用于 Kubernetes 集群。 用户仍然可以使用 quarkus.kubernetes.deployment-target 手动覆盖部署目标。

已弃用的配置

以下配置属性类别已弃用。

没有 quarkus 前缀的属性

在该扩展的早期版本中,这些属性缺少 quarkus.。 这些属性现已弃用。

Docker 和 S2i 属性

用于配置 dockers2i 的属性也已弃用,取而代之的是新的容器镜像扩展。

配置组数组

引用配置组数组的属性(例如,kubernetes.labels[0]kubernetes.env-vars[0] 等)已转换为 Map,以与 Quarkus 生态系统的其余部分保持一致。

下面的代码演示了 labels 配置中的更改

# Old labels config:
kubernetes.labels[0].name=foo
kubernetes.labels[0].value=bar

# New labels
quarkus.kubernetes.labels.foo=bar

下面的代码演示了 env-vars 配置中的更改

# Old env-vars config:
kubernetes.env-vars[0].name=foo
kubernetes.env-vars[0].configmap=my-configmap

# New env-vars
quarkus.kubernetes.env-vars.foo.configmap=myconfigmap

env-vars 属性

quarkus.kubernetes.env-vars 已弃用(尽管在撰写本文时仍受支持),应使用新的声明样式。 有关更多详细信息,请参阅 环境变量,特别是 向后兼容性

部署

要触发构建和部署容器镜像,您需要启用 quarkus.kubernetes.deploy 标志(默认情况下禁用该标志 - 此外,在测试运行或开发模式下无效)。 这可以使用命令行轻松完成

./mvnw clean package -Dquarkus.kubernetes.deploy=true

构建容器镜像

可以使用 3 个可用的 container-image 扩展中的任何一个来构建容器镜像

每次请求部署时,将隐式触发容器镜像构建(启用 Kubernetes 部署时,不需要其他属性)。

部署

启用部署后,Kubernetes 扩展将选择 quarkus.kubernetes.deployment-target 指定的资源并部署它们。 这假定在您的用户目录中有一个 .kube/config 指向目标 Kubernetes 集群。 换句话说,该扩展将使用 kubectl 使用的任何集群。 这同样适用于凭据。

目前,没有提供其他选项用于进一步自定义。

远程调试

要远程调试在 kubernetes 环境中运行的应用程序,我们需要按照上一节所述部署应用程序,并添加新属性:quarkus.kubernetes.remote-debug.enabled=true。 此属性将自动配置 Java 应用程序以附加 java agent 配置(例如:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005)以及服务资源,以使用 java agent 端口进行侦听。

使用调试功能部署应用程序后,接下来您需要将流量从本地主机隧道传输到 java agent 的指定端口

kubectl port-forward svc/<application name> 5005:5005

使用此命令,您将流量从“localhost:5005”转发到使用端口“5005”运行 java agent 的 kubernetes 服务,该端口是 java agent 默认用于远程调试的端口。 您还可以使用属性 quarkus.kubernetes.remote-debug.address-port 配置另一个 java agent 端口。

最后,您需要做的就是配置您最喜欢的 IDE 以附加转发到 localhost:5005 的 java agent 进程,然后开始调试您的应用程序。 例如,在 IntelliJ IDEA 中,您可以按照 此教程 来调试远程应用程序。

使用现有资源

有时,希望提供其他资源(例如,ConfigMap、Secret、数据库的 Deployment)或提供自定义资源,这些资源将用作生成过程的 base。 这些资源可以添加到 src/main/kubernetes 目录下,并且可以按目标环境命名(例如,kubernetes.json、openshift.json、knative.json 或 yml 等效项)。 提供的文件和生成的文件之间的关联是通过文件名完成的。 因此,在 src/main/kubernetes 中添加的 kubernetes.json/kubernetes.yml 文件只会影响生成的 kubernetes.json/kubernetes.yml。 在 src/main/kubernetes 中添加的 openshift.json/openshift.yml 文件只会影响生成的 openshift.json/openshift.yml。 在 src/main/kubernetes 中添加的 knative.json/knative.yml 文件只会影响生成的 knative.json/knative.yml,依此类推。 提供的文件可以是 json 或 yaml 格式,并且可以包含一个或多个资源。 这些资源将最终出现在两种生成格式(json 和 yaml)中。 例如,添加到 src/main/kubernetes/kubernetes.yml 中的 secret 将添加到生成的 kubernetes.ymlkubernetes.json 中。

注意:在撰写本文时,没有机制允许提供的文件和生成的文件之间存在一对多的关系。 Minikube 也不例外,因此如果要自定义生成的 minikube 清单,则放在 src/main/kubernetes 下的文件必须命名为 minikube.jsonminikube.yml(将其命名为 kubernetes.ymlkubernetes.json 将只会影响生成的 kubernetes.ymlkubernetes.json)。

找到的任何资源都将添加到生成的清单中。 全局修改(例如,标签、注释)也将应用于这些资源。 如果提供的资源之一与生成的资源之一具有相同的名称,则将基于提供的资源创建生成的资源,并在可能的情况下遵守现有内容(例如,现有标签、注释、环境变量、挂载、副本等)。

资源的名称由应用程序名称确定,并且可以被 quarkus.kubernetes.namequarkus.openshift.namequarkus.knative.name 覆盖。

例如,在 kubernetes-quickstart 应用程序中,我们可以在 src/main/kubernetes 中添加一个 kubernetes.yml 文件,如下所示

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kubernetes-quickstart
  labels:
    app: quickstart
spec:
  replicas: 3
  selector:
    matchLabels:
      app: quickstart
  template:
    metadata:
      labels:
        app: quickstart
    spec:
      containers:
      - name: kubernetes-quickstart
        image: someimage:latest
        ports:
        - containerPort: 80
        env:
        - name: FOO
          value: BAR

生成的 kubernetes.yml 将如下所示

apiVersion: "apps/v1"
kind: "Deployment"
metadata:
  annotations:
    app.quarkus.io/build-timestamp: "2020-04-10 - 12:54:37 +0000"
  labels:
    app: "quickstart"
  name: "kubernetes-quickstart"
spec:
  replicas: 3 (1)
  selector:
    matchLabels:
      app.kubernetes.io/name: "kubernetes-quickstart"
      app.kubernetes.io/version: "1.0.0-SNAPSHOT"
  template:
    metadata:
      annotations:
        app.quarkus.io/build-timestamp: "2020-04-10 - 12:54:37 +0000"
      labels:
        app: "quickstart" (2)
    spec:
      containers:
      - env:
        - name: "FOO" (3)
          value: "BAR"
        image: "<<yourDockerUsername>>/kubernetes-quickstart:1.0.0-SNAPSHOT" (4)
        imagePullPolicy: "Always"
        name: "kubernetes-quickstart"
        ports:
        - containerPort: 8080 (5)
          name: "http"
          protocol: "TCP"
      serviceAccount: "kubernetes-quickstart"
1 提供的副本数,
2 标签和
3 环境变量已保留。
4 但是,镜像和
5 容器端口已被修改。

此外,已添加默认注释。

  • 当资源名称与应用程序名称(或覆盖的名称)不匹配时,将添加新资源,而不是重用该资源。 容器也是如此。

  • 当容器的名称与应用程序名称(或覆盖的名称)不匹配时,将忽略特定于容器的配置。

使用通用资源

当为多个部署目标(如 Kubernetes、OpenShift 或 Knative)生成清单时,我们可以将通用资源放在 src/main/kubernetes/common.yml 中,因此这些资源将被集成到生成的 kubernetes.json/kubernetes.ymlopenshift.json/openshift.yml 文件中(如果您同时配置 Kubernetes 和 OpenShift 扩展)。

例如,我们可以在文件 src/main/kubernetes/common.yml 中仅编写一次 ConfigMap 资源

apiVersion: v1
kind: ConfigMap
metadata:
  name: common-configmap
data:
  hello: world

此 config map 资源将被集成到生成的 kubernetes.json/kubernetes.ymlopenshift.json/openshift.yml 文件中。

服务绑定

Quarkus 支持 Kubernetes 服务绑定规范,以将服务绑定到应用程序。

具体来说,Quarkus 实现了规范的 工作负载投影 部分,因此允许应用程序绑定到服务,例如数据库或消息代理,而无需用户配置。

要为受支持的扩展启用服务绑定,请将 quarkus-kubernetes-service-binding 扩展添加到应用程序依赖项。

  • 以下扩展可以与服务绑定一起使用,并且支持工作负载投影

    • quarkus-jdbc-mariadb

    • quarkus-jdbc-mssql

    • quarkus-jdbc-mysql

    • quarkus-jdbc-postgresql

    • quarkus-mongodb-client

    • quarkus-kafka-client

    • quarkus-messaging-kafka

    • quarkus-reactive-db2-client

    • quarkus-reactive-mssql-client

    • quarkus-reactive-mysql-client

    • quarkus-reactive-oracle-client

    • quarkus-reactive-pg-client

    • quarkus-infinispan-client

工作负载投影

工作负载投影是从 Kubernetes 集群获取服务配置的过程。 此配置采用遵循某些约定的目录结构的形式,并作为挂载卷附加到应用程序或服务。 kubernetes-service-binding 扩展使用此目录结构创建配置源,这允许您配置其他模块,例如数据库或消息代理。

在应用程序开发期间,用户可以使用工作负载投影将其应用程序连接到开发数据库或其他本地运行的服务,而无需更改实际的应用程序代码或配置。

有关工作负载投影的示例,其中目录结构包含在测试资源中并传递给集成测试,请参阅 Kubernetes Service Binding datasource GitHub 存储库。

  • k8s-sb 目录是所有服务绑定的根目录。 在此示例中,仅计划绑定一个名为 fruit-db 的数据库。 此绑定数据库具有 type 文件,该文件指示 postgresql 作为数据库类型,而目录中的其他文件提供建立连接所需的信息。

  • 在您的 Quarkus 项目从 OpenShift 设置的 SERVICE_BINDING_ROOT 环境变量中获取信息后,您可以找到文件系统中存在的生成的配置文件,并使用它们将配置文件值映射到某些扩展的属性。

服务绑定运算符简介

服务绑定运算符 是一个实现 Kubernetes 服务绑定规范 的运算符,旨在简化服务到应用程序的绑定。 支持 工作负载投影 的容器化应用程序以卷挂载的形式获取服务绑定信息。 服务绑定运算符读取绑定服务信息,并将其挂载到需要它的应用程序容器。

应用程序和绑定服务之间的关联通过 ServiceBinding 资源表达,该资源声明了哪些服务计划绑定到哪些应用程序的意图。

服务绑定运算符监视 ServiceBinding 资源,该资源告知运算符哪些应用程序计划绑定到哪些服务。 部署列出的应用程序时,服务绑定运算符会收集必须传递给应用程序的所有绑定信息,然后通过附加包含绑定信息的卷挂载来升级应用程序容器。

服务绑定运算符完成以下操作

  • 观察 ServiceBinding 资源,以了解计划绑定到特定工作负载的服务

  • 使用卷挂载将绑定信息应用于工作负载

以下章节描述了自动和半自动服务绑定方法及其用例。 对于任一方法,kubernetes-service-binding 扩展都会生成 ServiceBinding 资源。 对于半自动方法,用户必须手动提供目标服务的配置。 对于自动方法,对于有限的服务集生成 ServiceBinding 资源,不需要其他配置。

半自动服务绑定

服务绑定过程从用户指定将绑定到某个应用程序的所需服务开始。 此表达式概括在由 kubernetes-service-binding 扩展生成的 ServiceBinding 资源中。 使用 kubernetes-service-binding 扩展可以帮助用户以最少的配置生成 ServiceBinding 资源,从而简化整个过程。

负责绑定过程的服务绑定运算符然后从 ServiceBinding 资源读取信息,并将所需的文件相应地挂载到容器。

  • ServiceBinding 资源示例

    apiVersion: binding.operators.coreos.com/v1beta1
    kind: ServiceBinding
    metadata:
     name: binding-request
     namespace: service-binding-demo
    spec:
     application:
       name: java-app
       group: apps
       version: v1
       resource: deployments
     services:
     - group: postgres-operator.crunchydata.com
       version: v1beta1
       kind: Database
       name: db-demo
       id: postgresDB
    • quarkus-kubernetes-service-binding 扩展提供了一种更紧凑的方式来表达相同的信息。 例如

      quarkus.kubernetes-service-binding.services.db-demo.api-version=postgres-operator.crunchydata.com/v1beta1
      quarkus.kubernetes-service-binding.services.db-demo.kind=Database

在您的 application.properties 中添加了前面提到的配置属性后,quarkus-kubernetesquarkus-kubernetes-service-binding 扩展结合使用,会自动生成 ServiceBinding 资源。

前面提到的 db-demo 属性配置标识符现在具有双重角色,并且还完成以下操作

  • 关联并组合 api-versionkind 属性

  • 为自定义资源定义 name 属性,并可能在以后进行编辑。 例如

    quarkus.kubernetes-service-binding.services.db-demo.api-version=postgres-operator.crunchydata.com/v1beta1
    quarkus.kubernetes-service-binding.services.db-demo.kind=Database
    quarkus.kubernetes-service-binding.services.db-demo.name=my-db
其他资源

自动服务绑定

quarkus-kubernetes-service-binding 扩展可以在检测到应用程序需要访问可用的可绑定运算符提供的外部服务后,自动生成 ServiceBinding 资源。

可以为有限数量的服务类型生成自动服务绑定。 为了与 Kubernetes 和 Quarkus 服务的既定术语保持一致,本章将这些服务类型称为种类。
表 2. 支持服务自动绑定的运算符

运算符

API 版本

种类

postgresql

CrunchyData Postgres

postgres-operator.crunchydata.com/v1beta1

PostgresCluster

mysql

Percona XtraDB Cluster

pxc.percona.com/v1-9-0

PerconaXtraDBCluster

mongo

Percona Mongo

psmdb.percona.com/v1-9-0

PerconaServerMongoDB

自动数据源绑定

对于传统数据库,只要按如下方式配置数据源,就会启动自动绑定

quarkus.datasource.db-kind=postgresql

前面的配置与应用程序中存在的 quarkus-datasourcequarkus-jdbc-postgresqlquarkus-kubernetesquarkus-kubernetes-service-binding 属性结合使用,会导致为 postgresql 数据库类型生成 ServiceBinding 资源。

通过使用运算符资源的 apiVersionkind 属性(与使用的 postgresql 运算符匹配),生成的 ServiceBinding 资源将服务或资源绑定到应用程序。

如果不指定数据库服务的名称,则 db-kind 属性的值将用作默认名称。

 services:
 - apiVersion: postgres-operator.crunchydata.com/v1beta1
   kind: PostgresCluster
   name: postgresql

按如下方式指定数据源的名称

quarkus.datasource.fruits-db.db-kind=postgresql

生成的 ServiceBinding 中的 service 然后显示如下

 services:
 - apiVersion: postgres-operator.crunchydata.com/v1beta1
   kind: PostgresCluster
   name: fruits-db

类似地,如果使用 mysql,则可以按如下方式指定数据源的名称

quarkus.datasource.fruits-db.db-kind=mysql

生成的 service 包含以下内容

 services:
 - apiVersion: pxc.percona.com/v1-9-0
   kind: PerconaXtraDBCluster
   name: fruits-db

自定义自动服务绑定

即使开发自动绑定是为了尽可能减少手动配置,但在某些情况下可能仍然需要修改生成的 ServiceBinding 资源。 生成过程专门依赖于从应用程序中提取的信息和对受支持运算符的了解,这可能无法反映集群中部署的内容。 生成的资源纯粹基于对流行的服务种类的受支持的可绑定运算符以及为防止可能的不匹配而开发的一组约定的了解,例如

  • 目标资源名称与数据源名称不匹配

  • 需要使用特定的运算符,而不是该服务种类的默认运算符

  • 当用户需要使用除默认版本或最新版本以外的任何其他版本时发生的版本冲突

约定
  • 目标资源坐标基于运算符类型和服务种类确定。

  • 默认情况下,目标资源名称设置为与服务种类匹配,例如 postgresqlmysqlmongo

  • 对于命名的数据源,使用数据源的名称。

  • 对于命名的 mongo 客户端,使用客户端的名称。

示例 1 - 名称不匹配

对于需要修改生成的 ServiceBinding 以修复名称不匹配的情况,请使用 quarkus.kubernetes-service-binding.services 属性并将服务的名称指定为服务密钥。

service key 通常是服务的名称,例如数据源的名称或 mongo 客户端的名称。 如果此值不可用,则使用数据源类型,例如 postgresqlmysqlmongo

为避免不同类型的服务之间的命名冲突,请为 service key 添加特定数据源类型的前缀,例如 postgresql-<person>

以下示例显示了如何自定义 PostgresCluster 资源的 apiVersion 属性

quarkus.datasource.db-kind=postgresql
quarkus.kubernetes-service-binding.services.postgresql.api-version=postgres-operator.crunchydata.com/v1beta2
示例 2:为数据源应用自定义名称

在示例 1 中,db-kind(postgresql) 被用作服务密钥。在本示例中,由于数据源已命名,按照惯例,将使用数据源名称 (fruits-db) 代替。

以下示例展示了对于命名数据源,数据源名称将用作目标资源的名称。

quarkus.datasource.fruits-db.db-kind=postgresql

这与以下配置具有相同的效果

quarkus.kubernetes-service-binding.services.fruits-db.api-version=postgres-operator.crunchydata.com/v1beta1
quarkus.kubernetes-service-binding.services.fruits-db.kind=PostgresCluster
quarkus.kubernetes-service-binding.services.fruits-db.name=fruits-db
其他资源
  • 有关可用属性及其工作原理的更多详细信息,请参阅 Service Binding 规范的 Workload Projection 部分。

相关内容