The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

Kubernetes エクステンション

Quarkusは、 dekorate を使用して、妥当なデフォルトとユーザーが提供する設定に基づいて Kubernetes リソースを自動的に生成する機能を提供しています。現在、バニラ KubernetesOpenShift、および Knative のリソースの生成をサポートしています。さらに、Quarkusは、生成されたマニフェストをターゲットクラスターの API Server に適用することで、ターゲット Kubernetes クラスターにアプリケーションをデプロイすることができます。最後に、コンテナーイメージエクステンションのいずれかが存在する場合 (詳細は container image guide を参照)、Quarkus では、ターゲットプラットフォームにアプリケーションをデプロイする に、コンテナーイメージを作成してレジストリーにプッシュする機能があります。

前提条件

このガイドを完成させるには、以下が必要です:

  • 約15分

  • IDE

  • JDK 17+がインストールされ、 JAVA_HOME が適切に設定されていること

  • Apache Maven 3.9.6

  • 使用したい場合は、 Quarkus CLI

  • Kubernetesクラスターへのアクセス(Minikubeは有効な選択肢です)

Kubernetes

Kubernetes エクステンションとJib エクステンションの両方を含む新しいプロジェクトを作成してみましょう。

コマンドラインインタフェース
quarkus create app org.acme:kubernetes-quickstart \
    --extension='resteasy-reactive,kubernetes,jib'
cd kubernetes-quickstart

Gradleプロジェクトを作成するには、 --gradle または --gradle-kotlin-dsl オプションを追加します。

Quarkus CLIのインストールと使用方法の詳細については、 Quarkus CLI ガイドを参照してください。

Maven
mvn io.quarkus.platform:quarkus-maven-plugin:3.8.3:create \
    -DprojectGroupId=org.acme \
    -DprojectArtifactId=kubernetes-quickstart \
    -Dextensions='resteasy-reactive,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-resteasy-reactive</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-resteasy-reactive")
implementation("io.quarkus:quarkus-kubernetes")
implementation("io.quarkus:quarkus-container-image-jib")

これらの依存関係を追加することで、ビルドを実行するたびに Kubernetes マニフェストの生成を可能にし、同時に Jib を使ったコンテナーイメージのビルドを可能にします。たとえば、以下を実行した後、

コマンドラインインタフェース
quarkus build
Maven
./mvnw install
Gradle
./gradlew build

作成された他のファイルの中に kubernetes.jsonkubernetes.yml という名前の 2 つのファイルが target/kubernetes/ ディレクトリーにあることに気づくでしょう。

どちらのファイルを見ても、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) について注意すべき重要なことは、Pod のコンテナーイメージとして yourDockerUsername/test-quarkus-app:1.0.0-SNAPSHOT を使用していることです。イメージの名前は 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-id , app.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 リソースの他に、 StatefulSetJobCronJob リソースの代わりに application.properties を生成することもできます:

quarkus.kubernetes.deployment-kind=StatefulSet

Job リソースの生成

Job リソースを生成する場合は、 application.properties で以下のプロパティを追加する必要があります。

quarkus.kubernetes.deployment-kind=Job
Picocliエクステンションを使用している場合、デフォルトでJobリソースが生成されます。

Kubernetes Jobで使用される引数は、プロパティ quarkus.kubernetes.arguments で指定できます。例えば、`quarkus.kubernetes.arguments=A,B`というプロパティを追加することで。

最後に、OpenShiftにインストールされる度にKubernetesのJobは毎回起動されます。KubernetesのJobの実行方法については、こちらの リンク で詳しく解説しています。

You can configure the rest of the Kubernetes Job configuration using the properties under quarkus.kubernetes.job.xxx (see link).

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.openshift.cron-job.schedule を介してジョブを起動するタイミングを指定することを必要とします。提供されない場合、ビルドは失敗します。

Kubernetes CronJobの残りの設定は、 quarkus.kubernetes.cron-job.xxx 以下( リンク 参照)のプロパティを使用して設定できます。

名前空間

デフォルトでは、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

具体的には以下のような「シークレット」が生成されます:

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

また、 test-quarkus-app-pull-secretimagePullSecrets リストに追加されます。

ラベルとアノテーション

ラベル

生成されたマニフェストには、Kubernetes 推奨のラベルが使用されます。これらのラベルは、 quarkus.kubernetes.name, quarkus.kubernetes.version および quarkus.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) のプロパティーのカスタマイズは同じ方法で行いますが、 kubernetesopenshift (または 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

Custom Labels

追加のカスタムラベルを追加するには、例えば 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 をカンマ ( , ) で区切ってください。

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
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
フィールドからの環境変数

また、以下のように、ソースとして使用するフィールドのパスを指定することで、別のフィールドの値を使用して新しい環境変数を追加することも可能です。

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

OpenShift の項で詳しく説明していますが、OpenShift のプロパティーのカスタマイズも同じ方法で行いますが、 kubernetesopenshift に置き換えます。OpenShiftの先ほどの例は次のようになります。

quarkus.openshift.env.fields.foo=metadata.name
バリデーション

例えば、誤って両方の値を代入したり、変数がフィールドから派生したものであることを指定したりするなど、2つの定義の間で競合が発生すると、ビルド時にエラーが発生します。そのため、問題の原因を診断するのが困難なクラスターにアプリケーションをデプロイする前に問題を修正する機会を得ることができます。

同様に、同じシークレットからのインジェクションを2回定義するなど、2つの冗長な定義があっても問題は発生しませんが、その定義を複製することを意図していなかった可能性があることを知らせる警告が実際に報告されます。

下位互換性

Kubernetes エクステンションの以前のバージョンでは、環境変数を追加するための異なる構文をサポートしていました。古い構文はまだサポートされていますが、非推奨ですので、新しい構文に移行することをお勧めします。

Table 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

これにより、Pod のパス /where/to/mount にボリューム my-volume のマウントを追加します。 ボリューム自体は、以下のセクションに示すように設定することができます。

シークレットのボリューム
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 を介して) 外部の場所から設定を渡すことをサポートしています。これには通常、追加の環境変数またはシステムプロパティーを設定する必要があります。アプリケーション設定の目的でシークレットまたは設定マップを使用する必要がある場合は、次のことを行う必要があります。

  • ボリュームを定義する

  • ボリュームをマウントする

  • 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>

これらのプロパティを使用すると、生成されたマニフェストには必要なものがすべて含まれます。 アプリケーションのコンフィグボリュームは、Secret と ConfigMap にそれぞれパスを使用して作成されます。Secret と ConfigMap はそれぞれ /mnt/app-secret/mnt/app-config-map を使用して作成されます。

注:ユーザーは両方のプロパティを同時に使用することができます。

レプリカ数を変更する

レプリカ数を1から3に変更するためには次のようにします。

quarkus.kubernetes.replicas=3

rediness および liveness プローブを追加する

デフォルトでは、Kubernetesリソースは、生成された Deployment の中に readiness と liveness のプローブを含みません。しかし、これらを追加するには、以下のように SmallRye Health エクステンションを追加するだけです。

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

The values of the generated probes will be determined by the configured health properties: quarkus.smallrye-health.root-path, quarkus.smallrye-health.liveness-path and quarkus.smallrye-health.readiness-path. More information about the health extension can be found in the relevant guide.

readiness probeのカスタマイズ

プローブの初期遅延を 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

コンテナリソース管理

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 秘密鍵と証明書を含むシークレットを指定することで、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" という名前のシークレット内で提供された証明書を使用して、SSL を使用してすべての着信接続を検証します。

シークレットの作成方法の詳細については、 こちら を参照してください。

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 エクステンションは、"view"という名前のクラスタロールをアプリケーションのServiceAccountリソースにバインドするRoleBindingリソースを生成します。クラスタロール"view"は自動生成されないので、クラスタに"view"という名前のクラスタロールがすでにインストールされていることが期待されます。

一方、 quarkus.kubernetes.rbac.role-bindings のプロパティを使用して、生成するロール、サブジェクト、ロールバインディングを完全にカスタマイズすることができます。もし存在すれば、 kubernetes-client エクステンションはそれを使用するので、RoleBindingリソースは生成しません。

プロパティ quarkus.kubernetes-client.generate-rbac=false を使用して、RBAC リソースの生成を無効にすることができます。

RBACリソースの生成

シナリオによっては、Kubernetesが他のリソースへのアクセスを許可または制限するために使用される追加の RBAC リソースを生成する必要があります。例えば、今回のユースケースでは、インストールされているデプロイのリストを読む必要のある Kubernetesオペレーター を構築しています。これを行うには、オペレータにサービスアカウントを割り当て、このサービスアカウントと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"が生成されることになります。

デフォルトでは、1つのロールが設定されている場合、このロールとServiceAccountリソースをリンクするためのRoleBindingリソースも生成されます。

さらに、生成される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環境にデプロイするとき、ユーザーは開発プロセスを簡素化するために、マニフェストにマイナーな変更を行うことがよくあります。 最も一般的な変更は次のとおりです:

  • imagePullPolicyIfNotPresent をセット

  • Service のtypeとして NodePort を使用

Quarkusには、これらのオプションをデフォルトで設定するエクステンションがあります。 そのようなエクステンションは以下のとおりです:

  • quarkus-minikube

  • quarkus-kind

エクステンションのリストが使用しているツール(例:Docker Desktop、microk8sなど)と一致しない場合は、 quarkus-minikube のエクステンションを使用することをお勧めします。 そのデフォルト値は殆どの環境で妥当なためです。

Minikube へのデプロイ

Minikube は、開発目的でKubernetesクラスタが必要な場合に非常に人気があります。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.yaml および minikube.json) を生成することです。このエクステンションは、いくつかのことを前提としています。

  • ユーザーはイメージレジストリを使用せず、コンテナイメージをMinikubeのDockerデーモンに直接ビルドしてKubernetesクラスタにアクセスできるようにします。MinikubeのDockerデーモンを使用するには、まず実行する必要があります。

    eval $(minikube -p minikube docker-env)
  • Kubernetesにデプロイされたアプリケーションは、Kubernetesの Ingress ではなく、NodePort Service としてアクセスされます。 この方法の利点は、アプリケーションのURLを実行することで、アプリケーションのURLを簡単に取得できることです。

    minikube service list

この場合に使用される nodePort を制御するために、ユーザーは quarkus.kubernetes.node-port を設定することができます。 しかし、何も設定されていない場合、Quarkusは自動的に適切な(変更されない)値を使用するため、この設定は完全に任意であることに注意してください。

本番環境へのデプロイ時に Minikube エクステンションで生成されたマニフェストを使用することはまったくお勧めできません。本番環境にデプロイする場合は、バニラ Kubernetes マニフェスト (または OpenShift をターゲットにしている場合は OpenShift マニフェスト) の使用を検討してください。
Minikube エクステンションが想定している前提がワークフローに合わない場合、通常の Kubernetes エクステンションを使用して Kubernetes マニフェストを生成し、それを Minikube クラスタに適用することを妨げるものは何もありません。

Kind へのデプロイメント

Kind は、開発目的で Kubernetes クラスターとして使用されるもう 1 つの一般的なツールです。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 ファイルを使用して生成されたマニフェストをチューニングすることができます。 ここではいくつかの例を紹介します。

設定オプション

以下の表は、利用可能なすべての設定オプションについて説明しています。

Kubernetes

ビルド時に固定される設定プロパティ - その他の設定プロパティは実行時にオーバーライド可能です。

Configuration property

デフォルト

The name of the group this component belongs too

Environment variable: QUARKUS_KUBERNETES_PART_OF

Show more

string

The name of the application. This value will be used for naming Kubernetes resources like: - Deployment - Service and so on …​

Environment variable: QUARKUS_KUBERNETES_NAME

Show more

string

The version of the application.

Environment variable: QUARKUS_KUBERNETES_VERSION

Show more

string

The kind of the deployment resource to use. Supported values are 'StatefulSet', 'Job', 'CronJob' and 'Deployment' defaulting to the latter.

Environment variable: QUARKUS_KUBERNETES_DEPLOYMENT_KIND

Show more

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

The namespace the generated resources should belong to. If not value is set, then the 'namespace' field will not be added to the 'metadata' section of the generated manifests. This in turn means that when the manifests are applied to a cluster, the namespace will be resolved from the current Kubernetes context (see https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context for more details).

Environment variable: QUARKUS_KUBERNETES_NAMESPACE

Show more

string

Whether to add the build timestamp to the Kubernetes annotations This is a very useful way to have manifests of successive builds of the same application differ - thus ensuring that Kubernetes will apply the updated resources

Environment variable: QUARKUS_KUBERNETES_ADD_BUILD_TIMESTAMP

Show more

boolean

true

Working directory

Environment variable: QUARKUS_KUBERNETES_WORKING_DIR

Show more

string

The commands

Environment variable: QUARKUS_KUBERNETES_COMMAND

Show more

list of string

The arguments

Environment variable: QUARKUS_KUBERNETES_ARGUMENTS

Show more

list of string

The service account

Environment variable: QUARKUS_KUBERNETES_SERVICE_ACCOUNT

Show more

string

The number of desired pods

Environment variable: QUARKUS_KUBERNETES_REPLICAS

Show more

int

1

Specifies the deployment strategy.

Environment variable: QUARKUS_KUBERNETES_STRATEGY

Show more

none, recreate, rolling-update

none

Specifies the maximum number of Pods that can be unavailable during the update process.

Environment variable: QUARKUS_KUBERNETES_ROLLING_UPDATE_MAX_UNAVAILABLE

Show more

string

25%

Specifies the maximum number of Pods that can be created over the desired number of Pods.

Environment variable: QUARKUS_KUBERNETES_ROLLING_UPDATE_MAX_SURGE

Show more

string

25%

The type of service that will be generated for the application

Environment variable: QUARKUS_KUBERNETES_SERVICE_TYPE

Show more

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

cluster-ip

The nodePort to set when serviceType is set to node-port.

Environment variable: QUARKUS_KUBERNETES_NODE_PORT

Show more

int

Image pull policy

Environment variable: QUARKUS_KUBERNETES_IMAGE_PULL_POLICY

Show more

always, if-not-present, never

always

The image pull secret

Environment variable: QUARKUS_KUBERNETES_IMAGE_PULL_SECRETS

Show more

list of string

Enable generation of image pull secret, when the container image username and password are provided.

Environment variable: QUARKUS_KUBERNETES_GENERATE_IMAGE_PULL_SECRET

Show more

boolean

false

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KUBERNETES_LIVENESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KUBERNETES_READINESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KUBERNETES_STARTUP_PROBE_FAILURE_THRESHOLD

Show more

int

3

When true (the default), emit a set of annotations to identify services that should be scraped by prometheus for metrics. In configurations that use the Prometheus operator with ServiceMonitor, annotations may not be necessary.

Environment variable: QUARKUS_KUBERNETES_PROMETHEUS_ANNOTATIONS

Show more

boolean

true

When true (the default), emit a set of annotations to identify services that should be scraped by prometheus for metrics. In configurations that use the Prometheus operator with ServiceMonitor, annotations may not be necessary.

Environment variable: QUARKUS_KUBERNETES_PROMETHEUS_GENERATE_SERVICE_MONITOR

Show more

boolean

true

Define the annotation prefix used for scrape values, this value will be used as the base for other annotation name defaults. Altering the base for generated annotations can make it easier to define re-labeling rules and avoid unexpected knock-on effects. The default value is prometheus.io See Prometheus example: https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus-kubernetes.yml

Environment variable: QUARKUS_KUBERNETES_PROMETHEUS_PREFIX

Show more

string

prometheus.io

Define the annotation used to indicate services that should be scraped. By default, /scrape will be appended to the defined prefix.

Environment variable: QUARKUS_KUBERNETES_PROMETHEUS_SCRAPE

Show more

string

Define the annotation used to indicate the path to scrape. By default, /path will be appended to the defined prefix.

Environment variable: QUARKUS_KUBERNETES_PROMETHEUS_PATH

Show more

string

Define the annotation used to indicate the port to scrape. By default, /port will be appended to the defined prefix.

Environment variable: QUARKUS_KUBERNETES_PROMETHEUS_PORT

Show more

string

Define the annotation used to indicate the scheme to use for scraping By default, /scheme will be appended to the defined prefix.

Environment variable: QUARKUS_KUBERNETES_PROMETHEUS_SCHEME

Show more

string

EmptyDir volumes

Environment variable: QUARKUS_KUBERNETES_EMPTY_DIR_VOLUMES

Show more

list of string

The target deployment platform. Defaults to kubernetes. Can be kubernetes, openshift, knative, minikube etc., or any combination of the above as comma separated list.

Environment variable: QUARKUS_KUBERNETES_DEPLOYMENT_TARGET

Show more

list of string

CPU Requirements

Environment variable: QUARKUS_KUBERNETES_RESOURCES_LIMITS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KUBERNETES_RESOURCES_LIMITS_MEMORY

Show more

string

CPU Requirements

Environment variable: QUARKUS_KUBERNETES_RESOURCES_REQUESTS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KUBERNETES_RESOURCES_REQUESTS_MEMORY

Show more

string

If true, the service will be exposed

Environment variable: QUARKUS_KUBERNETES_INGRESS_EXPOSE

Show more

boolean

false

The host under which the application is going to be exposed

Environment variable: QUARKUS_KUBERNETES_INGRESS_HOST

Show more

string

The default target named port. If not provided, it will be deducted from the Service resource ports. Options are: "http" and "https".

Environment variable: QUARKUS_KUBERNETES_INGRESS_TARGET_PORT

Show more

string

http

The class of the Ingress. If the ingressClassName is omitted, a default Ingress class is used.

Environment variable: QUARKUS_KUBERNETES_INGRESS_INGRESS_CLASS_NAME

Show more

string

Specifies the maximum desired number of pods the job should run at any given time.

Environment variable: QUARKUS_KUBERNETES_JOB_PARALLELISM

Show more

int

Specifies the desired number of successfully finished pods the job should be run with.

Environment variable: QUARKUS_KUBERNETES_JOB_COMPLETIONS

Show more

int

CompletionMode specifies how Pod completions are tracked.

Environment variable: QUARKUS_KUBERNETES_JOB_COMPLETION_MODE

Show more

non-indexed, indexed

non-indexed

Specifies the number of retries before marking this job failed.

Environment variable: QUARKUS_KUBERNETES_JOB_BACKOFF_LIMIT

Show more

int

Specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it; value must be positive integer.

Environment variable: QUARKUS_KUBERNETES_JOB_ACTIVE_DEADLINE_SECONDS

Show more

Limits the lifetime of a Job that has finished execution (either Complete or Failed). If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted.

Environment variable: QUARKUS_KUBERNETES_JOB_TTL_SECONDS_AFTER_FINISHED

Show more

int

Suspend specifies whether the Job controller should create Pods or not.

Environment variable: QUARKUS_KUBERNETES_JOB_SUSPEND

Show more

boolean

false

Restart policy when the job container fails.

Environment variable: QUARKUS_KUBERNETES_JOB_RESTART_POLICY

Show more

on-failure, never

on-failure

The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_SCHEDULE

Show more

string

ConcurrencyPolicy describes how the job will be handled.

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_CONCURRENCY_POLICY

Show more

allow, forbid, replace

allow

Deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones.

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_STARTING_DEADLINE_SECONDS

Show more

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_FAILED_JOBS_HISTORY_LIMIT

int

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_SUCCESSFUL_JOBS_HISTORY_LIMIT

int

Specifies the maximum desired number of pods the job should run at any given time.

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_PARALLELISM

Show more

int

Specifies the desired number of successfully finished pods the job should be run with.

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_COMPLETIONS

Show more

int

CompletionMode specifies how Pod completions are tracked.

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_COMPLETION_MODE

Show more

non-indexed, indexed

non-indexed

Specifies the number of retries before marking this job failed.

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_BACKOFF_LIMIT

Show more

int

Specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it; value must be positive integer.

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_ACTIVE_DEADLINE_SECONDS

Show more

Limits the lifetime of a Job that has finished execution (either Complete or Failed). If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted.

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_TTL_SECONDS_AFTER_FINISHED

Show more

int

Suspend specifies whether the Job controller should create Pods or not.

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_SUSPEND

Show more

boolean

false

Restart policy when the job container fails.

Environment variable: QUARKUS_KUBERNETES_CRON_JOB_RESTART_POLICY

Show more

on-failure, never

on-failure

If true, the 'app.kubernetes.io/version' label will be part of the selectors of Service and Deployment

Environment variable: QUARKUS_KUBERNETES_ADD_VERSION_TO_LABEL_SELECTORS

Show more

boolean

true

If true, the 'app.kubernetes.io/name' label will be part of the selectors of Service and Deployment

Environment variable: QUARKUS_KUBERNETES_ADD_NAME_TO_LABEL_SELECTORS

Show more

boolean

true

If set to true, Quarkus will attempt to deploy the application to the target Kubernetes cluster

Environment variable: QUARKUS_KUBERNETES_DEPLOY

Show more

boolean

false

If deploy is enabled, it will follow this strategy to update the resources to the target Kubernetes cluster.

Environment variable: QUARKUS_KUBERNETES_DEPLOY_STRATEGY

Show more

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

create-or-update

If set, the secret will mounted to the application container and its contents will be used for application configuration.

Environment variable: QUARKUS_KUBERNETES_APP_SECRET

Show more

string

If set, the config map will be mounted to the application container and its contents will be used for application configuration.

Environment variable: QUARKUS_KUBERNETES_APP_CONFIG_MAP

Show more

string

The SELinux level label that applies to the container.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_SE_LINUX_OPTIONS_LEVEL

Show more

string

The SELinux role label that applies to the container.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_SE_LINUX_OPTIONS_ROLE

Show more

string

The SELinux type label that applies to the container.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_SE_LINUX_OPTIONS_TYPE

Show more

string

The SELinux user label that applies to the container.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_SE_LINUX_OPTIONS_USER

Show more

string

The name of the GMSA credential spec to use.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC_NAME

Show more

string

GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC

Show more

string

The UserName in Windows to run the entrypoint of the container process.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_WINDOWS_OPTIONS_RUN_AS_USER_NAME

Show more

string

HostProcess determines if a container should be run as a 'Host Process' container.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_WINDOWS_OPTIONS_HOST_PROCESS

Show more

boolean

The UID to run the entrypoint of the container process.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_RUN_AS_USER

Show more

The GID to run the entrypoint of the container process.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_RUN_AS_GROUP

Show more

Indicates that the container must run as a non-root user.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_RUN_AS_NON_ROOT

Show more

boolean

A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_SUPPLEMENTAL_GROUPS

Show more

list of long

A special supplemental group that applies to all containers in a pod.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_FS_GROUP

Show more

Sysctls hold a list of namespaced sysctls used for the pod.

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_SYSCTLS

Show more

string

It holds policies that will be used for applying fsGroup to a volume when volume is mounted. Values: OnRootMismatch, Always

Environment variable: QUARKUS_KUBERNETES_SECURITY_CONTEXT_FS_GROUP_CHANGE_POLICY

Show more

on-root-mismatchIt indicates that volume’s ownership and permissions will be changed only when permission and ownership of root directory does not match with expected permissions on the volume., alwaysIt indicates that volume’s ownership and permissions should always be changed whenever volume is mounted inside a Pod. This the default behavior.

If set, it will change the name of the container according to the configuration

Environment variable: QUARKUS_KUBERNETES_CONTAINER_NAME

Show more

string

If true, the debug mode in pods will be enabled.

Environment variable: QUARKUS_KUBERNETES_REMOTE_DEBUG_ENABLED

Show more

boolean

false

The transport to use.

Environment variable: QUARKUS_KUBERNETES_REMOTE_DEBUG_TRANSPORT

Show more

string

dt_socket

If enabled, it means the JVM will wait for the debugger to attach before executing the main class. If false, the JVM will immediately execute the main class, while listening for the debugger connection.

Environment variable: QUARKUS_KUBERNETES_REMOTE_DEBUG_SUSPEND

Show more

string

n

It specifies the address at which the debug socket will listen.

Environment variable: QUARKUS_KUBERNETES_REMOTE_DEBUG_ADDRESS_PORT

Show more

int

5005

If true, the init task will be generated. Otherwise, the init task resource generation will be skipped.

Environment variable: QUARKUS_KUBERNETES_INIT_TASK_DEFAULTS_ENABLED

Show more

boolean

true

The init task image to use by the init-container.

Environment variable: QUARKUS_KUBERNETES_INIT_TASK_DEFAULTS_WAIT_FOR_CONTAINER_IMAGE

Show more

string

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

Switch used to control whether non-idempotent fields are included in generated kubernetes resources to improve git-ops compatibility

Environment variable: QUARKUS_KUBERNETES_IDEMPOTENT

Show more

boolean

false

Optionally set directory generated kubernetes resources will be written to. Default is target/kubernetes.

Environment variable: QUARKUS_KUBERNETES_OUTPUT_DIRECTORY

Show more

string

The optional list of Secret names to load environment variables from.

Environment variable: QUARKUS_KUBERNETES_ENV_SECRETS

Show more

list of string

The optional list of ConfigMap names to load environment variables from.

Environment variable: QUARKUS_KUBERNETES_ENV_CONFIGMAPS

Show more

list of string

Custom labels to add to all resources

Environment variable: QUARKUS_KUBERNETES_LABELS

Show more

Map<String,String>

Custom annotations to add to all resources

Environment variable: QUARKUS_KUBERNETES_ANNOTATIONS

Show more

Map<String,String>

The port number. Refers to the container port.

Environment variable: QUARKUS_KUBERNETES_PORTS__PORTS__CONTAINER_PORT

Show more

int

The host port.

Environment variable: QUARKUS_KUBERNETES_PORTS__PORTS__HOST_PORT

Show more

int

The application path (refers to web application path).

Environment variable: QUARKUS_KUBERNETES_PORTS__PORTS__PATH

Show more

string

/

The protocol.

Environment variable: QUARKUS_KUBERNETES_PORTS__PORTS__PROTOCOL

Show more

tcp, udp, sctp, http, proxy

tcp

Environment variable: QUARKUS_KUBERNETES_PORTS__PORTS__NODE_PORT

int

If enabled, the port will be configured to use the schema HTTPS.

Environment variable: QUARKUS_KUBERNETES_PORTS__PORTS__TLS

Show more

boolean

false

The name of the volumeName to mount.

Environment variable: QUARKUS_KUBERNETES_MOUNTS__MOUNTS__NAME

Show more

string

The path to mount.

Environment variable: QUARKUS_KUBERNETES_MOUNTS__MOUNTS__PATH

Show more

string

Path within the volumeName from which the container’s volumeName should be mounted.

Environment variable: QUARKUS_KUBERNETES_MOUNTS__MOUNTS__SUB_PATH

Show more

string

ReadOnly

Environment variable: QUARKUS_KUBERNETES_MOUNTS__MOUNTS__READ_ONLY

Show more

boolean

false

The name of the secret to mount.

Environment variable: QUARKUS_KUBERNETES_SECRET_VOLUMES__SECRET_VOLUMES__SECRET_NAME

Show more

string

required

Default mode. When specifying an octal number, leading zero must be present.

Environment variable: QUARKUS_KUBERNETES_SECRET_VOLUMES__SECRET_VOLUMES__DEFAULT_MODE

Show more

string

0600

The path where the file will be mounted.

Environment variable: QUARKUS_KUBERNETES_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__PATH

Show more

string

required

It must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used.

Environment variable: QUARKUS_KUBERNETES_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__MODE

Show more

int

-1

Optional

Environment variable: QUARKUS_KUBERNETES_SECRET_VOLUMES__SECRET_VOLUMES__OPTIONAL

Show more

boolean

false

The name of the ConfigMap to mount.

Environment variable: QUARKUS_KUBERNETES_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__CONFIG_MAP_NAME

Show more

string

required

Default mode. When specifying an octal number, leading zero must be present.

Environment variable: QUARKUS_KUBERNETES_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__DEFAULT_MODE

Show more

string

0600

The path where the file will be mounted.

Environment variable: QUARKUS_KUBERNETES_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__PATH

Show more

string

required

It must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used.

Environment variable: QUARKUS_KUBERNETES_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__MODE

Show more

int

-1

Optional

Environment variable: QUARKUS_KUBERNETES_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__OPTIONAL

Show more

boolean

false

Git repository URL.

Environment variable: QUARKUS_KUBERNETES_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REPOSITORY

Show more

string

required

The directory of the repository to mount.

Environment variable: QUARKUS_KUBERNETES_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__DIRECTORY

Show more

string

The commit hash to use.

Environment variable: QUARKUS_KUBERNETES_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REVISION

Show more

string

The name of the claim to mount.

Environment variable: QUARKUS_KUBERNETES_PVC_VOLUMES__PVC_VOLUMES__CLAIM_NAME

Show more

string

required

Default mode. When specifying an octal number, leading zero must be present.

Environment variable: QUARKUS_KUBERNETES_PVC_VOLUMES__PVC_VOLUMES__DEFAULT_MODE

Show more

string

0600

Optional

Environment variable: QUARKUS_KUBERNETES_PVC_VOLUMES__PVC_VOLUMES__OPTIONAL

Show more

boolean

false

The name of the disk to mount.

Environment variable: QUARKUS_KUBERNETES_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__VOLUME_ID

Show more

string

required

The partition.

Environment variable: QUARKUS_KUBERNETES_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__PARTITION

Show more

int

Filesystem type.

Environment variable: QUARKUS_KUBERNETES_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__FS_TYPE

Show more

string

ext4

Whether the volumeName is read only or not.

Environment variable: QUARKUS_KUBERNETES_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__READ_ONLY

Show more

boolean

false

The share name.

Environment variable: QUARKUS_KUBERNETES_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SHARE_NAME

Show more

string

required

The secret name.

Environment variable: QUARKUS_KUBERNETES_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SECRET_NAME

Show more

string

required

Whether the volumeName is read only or not.

Environment variable: QUARKUS_KUBERNETES_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__READ_ONLY

Show more

boolean

false

The name of the disk to mount.

Environment variable: QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_NAME

Show more

string

required

The URI of the vhd blob object OR the resourceID of an Azure managed data disk if Kind is Managed

Environment variable: QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_URI

Show more

string

required

Kind of disk.

Environment variable: QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__KIND

Show more

managed, shared

managed

Disk caching mode.

Environment variable: QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__CACHING_MODE

Show more

read-write, read-only, none

read-write

File system type.

Environment variable: QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__FS_TYPE

Show more

string

ext4

Whether the volumeName is read only or not.

Environment variable: QUARKUS_KUBERNETES_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__READ_ONLY

Show more

boolean

false

The container image.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE

Show more

string

Working directory.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__WORKING_DIR

Show more

string

The commands

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__COMMAND

Show more

list of string

The arguments

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ARGUMENTS

Show more

list of string

The service account.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__SERVICE_ACCOUNT

Show more

string

The host under which the application is going to be exposed.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__HOST

Show more

string

The port number. Refers to the container port.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__CONTAINER_PORT

Show more

int

The host port.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__HOST_PORT

Show more

int

The application path (refers to web application path).

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PATH

Show more

string

/

The protocol.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PROTOCOL

Show more

tcp, udp, sctp, http, proxy

tcp

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__NODE_PORT

int

If enabled, the port will be configured to use the schema HTTPS.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__TLS

Show more

boolean

false

Image pull policy.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_POLICY

Show more

always, if-not-present, never

always

The image pull secret

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_SECRETS

Show more

list of string

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The name of the volumeName to mount.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__NAME

Show more

string

The path to mount.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__PATH

Show more

string

Path within the volumeName from which the container’s volumeName should be mounted.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__SUB_PATH

Show more

string

ReadOnly

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__READ_ONLY

Show more

boolean

false

CPU Requirements

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_MEMORY

Show more

string

CPU Requirements

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_MEMORY

Show more

string

The optional list of Secret names to load environment variables from.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_SECRETS

Show more

list of string

The optional list of ConfigMap names to load environment variables from.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_CONFIGMAPS

Show more

list of string

The map associating environment variable names to their associated field references they take their value from.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_FIELDS

Show more

Map<String,String>

The map associating environment name to its associated value.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_VARS

Show more

Map<String,Optional<String>>

The optional name of the Secret from which a value is to be extracted. Mutually exclusive with from-configmap.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_SECRET

Show more

string

The optional name of the ConfigMap from which a value is to be extracted. Mutually exclusive with from-secret.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

Show more

string

The key identifying the field from which the value is extracted.

Environment variable: QUARKUS_KUBERNETES_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__WITH_KEY

Show more

string

required

The container image.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__IMAGE

Show more

string

Working directory.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__WORKING_DIR

Show more

string

The commands

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__COMMAND

Show more

list of string

The arguments

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ARGUMENTS

Show more

list of string

The service account.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__SERVICE_ACCOUNT

Show more

string

The host under which the application is going to be exposed.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__HOST

Show more

string

The port number. Refers to the container port.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__CONTAINER_PORT

Show more

int

The host port.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__HOST_PORT

Show more

int

The application path (refers to web application path).

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__PATH

Show more

string

/

The protocol.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__PROTOCOL

Show more

tcp, udp, sctp, http, proxy

tcp

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__NODE_PORT

int

If enabled, the port will be configured to use the schema HTTPS.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__PORTS__PORTS__TLS

Show more

boolean

false

Image pull policy.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__IMAGE_PULL_POLICY

Show more

always, if-not-present, never

always

The image pull secret

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__IMAGE_PULL_SECRETS

Show more

list of string

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__LIVENESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__READINESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The name of the volumeName to mount.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__MOUNTS__MOUNTS__NAME

Show more

string

The path to mount.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__MOUNTS__MOUNTS__PATH

Show more

string

Path within the volumeName from which the container’s volumeName should be mounted.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__MOUNTS__MOUNTS__SUB_PATH

Show more

string

ReadOnly

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__MOUNTS__MOUNTS__READ_ONLY

Show more

boolean

false

CPU Requirements

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__RESOURCES_LIMITS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__RESOURCES_LIMITS_MEMORY

Show more

string

CPU Requirements

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__RESOURCES_REQUESTS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__RESOURCES_REQUESTS_MEMORY

Show more

string

The optional list of Secret names to load environment variables from.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_SECRETS

Show more

list of string

The optional list of ConfigMap names to load environment variables from.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_CONFIGMAPS

Show more

list of string

The map associating environment variable names to their associated field references they take their value from.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_FIELDS

Show more

Map<String,String>

The map associating environment name to its associated value.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_VARS

Show more

Map<String,Optional<String>>

The optional name of the Secret from which a value is to be extracted. Mutually exclusive with from-configmap.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_SECRET

Show more

string

The optional name of the ConfigMap from which a value is to be extracted. Mutually exclusive with from-secret.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

Show more

string

The key identifying the field from which the value is extracted.

Environment variable: QUARKUS_KUBERNETES_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__WITH_KEY

Show more

string

required

The ip address

Environment variable: QUARKUS_KUBERNETES_HOSTALIASES__HOST_ALIASES__IP

Show more

string

The hostnames to resolve to the ip

Environment variable: QUARKUS_KUBERNETES_HOSTALIASES__HOST_ALIASES__HOSTNAMES

Show more

list of string

The name of the role.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__NAME

Show more

string

The namespace of the role.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__NAMESPACE

Show more

string

Labels to add into the Role resource.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__LABELS

Show more

Map<String,String>

API groups of the policy rule.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

Show more

list of string

Non resource URLs of the policy rule.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

Show more

list of string

Resource names of the policy rule.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

Show more

list of string

Resources of the policy rule.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

Show more

list of string

Verbs of the policy rule.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__VERBS

Show more

list of string

The name of the cluster role.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__NAME

Show more

string

Labels to add into the ClusterRole resource.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__LABELS

Show more

Map<String,String>

API groups of the policy rule.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

Show more

list of string

Non resource URLs of the policy rule.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

Show more

list of string

Resource names of the policy rule.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

Show more

list of string

Resources of the policy rule.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

Show more

list of string

Verbs of the policy rule.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__VERBS

Show more

list of string

The name of the service account.

Environment variable: QUARKUS_KUBERNETES_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAME

Show more

string

The namespace of the service account.

Environment variable: QUARKUS_KUBERNETES_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAMESPACE

Show more

string

Labels of the service account.

Environment variable: QUARKUS_KUBERNETES_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__LABELS

Show more

Map<String,String>

If true, this service account will be used in the generated Deployment resource.

Environment variable: QUARKUS_KUBERNETES_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__USE_AS_DEFAULT

Show more

boolean

Name of the RoleBinding resource to be generated. If not provided, it will use the application name plus the role ref name.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__NAME

Show more

string

Labels to add into the RoleBinding resource.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__LABELS

Show more

Map<String,String>

The name of the Role resource to use by the RoleRef element in the generated Role Binding resource. By default, it’s "view" role name.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__ROLE_NAME

Show more

string

If the Role sets in the role-name property is cluster wide or not.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__CLUSTER_WIDE

Show more

boolean

The "name" resource to use by the Subject element in the generated Role Binding resource.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

Show more

string

The "kind" resource to use by the Subject element in the generated Role Binding resource. By default, it uses the "ServiceAccount" kind.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

Show more

string

ServiceAccount

The "apiGroup" resource that matches with the "kind" property. By default, it’s empty.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

Show more

string

The "namespace" resource to use by the Subject element in the generated Role Binding resource. By default, it will use the same as provided in the generated resources.

Environment variable: QUARKUS_KUBERNETES_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

Show more

string

Name of the ClusterRoleBinding resource to be generated. If not provided, it will use the application name plus the role ref name.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__NAME

Show more

string

Labels to add into the RoleBinding resource.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__LABELS

Show more

Map<String,String>

The name of the ClusterRole resource to use by the RoleRef element in the generated ClusterRoleBinding resource.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__ROLE_NAME

Show more

string

required

The "name" resource to use by the Subject element in the generated Role Binding resource.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

Show more

string

The "kind" resource to use by the Subject element in the generated Role Binding resource. By default, it uses the "ServiceAccount" kind.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

Show more

string

ServiceAccount

The "apiGroup" resource that matches with the "kind" property. By default, it’s empty.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

Show more

string

The "namespace" resource to use by the Subject element in the generated Role Binding resource. By default, it will use the same as provided in the generated resources.

Environment variable: QUARKUS_KUBERNETES_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

Show more

string

Custom annotations to add to exposition (route or ingress) resources

Environment variable: QUARKUS_KUBERNETES_INGRESS_ANNOTATIONS

Show more

Map<String,String>

If true, it will use the TLS configuration in the generated Ingress resource.

Environment variable: QUARKUS_KUBERNETES_INGRESS_TLS__TLS__ENABLED

Show more

boolean

false

The list of hosts to be included in the TLS certificate. By default, it will use the application host.

Environment variable: QUARKUS_KUBERNETES_INGRESS_TLS__TLS__HOSTS

Show more

list of string

The host under which the rule is going to be used.

Environment variable: QUARKUS_KUBERNETES_INGRESS_RULES__RULES__HOST

Show more

string

required

The path under which the rule is going to be used. Default is "/".

Environment variable: QUARKUS_KUBERNETES_INGRESS_RULES__RULES__PATH

Show more

string

/

The path type strategy to use by the Ingress rule. Default is "Prefix".

Environment variable: QUARKUS_KUBERNETES_INGRESS_RULES__RULES__PATH_TYPE

Show more

string

Prefix

The service name to be used by this Ingress rule. Default is the generated service name of the application.

Environment variable: QUARKUS_KUBERNETES_INGRESS_RULES__RULES__SERVICE_NAME

Show more

string

The service port name to be used by this Ingress rule. Default is the port name of the generated service of the application.

Environment variable: QUARKUS_KUBERNETES_INGRESS_RULES__RULES__SERVICE_PORT_NAME

Show more

string

The service port number to be used by this Ingress rule. This is only used when the servicePortName is not set.

Environment variable: QUARKUS_KUBERNETES_INGRESS_RULES__RULES__SERVICE_PORT_NUMBER

Show more

int

If true, the init task will be generated. Otherwise, the init task resource generation will be skipped.

Environment variable: QUARKUS_KUBERNETES_INIT_TASKS__INIT_TASKS__ENABLED

Show more

boolean

true

The init task image to use by the init-container.

Environment variable: QUARKUS_KUBERNETES_INIT_TASKS__INIT_TASKS__WAIT_FOR_CONTAINER_IMAGE

Show more

string

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

The map associating environment variable names to their associated field references they take their value from.

Environment variable: QUARKUS_KUBERNETES_ENV_FIELDS

Show more

Map<String,String>

The map associating environment name to its associated value.

Environment variable: QUARKUS_KUBERNETES_ENV_VARS

Show more

Map<String,Optional<String>>

The optional name of the Secret from which a value is to be extracted. Mutually exclusive with from-configmap.

Environment variable: QUARKUS_KUBERNETES_ENV_MAPPING__MAPPING__FROM_SECRET

Show more

string

The optional name of the ConfigMap from which a value is to be extracted. Mutually exclusive with from-secret.

Environment variable: QUARKUS_KUBERNETES_ENV_MAPPING__MAPPING__FROM_CONFIGMAP

Show more

string

The key identifying the field from which the value is extracted.

Environment variable: QUARKUS_KUBERNETES_ENV_MAPPING__MAPPING__WITH_KEY

Show more

string

required

非標準型を使用するプロパティーは、プロパティーを展開することで参照することができます。例えば、 Probe 型の kubernetes-readiness-probe を定義するには次のようにします。

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

この例では、 initial-delayperiodProbe タイプのフィールドです。以下に、利用可能なすべてのタイプを説明した表を示します。

クライアント接続の設定

Kubernetes クラスターへの接続の設定が必要な場合があります。デフォルトでは、kubectl が使用するアクティブな context が自動的に使用されます。

たとえば、クラスター API のエンドポイントが自己署名入り SSL 証明書を使用している場合、それを信頼するようにクライアントを明示的に設定する必要があります。これを実現するには、以下のプロパティーを定義します。

quarkus.kubernetes-client.trust-certs=true

Kubernetes クライアント設定プロパティーの完全なリストを以下に示します。

ビルド時に固定される構成プロパティ - 他のすべての構成プロパティは実行時にオーバーライド可能

Configuration property

デフォルト

Whether the client should trust a self-signed certificate if so presented by the API server

Environment variable: QUARKUS_KUBERNETES_CLIENT_TRUST_CERTS

Show more

boolean

URL of the Kubernetes API server

Environment variable: QUARKUS_KUBERNETES_CLIENT_API_SERVER_URL

Show more

string

Default namespace to use

Environment variable: QUARKUS_KUBERNETES_CLIENT_NAMESPACE

Show more

string

CA certificate file

Environment variable: QUARKUS_KUBERNETES_CLIENT_CA_CERT_FILE

Show more

string

CA certificate data

Environment variable: QUARKUS_KUBERNETES_CLIENT_CA_CERT_DATA

Show more

string

Client certificate file

Environment variable: QUARKUS_KUBERNETES_CLIENT_CLIENT_CERT_FILE

Show more

string

Client certificate data

Environment variable: QUARKUS_KUBERNETES_CLIENT_CLIENT_CERT_DATA

Show more

string

Client key file

Environment variable: QUARKUS_KUBERNETES_CLIENT_CLIENT_KEY_FILE

Show more

string

Client key data

Environment variable: QUARKUS_KUBERNETES_CLIENT_CLIENT_KEY_DATA

Show more

string

Client key algorithm

Environment variable: QUARKUS_KUBERNETES_CLIENT_CLIENT_KEY_ALGO

Show more

string

Client key passphrase

Environment variable: QUARKUS_KUBERNETES_CLIENT_CLIENT_KEY_PASSPHRASE

Show more

string

Kubernetes auth username

Environment variable: QUARKUS_KUBERNETES_CLIENT_USERNAME

Show more

string

Kubernetes auth password

Environment variable: QUARKUS_KUBERNETES_CLIENT_PASSWORD

Show more

string

Kubernetes oauth token

Environment variable: QUARKUS_KUBERNETES_CLIENT_TOKEN

Show more

string

Watch reconnect interval

Environment variable: QUARKUS_KUBERNETES_CLIENT_WATCH_RECONNECT_INTERVAL

Show more

Duration

PT1S

Maximum reconnect attempts in case of watch failure By default there is no limit to the number of reconnect attempts

Environment variable: QUARKUS_KUBERNETES_CLIENT_WATCH_RECONNECT_LIMIT

Show more

int

-1

Maximum amount of time to wait for a connection with the API server to be established

Environment variable: QUARKUS_KUBERNETES_CLIENT_CONNECTION_TIMEOUT

Show more

Duration

PT10S

Maximum amount of time to wait for a request to the API server to be completed

Environment variable: QUARKUS_KUBERNETES_CLIENT_REQUEST_TIMEOUT

Show more

Duration

PT10S

Maximum number of retry attempts for API requests that fail with an HTTP code of >= 500

Environment variable: QUARKUS_KUBERNETES_CLIENT_REQUEST_RETRY_BACKOFF_LIMIT

Show more

int

0

Time interval between retry attempts for API requests that fail with an HTTP code of >= 500

Environment variable: QUARKUS_KUBERNETES_CLIENT_REQUEST_RETRY_BACKOFF_INTERVAL

Show more

Duration

PT1S

HTTP proxy used to access the Kubernetes API server

Environment variable: QUARKUS_KUBERNETES_CLIENT_HTTP_PROXY

Show more

string

HTTPS proxy used to access the Kubernetes API server

Environment variable: QUARKUS_KUBERNETES_CLIENT_HTTPS_PROXY

Show more

string

Proxy username

Environment variable: QUARKUS_KUBERNETES_CLIENT_PROXY_USERNAME

Show more

string

Proxy password

Environment variable: QUARKUS_KUBERNETES_CLIENT_PROXY_PASSWORD

Show more

string

IP addresses or hosts to exclude from proxying

Environment variable: QUARKUS_KUBERNETES_CLIENT_NO_PROXY

Show more

list of string

Enable the generation of the RBAC manifests. If enabled and no other role binding are provided using the properties quarkus.kubernetes.rbac., it will generate a default role binding using the role "view" and the application service account.

Environment variable: QUARKUS_KUBERNETES_CLIENT_GENERATE_RBAC

Show more

boolean

true

Dev Services

デフォルト

If Dev Services for Kubernetes should be used. (default to true) If this is true and kubernetes client is not configured then a kubernetes cluster will be started and will be used.

Environment variable: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_ENABLED

Show more

boolean

true

The kubernetes api server version to use. If not set, Dev Services for Kubernetes will use the latest supported version of the given flavor. see https://github.com/dajudge/kindcontainer/blob/master/k8s-versions.json

Environment variable: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_API_VERSION

Show more

string

The flavor to use (kind, k3s or api-only). Default to api-only.

Environment variable: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_FLAVOR

Show more

kind, k3s, api-only

api-only

By default, if a kubeconfig is found, Dev Services for Kubernetes will not start. Set this to true to override the kubeconfig config.

Environment variable: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_OVERRIDE_KUBECONFIG

Show more

boolean

false

Indicates if the Kubernetes cluster managed by Quarkus Dev Services is shared. When shared, Quarkus looks for running containers using label-based service discovery. If a matching container is found, it is used, and so a second one is not started. Otherwise, Dev Services for Kubernetes starts a new container.

The discovery uses the quarkus-dev-service-kubernetes label. The value is configured using the service-name property.

Container sharing is only used in dev mode.

Environment variable: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_SHARED

Show more

boolean

true

The value of the quarkus-dev-service-kubernetes label attached to the started container. This property is used when shared is set to true. In this case, before starting a container, Dev Services for Kubernetes looks for a container with the quarkus-dev-service-kubernetes label set to the configured value. If found, it will use this container instead of starting a new one. Otherwise, it starts a new container with the quarkus-dev-service-kubernetes label set to the specified value.

This property is used when you need multiple shared Kubernetes clusters.

Environment variable: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_SERVICE_NAME

Show more

string

kubernetes

Environment variables that are passed to the container.

Environment variable: QUARKUS_KUBERNETES_CLIENT_DEVSERVICES_CONTAINER_ENV

Show more

Map<String,String>

OpenShift

アプリケーションを OpenShift にデプロイする方法の1つとして、s2i(source to image)を使用してソースからイメージストリームを作成し、イメージストリームをデプロイする方法があります。

コマンドラインインタフェース
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

両方のプラットフォーム(バニラKubernetesとOpenShift)のリソースを生成する必要がある場合は、両方を含める必要があります(カンマ区切り)。

quarkus.kubernetes.deployment-target=kubernetes,openshift

./mvnw package -Dquarkus.container-image.build=true の実行後に、作成された他のファイルの中に openshift.jsonopenshift.yml という名前の 2 つのファイルが target/kubernetes/ ディレクトリーにあることに気づくでしょう。

これらのマニフェストは、 kubectl を使用して、実行中のクラスターにそのままデプロイすることができます。

kubectl apply -f target/kubernetes/openshift.json

OpenShift のユーザーは、kubectl ではなく oc を使用したい場合があります。

oc apply -f target/kubernetes/openshift.json

application.properties をデプロイメントプラットフォームから独立させたいユーザーのために、 -Dquarkus.kubernetes.deploy=true に加えて -Dquarkus.kubernetes.deployment-target=openshift を追加することで、デプロイコマンドでデプロイメントターゲットを直接指定することができます。さらに、Quarkusでは、この2つのプロパティを1つにまとめることができます( -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のリソースをカスタマイズすることができます。

OpenShift

ビルド時に固定される設定プロパティ - その他の設定プロパティは実行時にオーバーライド可能です。

Configuration property

デフォルト

The OpenShift flavor / version to use. Older versions of OpenShift have minor differences in the labels and fields they support. This option allows users to have their manifests automatically aligned to the OpenShift 'flavor' they use.

Environment variable: QUARKUS_OPENSHIFT_FLAVOR

Show more

v3, v4

v4

The kind of the deployment resource to use. Supported values are 'Deployment', 'StatefulSet', 'Job', 'CronJob' and 'DeploymentConfig'. Defaults to 'DeploymentConfig' if flavor == v3, or 'Deployment' otherwise. DeploymentConfig is deprecated as of OpenShift 4.14. See https://access.redhat.com/articles/7041372 for details.

Environment variable: QUARKUS_OPENSHIFT_DEPLOYMENT_KIND

Show more

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

The name of the group this component belongs too

Environment variable: QUARKUS_OPENSHIFT_PART_OF

Show more

string

The name of the application. This value will be used for naming Kubernetes resources like: 'Deployment', 'Service' and so on…​

Environment variable: QUARKUS_OPENSHIFT_NAME

Show more

string

The version of the application.

Environment variable: QUARKUS_OPENSHIFT_VERSION

Show more

string

The namespace the generated resources should belong to. If not value is set, then the 'namespace' field will not be added to the 'metadata' section of the generated manifests. This in turn means that when the manifests are applied to a cluster, the namespace will be resolved from the current Kubernetes context (see https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context for more details).

Environment variable: QUARKUS_OPENSHIFT_NAMESPACE

Show more

string

Add the build timestamp to the Kubernetes annotations This is a very useful way to have manifests of successive builds of the same application differ - thus ensuring that Kubernetes will apply the updated resources

Environment variable: QUARKUS_OPENSHIFT_ADD_BUILD_TIMESTAMP

Show more

boolean

true

Working directory

Environment variable: QUARKUS_OPENSHIFT_WORKING_DIR

Show more

string

The commands

Environment variable: QUARKUS_OPENSHIFT_COMMAND

Show more

list of string

The arguments

Environment variable: QUARKUS_OPENSHIFT_ARGUMENTS

Show more

list of string

The service account

Environment variable: QUARKUS_OPENSHIFT_SERVICE_ACCOUNT

Show more

string

The number of desired pods

Environment variable: QUARKUS_OPENSHIFT_REPLICAS

Show more

int

1

The type of service that will be generated for the application

Environment variable: QUARKUS_OPENSHIFT_SERVICE_TYPE

Show more

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

cluster-ip

The nodePort to set when serviceType is set to nodePort

Environment variable: QUARKUS_OPENSHIFT_NODE_PORT

Show more

int

Image pull policy

Environment variable: QUARKUS_OPENSHIFT_IMAGE_PULL_POLICY

Show more

always, if-not-present, never

always

The image pull secret

Environment variable: QUARKUS_OPENSHIFT_IMAGE_PULL_SECRETS

Show more

list of string

Enable generation of image pull secret, when the container image username and password are provided.

Environment variable: QUARKUS_OPENSHIFT_GENERATE_IMAGE_PULL_SECRET

Show more

boolean

false

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_OPENSHIFT_LIVENESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_OPENSHIFT_READINESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_OPENSHIFT_STARTUP_PROBE_FAILURE_THRESHOLD

Show more

int

3

When true (the default), emit a set of annotations to identify services that should be scraped by prometheus for metrics. In configurations that use the Prometheus operator with ServiceMonitor, annotations may not be necessary.

Environment variable: QUARKUS_OPENSHIFT_PROMETHEUS_ANNOTATIONS

Show more

boolean

true

When true (the default), emit a set of annotations to identify services that should be scraped by prometheus for metrics. In configurations that use the Prometheus operator with ServiceMonitor, annotations may not be necessary.

Environment variable: QUARKUS_OPENSHIFT_PROMETHEUS_GENERATE_SERVICE_MONITOR

Show more

boolean

true

Define the annotation prefix used for scrape values, this value will be used as the base for other annotation name defaults. Altering the base for generated annotations can make it easier to define re-labeling rules and avoid unexpected knock-on effects. The default value is prometheus.io See Prometheus example: https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus-kubernetes.yml

Environment variable: QUARKUS_OPENSHIFT_PROMETHEUS_PREFIX

Show more

string

prometheus.io

Define the annotation used to indicate services that should be scraped. By default, /scrape will be appended to the defined prefix.

Environment variable: QUARKUS_OPENSHIFT_PROMETHEUS_SCRAPE

Show more

string

Define the annotation used to indicate the path to scrape. By default, /path will be appended to the defined prefix.

Environment variable: QUARKUS_OPENSHIFT_PROMETHEUS_PATH

Show more

string

Define the annotation used to indicate the port to scrape. By default, /port will be appended to the defined prefix.

Environment variable: QUARKUS_OPENSHIFT_PROMETHEUS_PORT

Show more

string

Define the annotation used to indicate the scheme to use for scraping By default, /scheme will be appended to the defined prefix.

Environment variable: QUARKUS_OPENSHIFT_PROMETHEUS_SCHEME

Show more

string

EmptyDir volumes

Environment variable: QUARKUS_OPENSHIFT_EMPTY_DIR_VOLUMES

Show more

list of string

CPU Requirements

Environment variable: QUARKUS_OPENSHIFT_RESOURCES_LIMITS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_OPENSHIFT_RESOURCES_LIMITS_MEMORY

Show more

string

CPU Requirements

Environment variable: QUARKUS_OPENSHIFT_RESOURCES_REQUESTS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_OPENSHIFT_RESOURCES_REQUESTS_MEMORY

Show more

string

If set, it will change the name of the container according to the configuration

Environment variable: QUARKUS_OPENSHIFT_CONTAINER_NAME

Show more

string

If true, the service will be exposed

Environment variable: QUARKUS_OPENSHIFT_ROUTE_EXPOSE

Show more

boolean

false

The host under which the application is going to be exposed

Environment variable: QUARKUS_OPENSHIFT_ROUTE_HOST

Show more

string

The target named port. If not provided, it will be deducted from the Service resource ports. Options are: "http" and "https".

Environment variable: QUARKUS_OPENSHIFT_ROUTE_TARGET_PORT

Show more

string

http

The cert authority certificate contents.

Environment variable: QUARKUS_OPENSHIFT_ROUTE_TLS_CA_CERTIFICATE

Show more

string

The certificate contents.

Environment variable: QUARKUS_OPENSHIFT_ROUTE_TLS_CERTIFICATE

Show more

string

The contents of the ca certificate of the final destination.

Environment variable: QUARKUS_OPENSHIFT_ROUTE_TLS_DESTINATION_CA_CERTIFICATE

Show more

string

The desired behavior for insecure connections to a route.

Environment variable: QUARKUS_OPENSHIFT_ROUTE_TLS_INSECURE_EDGE_TERMINATION_POLICY

Show more

string

The key file contents.

Environment variable: QUARKUS_OPENSHIFT_ROUTE_TLS_KEY

Show more

string

The termination type.

Environment variable: QUARKUS_OPENSHIFT_ROUTE_TLS_TERMINATION

Show more

string

If true, the 'app.kubernetes.io/version' label will be part of the selectors of Service and DeploymentConfig

Environment variable: QUARKUS_OPENSHIFT_ADD_VERSION_TO_LABEL_SELECTORS

Show more

boolean

true

If true, the 'app.kubernetes.io/name' label will be part of the selectors of Service and Deployment

Environment variable: QUARKUS_OPENSHIFT_ADD_NAME_TO_LABEL_SELECTORS

Show more

boolean

true

Specifies the maximum desired number of pods the job should run at any given time.

Environment variable: QUARKUS_OPENSHIFT_JOB_PARALLELISM

Show more

int

Specifies the desired number of successfully finished pods the job should be run with.

Environment variable: QUARKUS_OPENSHIFT_JOB_COMPLETIONS

Show more

int

CompletionMode specifies how Pod completions are tracked.

Environment variable: QUARKUS_OPENSHIFT_JOB_COMPLETION_MODE

Show more

non-indexed, indexed

non-indexed

Specifies the number of retries before marking this job failed.

Environment variable: QUARKUS_OPENSHIFT_JOB_BACKOFF_LIMIT

Show more

int

Specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it; value must be positive integer.

Environment variable: QUARKUS_OPENSHIFT_JOB_ACTIVE_DEADLINE_SECONDS

Show more

Limits the lifetime of a Job that has finished execution (either Complete or Failed). If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted.

Environment variable: QUARKUS_OPENSHIFT_JOB_TTL_SECONDS_AFTER_FINISHED

Show more

int

Suspend specifies whether the Job controller should create Pods or not.

Environment variable: QUARKUS_OPENSHIFT_JOB_SUSPEND

Show more

boolean

false

Restart policy when the job container fails.

Environment variable: QUARKUS_OPENSHIFT_JOB_RESTART_POLICY

Show more

on-failure, never

on-failure

The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_SCHEDULE

Show more

string

ConcurrencyPolicy describes how the job will be handled.

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_CONCURRENCY_POLICY

Show more

allow, forbid, replace

allow

Deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones.

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_STARTING_DEADLINE_SECONDS

Show more

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_FAILED_JOBS_HISTORY_LIMIT

int

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_SUCCESSFUL_JOBS_HISTORY_LIMIT

int

Specifies the maximum desired number of pods the job should run at any given time.

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_PARALLELISM

Show more

int

Specifies the desired number of successfully finished pods the job should be run with.

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_COMPLETIONS

Show more

int

CompletionMode specifies how Pod completions are tracked.

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_COMPLETION_MODE

Show more

non-indexed, indexed

non-indexed

Specifies the number of retries before marking this job failed.

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_BACKOFF_LIMIT

Show more

int

Specifies the duration in seconds relative to the startTime that the job may be continuously active before the system tries to terminate it; value must be positive integer.

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_ACTIVE_DEADLINE_SECONDS

Show more

Limits the lifetime of a Job that has finished execution (either Complete or Failed). If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted.

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_TTL_SECONDS_AFTER_FINISHED

Show more

int

Suspend specifies whether the Job controller should create Pods or not.

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_SUSPEND

Show more

boolean

false

Restart policy when the job container fails.

Environment variable: QUARKUS_OPENSHIFT_CRON_JOB_RESTART_POLICY

Show more

on-failure, never

on-failure

The optional list of Secret names to load environment variables from.

Environment variable: QUARKUS_OPENSHIFT_ENV_SECRETS

Show more

list of string

The optional list of ConfigMap names to load environment variables from.

Environment variable: QUARKUS_OPENSHIFT_ENV_CONFIGMAPS

Show more

list of string

If set, the secret will mounted to the application container and its contents will be used for application configuration.

Environment variable: QUARKUS_OPENSHIFT_APP_SECRET

Show more

string

If set, the config amp will be mounted to the application container and its contents will be used for application configuration.

Environment variable: QUARKUS_OPENSHIFT_APP_CONFIG_MAP

Show more

string

The SELinux level label that applies to the container.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_LEVEL

Show more

string

The SELinux role label that applies to the container.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_ROLE

Show more

string

The SELinux type label that applies to the container.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_TYPE

Show more

string

The SELinux user label that applies to the container.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SE_LINUX_OPTIONS_USER

Show more

string

The name of the GMSA credential spec to use.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC_NAME

Show more

string

GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC

Show more

string

The UserName in Windows to run the entrypoint of the container process.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_RUN_AS_USER_NAME

Show more

string

HostProcess determines if a container should be run as a 'Host Process' container.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_WINDOWS_OPTIONS_HOST_PROCESS

Show more

boolean

The UID to run the entrypoint of the container process.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_RUN_AS_USER

Show more

The GID to run the entrypoint of the container process.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_RUN_AS_GROUP

Show more

Indicates that the container must run as a non-root user.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_RUN_AS_NON_ROOT

Show more

boolean

A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SUPPLEMENTAL_GROUPS

Show more

list of long

A special supplemental group that applies to all containers in a pod.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_FS_GROUP

Show more

Sysctls hold a list of namespaced sysctls used for the pod.

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_SYSCTLS

Show more

string

It holds policies that will be used for applying fsGroup to a volume when volume is mounted. Values: OnRootMismatch, Always

Environment variable: QUARKUS_OPENSHIFT_SECURITY_CONTEXT_FS_GROUP_CHANGE_POLICY

Show more

on-root-mismatchIt indicates that volume’s ownership and permissions will be changed only when permission and ownership of root directory does not match with expected permissions on the volume., alwaysIt indicates that volume’s ownership and permissions should always be changed whenever volume is mounted inside a Pod. This the default behavior.

If true, the debug mode in pods will be enabled.

Environment variable: QUARKUS_OPENSHIFT_REMOTE_DEBUG_ENABLED

Show more

boolean

false

The transport to use.

Environment variable: QUARKUS_OPENSHIFT_REMOTE_DEBUG_TRANSPORT

Show more

string

dt_socket

If enabled, it means the JVM will wait for the debugger to attach before executing the main class. If false, the JVM will immediately execute the main class, while listening for the debugger connection.

Environment variable: QUARKUS_OPENSHIFT_REMOTE_DEBUG_SUSPEND

Show more

string

n

It specifies the address at which the debug socket will listen.

Environment variable: QUARKUS_OPENSHIFT_REMOTE_DEBUG_ADDRESS_PORT

Show more

int

5005

If set to true, Quarkus will attempt to deploy the application to the target Openshift cluster

Environment variable: QUARKUS_OPENSHIFT_DEPLOY

Show more

boolean

false

If deploy is enabled, it will follow this strategy to update the resources to the target OpenShift cluster.

Environment variable: QUARKUS_OPENSHIFT_DEPLOY_STRATEGY

Show more

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

create-or-update

If true, the init task will be generated. Otherwise, the init task resource generation will be skipped.

Environment variable: QUARKUS_OPENSHIFT_INIT_TASK_DEFAULTS_ENABLED

Show more

boolean

true

The init task image to use by the init-container.

Environment variable: QUARKUS_OPENSHIFT_INIT_TASK_DEFAULTS_WAIT_FOR_CONTAINER_IMAGE

Show more

string

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

Switch used to control whether non-idempotent fields are included in generated kubernetes resources to improve git-ops compatibility

Environment variable: QUARKUS_OPENSHIFT_IDEMPOTENT

Show more

boolean

false

Custom labels to add to all resources

Environment variable: QUARKUS_OPENSHIFT_LABELS

Show more

Map<String,String>

Custom annotations to add to all resources

Environment variable: QUARKUS_OPENSHIFT_ANNOTATIONS

Show more

Map<String,String>

The port number. Refers to the container port.

Environment variable: QUARKUS_OPENSHIFT_PORTS__PORTS__CONTAINER_PORT

Show more

int

The host port.

Environment variable: QUARKUS_OPENSHIFT_PORTS__PORTS__HOST_PORT

Show more

int

The application path (refers to web application path).

Environment variable: QUARKUS_OPENSHIFT_PORTS__PORTS__PATH

Show more

string

/

The protocol.

Environment variable: QUARKUS_OPENSHIFT_PORTS__PORTS__PROTOCOL

Show more

tcp, udp, sctp, http, proxy

tcp

Environment variable: QUARKUS_OPENSHIFT_PORTS__PORTS__NODE_PORT

int

If enabled, the port will be configured to use the schema HTTPS.

Environment variable: QUARKUS_OPENSHIFT_PORTS__PORTS__TLS

Show more

boolean

false

The name of the volumeName to mount.

Environment variable: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__NAME

Show more

string

The path to mount.

Environment variable: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__PATH

Show more

string

Path within the volumeName from which the container’s volumeName should be mounted.

Environment variable: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__SUB_PATH

Show more

string

ReadOnly

Environment variable: QUARKUS_OPENSHIFT_MOUNTS__MOUNTS__READ_ONLY

Show more

boolean

false

The name of the secret to mount.

Environment variable: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__SECRET_NAME

Show more

string

required

Default mode. When specifying an octal number, leading zero must be present.

Environment variable: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__DEFAULT_MODE

Show more

string

0600

The path where the file will be mounted.

Environment variable: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__PATH

Show more

string

required

It must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used.

Environment variable: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__MODE

Show more

int

-1

Optional

Environment variable: QUARKUS_OPENSHIFT_SECRET_VOLUMES__SECRET_VOLUMES__OPTIONAL

Show more

boolean

false

The name of the ConfigMap to mount.

Environment variable: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__CONFIG_MAP_NAME

Show more

string

required

Default mode. When specifying an octal number, leading zero must be present.

Environment variable: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__DEFAULT_MODE

Show more

string

0600

The path where the file will be mounted.

Environment variable: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__PATH

Show more

string

required

It must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used.

Environment variable: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__MODE

Show more

int

-1

Optional

Environment variable: QUARKUS_OPENSHIFT_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__OPTIONAL

Show more

boolean

false

Git repository URL.

Environment variable: QUARKUS_OPENSHIFT_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REPOSITORY

Show more

string

required

The directory of the repository to mount.

Environment variable: QUARKUS_OPENSHIFT_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__DIRECTORY

Show more

string

The commit hash to use.

Environment variable: QUARKUS_OPENSHIFT_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REVISION

Show more

string

The name of the claim to mount.

Environment variable: QUARKUS_OPENSHIFT_PVC_VOLUMES__PVC_VOLUMES__CLAIM_NAME

Show more

string

required

Default mode. When specifying an octal number, leading zero must be present.

Environment variable: QUARKUS_OPENSHIFT_PVC_VOLUMES__PVC_VOLUMES__DEFAULT_MODE

Show more

string

0600

Optional

Environment variable: QUARKUS_OPENSHIFT_PVC_VOLUMES__PVC_VOLUMES__OPTIONAL

Show more

boolean

false

The name of the disk to mount.

Environment variable: QUARKUS_OPENSHIFT_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__VOLUME_ID

Show more

string

required

The partition.

Environment variable: QUARKUS_OPENSHIFT_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__PARTITION

Show more

int

Filesystem type.

Environment variable: QUARKUS_OPENSHIFT_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__FS_TYPE

Show more

string

ext4

Whether the volumeName is read only or not.

Environment variable: QUARKUS_OPENSHIFT_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__READ_ONLY

Show more

boolean

false

The share name.

Environment variable: QUARKUS_OPENSHIFT_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SHARE_NAME

Show more

string

required

The secret name.

Environment variable: QUARKUS_OPENSHIFT_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SECRET_NAME

Show more

string

required

Whether the volumeName is read only or not.

Environment variable: QUARKUS_OPENSHIFT_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__READ_ONLY

Show more

boolean

false

The name of the disk to mount.

Environment variable: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_NAME

Show more

string

required

The URI of the vhd blob object OR the resourceID of an Azure managed data disk if Kind is Managed

Environment variable: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_URI

Show more

string

required

Kind of disk.

Environment variable: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__KIND

Show more

managed, shared

managed

Disk caching mode.

Environment variable: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__CACHING_MODE

Show more

read-write, read-only, none

read-write

File system type.

Environment variable: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__FS_TYPE

Show more

string

ext4

Whether the volumeName is read only or not.

Environment variable: QUARKUS_OPENSHIFT_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__READ_ONLY

Show more

boolean

false

The container image.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE

Show more

string

Working directory.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__WORKING_DIR

Show more

string

The commands

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__COMMAND

Show more

list of string

The arguments

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ARGUMENTS

Show more

list of string

The service account.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__SERVICE_ACCOUNT

Show more

string

The host under which the application is going to be exposed.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__HOST

Show more

string

The port number. Refers to the container port.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__CONTAINER_PORT

Show more

int

The host port.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__HOST_PORT

Show more

int

The application path (refers to web application path).

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PATH

Show more

string

/

The protocol.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PROTOCOL

Show more

tcp, udp, sctp, http, proxy

tcp

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__NODE_PORT

int

If enabled, the port will be configured to use the schema HTTPS.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__TLS

Show more

boolean

false

Image pull policy.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_POLICY

Show more

always, if-not-present, never

always

The image pull secret

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_SECRETS

Show more

list of string

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The name of the volumeName to mount.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__NAME

Show more

string

The path to mount.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__PATH

Show more

string

Path within the volumeName from which the container’s volumeName should be mounted.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__SUB_PATH

Show more

string

ReadOnly

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__READ_ONLY

Show more

boolean

false

CPU Requirements

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_MEMORY

Show more

string

CPU Requirements

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_MEMORY

Show more

string

The optional list of Secret names to load environment variables from.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_SECRETS

Show more

list of string

The optional list of ConfigMap names to load environment variables from.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_CONFIGMAPS

Show more

list of string

The map associating environment variable names to their associated field references they take their value from.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_FIELDS

Show more

Map<String,String>

The map associating environment name to its associated value.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_VARS

Show more

Map<String,Optional<String>>

The optional name of the Secret from which a value is to be extracted. Mutually exclusive with from-configmap.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_SECRET

Show more

string

The optional name of the ConfigMap from which a value is to be extracted. Mutually exclusive with from-secret.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

Show more

string

The key identifying the field from which the value is extracted.

Environment variable: QUARKUS_OPENSHIFT_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__WITH_KEY

Show more

string

required

The container image.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__IMAGE

Show more

string

Working directory.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__WORKING_DIR

Show more

string

The commands

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__COMMAND

Show more

list of string

The arguments

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ARGUMENTS

Show more

list of string

The service account.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__SERVICE_ACCOUNT

Show more

string

The host under which the application is going to be exposed.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__HOST

Show more

string

The port number. Refers to the container port.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__CONTAINER_PORT

Show more

int

The host port.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__HOST_PORT

Show more

int

The application path (refers to web application path).

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__PATH

Show more

string

/

The protocol.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__PROTOCOL

Show more

tcp, udp, sctp, http, proxy

tcp

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__NODE_PORT

int

If enabled, the port will be configured to use the schema HTTPS.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__PORTS__PORTS__TLS

Show more

boolean

false

Image pull policy.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__IMAGE_PULL_POLICY

Show more

always, if-not-present, never

always

The image pull secret

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__IMAGE_PULL_SECRETS

Show more

list of string

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__LIVENESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__READINESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The name of the volumeName to mount.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__NAME

Show more

string

The path to mount.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__PATH

Show more

string

Path within the volumeName from which the container’s volumeName should be mounted.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__SUB_PATH

Show more

string

ReadOnly

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__MOUNTS__MOUNTS__READ_ONLY

Show more

boolean

false

CPU Requirements

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_LIMITS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_LIMITS_MEMORY

Show more

string

CPU Requirements

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_REQUESTS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__RESOURCES_REQUESTS_MEMORY

Show more

string

The optional list of Secret names to load environment variables from.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_SECRETS

Show more

list of string

The optional list of ConfigMap names to load environment variables from.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_CONFIGMAPS

Show more

list of string

The map associating environment variable names to their associated field references they take their value from.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_FIELDS

Show more

Map<String,String>

The map associating environment name to its associated value.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_VARS

Show more

Map<String,Optional<String>>

The optional name of the Secret from which a value is to be extracted. Mutually exclusive with from-configmap.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_SECRET

Show more

string

The optional name of the ConfigMap from which a value is to be extracted. Mutually exclusive with from-secret.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

Show more

string

The key identifying the field from which the value is extracted.

Environment variable: QUARKUS_OPENSHIFT_SIDECARS__SIDECARS__ENV_MAPPING__MAPPING__WITH_KEY

Show more

string

required

The ip address

Environment variable: QUARKUS_OPENSHIFT_HOST_ALIASES__HOST_ALIASES__IP

Show more

string

The hostnames to resolve to the ip

Environment variable: QUARKUS_OPENSHIFT_HOST_ALIASES__HOST_ALIASES__HOSTNAMES

Show more

list of string

Custom annotations to add to exposition (route or ingress) resources

Environment variable: QUARKUS_OPENSHIFT_ROUTE_ANNOTATIONS

Show more

Map<String,String>

The name of the role.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__NAME

Show more

string

The namespace of the role.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__NAMESPACE

Show more

string

Labels to add into the Role resource.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__LABELS

Show more

Map<String,String>

API groups of the policy rule.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

Show more

list of string

Non resource URLs of the policy rule.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

Show more

list of string

Resource names of the policy rule.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

Show more

list of string

Resources of the policy rule.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

Show more

list of string

Verbs of the policy rule.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__VERBS

Show more

list of string

The name of the cluster role.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__NAME

Show more

string

Labels to add into the ClusterRole resource.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__LABELS

Show more

Map<String,String>

API groups of the policy rule.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

Show more

list of string

Non resource URLs of the policy rule.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

Show more

list of string

Resource names of the policy rule.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

Show more

list of string

Resources of the policy rule.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

Show more

list of string

Verbs of the policy rule.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__VERBS

Show more

list of string

The name of the service account.

Environment variable: QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAME

Show more

string

The namespace of the service account.

Environment variable: QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAMESPACE

Show more

string

Labels of the service account.

Environment variable: QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__LABELS

Show more

Map<String,String>

If true, this service account will be used in the generated Deployment resource.

Environment variable: QUARKUS_OPENSHIFT_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__USE_AS_DEFAULT

Show more

boolean

Name of the RoleBinding resource to be generated. If not provided, it will use the application name plus the role ref name.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__NAME

Show more

string

Labels to add into the RoleBinding resource.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__LABELS

Show more

Map<String,String>

The name of the Role resource to use by the RoleRef element in the generated Role Binding resource. By default, it’s "view" role name.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__ROLE_NAME

Show more

string

If the Role sets in the role-name property is cluster wide or not.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__CLUSTER_WIDE

Show more

boolean

The "name" resource to use by the Subject element in the generated Role Binding resource.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

Show more

string

The "kind" resource to use by the Subject element in the generated Role Binding resource. By default, it uses the "ServiceAccount" kind.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

Show more

string

ServiceAccount

The "apiGroup" resource that matches with the "kind" property. By default, it’s empty.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

Show more

string

The "namespace" resource to use by the Subject element in the generated Role Binding resource. By default, it will use the same as provided in the generated resources.

Environment variable: QUARKUS_OPENSHIFT_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

Show more

string

Name of the ClusterRoleBinding resource to be generated. If not provided, it will use the application name plus the role ref name.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__NAME

Show more

string

Labels to add into the RoleBinding resource.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__LABELS

Show more

Map<String,String>

The name of the ClusterRole resource to use by the RoleRef element in the generated ClusterRoleBinding resource.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__ROLE_NAME

Show more

string

required

The "name" resource to use by the Subject element in the generated Role Binding resource.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

Show more

string

The "kind" resource to use by the Subject element in the generated Role Binding resource. By default, it uses the "ServiceAccount" kind.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

Show more

string

ServiceAccount

The "apiGroup" resource that matches with the "kind" property. By default, it’s empty.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

Show more

string

The "namespace" resource to use by the Subject element in the generated Role Binding resource. By default, it will use the same as provided in the generated resources.

Environment variable: QUARKUS_OPENSHIFT_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

Show more

string

The map associating environment variable names to their associated field references they take their value from.

Environment variable: QUARKUS_OPENSHIFT_ENV_FIELDS

Show more

Map<String,String>

The map associating environment name to its associated value.

Environment variable: QUARKUS_OPENSHIFT_ENV_VARS

Show more

Map<String,Optional<String>>

The optional name of the Secret from which a value is to be extracted. Mutually exclusive with from-configmap.

Environment variable: QUARKUS_OPENSHIFT_ENV_MAPPING__MAPPING__FROM_SECRET

Show more

string

The optional name of the ConfigMap from which a value is to be extracted. Mutually exclusive with from-secret.

Environment variable: QUARKUS_OPENSHIFT_ENV_MAPPING__MAPPING__FROM_CONFIGMAP

Show more

string

The key identifying the field from which the value is extracted.

Environment variable: QUARKUS_OPENSHIFT_ENV_MAPPING__MAPPING__WITH_KEY

Show more

string

required

If true, the init task will be generated. Otherwise, the init task resource generation will be skipped.

Environment variable: QUARKUS_OPENSHIFT_INIT_TASKS__INIT_TASKS__ENABLED

Show more

boolean

true

The init task image to use by the init-container.

Environment variable: QUARKUS_OPENSHIFT_INIT_TASKS__INIT_TASKS__WAIT_FOR_CONTAINER_IMAGE

Show more

string

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

Knative

Knative リソースの生成を可能にするには、ターゲットプラットフォームに Knative を含める必要があります。

quarkus.kubernetes.deployment-target=knative

./mvnw package の実行後、作成された他のファイルの中に knative.jsonknative.yml という名前のファイルが target/kubernetes/ ディレクトリーにあることに気づくでしょう。

どちらかのファイルを見ると、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

生成されたサービスは、以下のプロパティーを使用してカスタマイズすることができます:

Knative

ビルド時に固定される設定プロパティ - その他の設定プロパティは実行時にオーバーライド可能です。

Configuration property

デフォルト

The name of the group this component belongs too

Environment variable: QUARKUS_KNATIVE_PART_OF

Show more

string

The name of the application. This value will be used for naming Kubernetes resources like: - Deployment - Service and so on …​

Environment variable: QUARKUS_KNATIVE_NAME

Show more

string

The version of the application.

Environment variable: QUARKUS_KNATIVE_VERSION

Show more

string

The namespace the generated resources should belong to. If not value is set, then the 'namespace' field will not be added to the 'metadata' section of the generated manifests. This in turn means that when the manifests are applied to a cluster, the namespace will be resolved from the current Kubernetes context (see https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context for more details).

Environment variable: QUARKUS_KNATIVE_NAMESPACE

Show more

string

Whether to add the build timestamp to the Kubernetes annotations This is a very useful way to have manifests of successive builds of the same application differ - thus ensuring that Kubernetes will apply the updated resources

Environment variable: QUARKUS_KNATIVE_ADD_BUILD_TIMESTAMP

Show more

boolean

true

Working directory

Environment variable: QUARKUS_KNATIVE_WORKING_DIR

Show more

string

The commands

Environment variable: QUARKUS_KNATIVE_COMMAND

Show more

list of string

The arguments

Environment variable: QUARKUS_KNATIVE_ARGUMENTS

Show more

list of string

The service account

Environment variable: QUARKUS_KNATIVE_SERVICE_ACCOUNT

Show more

string

The type of service that will be generated for the application

Environment variable: QUARKUS_KNATIVE_SERVICE_TYPE

Show more

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

cluster-ip

Image pull policy

Environment variable: QUARKUS_KNATIVE_IMAGE_PULL_POLICY

Show more

always, if-not-present, never

always

The image pull secret

Environment variable: QUARKUS_KNATIVE_IMAGE_PULL_SECRETS

Show more

list of string

Enable generation of image pull secret, when the container image username and password are provided.

Environment variable: QUARKUS_KNATIVE_GENERATE_IMAGE_PULL_SECRET

Show more

boolean

false

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KNATIVE_LIVENESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KNATIVE_READINESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KNATIVE_STARTUP_PROBE_FAILURE_THRESHOLD

Show more

int

3

When true (the default), emit a set of annotations to identify services that should be scraped by prometheus for metrics. In configurations that use the Prometheus operator with ServiceMonitor, annotations may not be necessary.

Environment variable: QUARKUS_KNATIVE_PROMETHEUS_ANNOTATIONS

Show more

boolean

true

When true (the default), emit a set of annotations to identify services that should be scraped by prometheus for metrics. In configurations that use the Prometheus operator with ServiceMonitor, annotations may not be necessary.

Environment variable: QUARKUS_KNATIVE_PROMETHEUS_GENERATE_SERVICE_MONITOR

Show more

boolean

true

Define the annotation prefix used for scrape values, this value will be used as the base for other annotation name defaults. Altering the base for generated annotations can make it easier to define re-labeling rules and avoid unexpected knock-on effects. The default value is prometheus.io See Prometheus example: https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus-kubernetes.yml

Environment variable: QUARKUS_KNATIVE_PROMETHEUS_PREFIX

Show more

string

prometheus.io

Define the annotation used to indicate services that should be scraped. By default, /scrape will be appended to the defined prefix.

Environment variable: QUARKUS_KNATIVE_PROMETHEUS_SCRAPE

Show more

string

Define the annotation used to indicate the path to scrape. By default, /path will be appended to the defined prefix.

Environment variable: QUARKUS_KNATIVE_PROMETHEUS_PATH

Show more

string

Define the annotation used to indicate the port to scrape. By default, /port will be appended to the defined prefix.

Environment variable: QUARKUS_KNATIVE_PROMETHEUS_PORT

Show more

string

Define the annotation used to indicate the scheme to use for scraping By default, /scheme will be appended to the defined prefix.

Environment variable: QUARKUS_KNATIVE_PROMETHEUS_SCHEME

Show more

string

EmptyDir volumes

Environment variable: QUARKUS_KNATIVE_EMPTY_DIR_VOLUMES

Show more

list of string

If set, it will change the name of the container according to the configuration

Environment variable: QUARKUS_KNATIVE_CONTAINER_NAME

Show more

string

CPU Requirements

Environment variable: QUARKUS_KNATIVE_RESOURCES_LIMITS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KNATIVE_RESOURCES_LIMITS_MEMORY

Show more

string

CPU Requirements

Environment variable: QUARKUS_KNATIVE_RESOURCES_REQUESTS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KNATIVE_RESOURCES_REQUESTS_MEMORY

Show more

string

If true, the 'app.kubernetes.io/version' label will be part of the selectors of Service and Deployment

Environment variable: QUARKUS_KNATIVE_ADD_VERSION_TO_LABEL_SELECTORS

Show more

boolean

true

If true, the 'app.kubernetes.io/name' label will be part of the selectors of Service and Deployment

Environment variable: QUARKUS_KNATIVE_ADD_NAME_TO_LABEL_SELECTORS

Show more

boolean

true

Switch used to control whether non-idempotent fields are included in generated kubernetes resources to improve git-ops compatibility

Environment variable: QUARKUS_KNATIVE_IDEMPOTENT

Show more

boolean

false

The optional list of Secret names to load environment variables from.

Environment variable: QUARKUS_KNATIVE_ENV_SECRETS

Show more

list of string

The optional list of ConfigMap names to load environment variables from.

Environment variable: QUARKUS_KNATIVE_ENV_CONFIGMAPS

Show more

list of string

Whether this service is cluster-local. Cluster local services are not exposed to the outside world. More information in this link.

Environment variable: QUARKUS_KNATIVE_CLUSTER_LOCAL

Show more

boolean

false

This value controls the minimum number of replicas each revision should have. Knative will attempt to never have less than this number of replicas at any point in time.

Environment variable: QUARKUS_KNATIVE_MIN_SCALE

Show more

int

This value controls the maximum number of replicas each revision should have. Knative will attempt to never have more than this number of replicas running, or in the process of being created, at any point in time.

Environment variable: QUARKUS_KNATIVE_MAX_SCALE

Show more

int

The scale-to-zero values control whether Knative allows revisions to scale down to zero, or stops at “1”.

Environment variable: QUARKUS_KNATIVE_SCALE_TO_ZERO_ENABLED

Show more

boolean

true

The Autoscaler class. Knative Serving comes with its own autoscaler, the KPA (Knative Pod Autoscaler) but can also be configured to use Kubernetes’ HPA (Horizontal Pod Autoscaler) or even a custom third-party autoscaler. Possible values (kpa, hpa, default: kpa).

Environment variable: QUARKUS_KNATIVE_REVISION_AUTO_SCALING_AUTO_SCALER_CLASS

Show more

kpa, hpa

The autoscaling metric to use. Possible values (concurrency, rps, cpu).

Environment variable: QUARKUS_KNATIVE_REVISION_AUTO_SCALING_METRIC

Show more

concurrency, rps, cpu

The autoscaling target.

Environment variable: QUARKUS_KNATIVE_REVISION_AUTO_SCALING_TARGET

Show more

int

The exact amount of requests allowed to the replica at a time. Its default value is “0”, which means an unlimited number of requests are allowed to flow into the replica.

Environment variable: QUARKUS_KNATIVE_REVISION_AUTO_SCALING_CONTAINER_CONCURRENCY

Show more

int

This value specifies a percentage of the target to actually be targeted by the autoscaler.

Environment variable: QUARKUS_KNATIVE_REVISION_AUTO_SCALING_TARGET_UTILIZATION_PERCENTAGE

Show more

int

The Autoscaler class. Knative Serving comes with its own autoscaler, the KPA (Knative Pod Autoscaler) but can also be configured to use Kubernetes’ HPA (Horizontal Pod Autoscaler) or even a custom third-party autoscaler. Possible values (kpa, hpa, default: kpa).

Environment variable: QUARKUS_KNATIVE_GLOBAL_AUTO_SCALING_AUTO_SCALER_CLASS

Show more

kpa, hpa

The exact amount of requests allowed to the replica at a time. Its default value is “0”, which means an unlimited number of requests are allowed to flow Integer>o the replica.

Environment variable: QUARKUS_KNATIVE_GLOBAL_AUTO_SCALING_CONTAINER_CONCURRENCY

Show more

int

This value specifies a percentage of the target to actually be targeted by the autoscaler.

Environment variable: QUARKUS_KNATIVE_GLOBAL_AUTO_SCALING_TARGET_UTILIZATION_PERCENTAGE

Show more

int

The requests per second per replica.

Environment variable: QUARKUS_KNATIVE_GLOBAL_AUTO_SCALING_REQUESTS_PER_SECOND

Show more

int

The name of the revision.

Environment variable: QUARKUS_KNATIVE_REVISION_NAME

Show more

string

If set, the secret will mounted to the application container and its contents will be used for application configuration.

Environment variable: QUARKUS_KNATIVE_APP_SECRET

Show more

string

If set, the config map will be mounted to the application container and its contents will be used for application configuration.

Environment variable: QUARKUS_KNATIVE_APP_CONFIG_MAP

Show more

string

The SELinux level label that applies to the container.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_SE_LINUX_OPTIONS_LEVEL

Show more

string

The SELinux role label that applies to the container.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_SE_LINUX_OPTIONS_ROLE

Show more

string

The SELinux type label that applies to the container.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_SE_LINUX_OPTIONS_TYPE

Show more

string

The SELinux user label that applies to the container.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_SE_LINUX_OPTIONS_USER

Show more

string

The name of the GMSA credential spec to use.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC_NAME

Show more

string

GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_WINDOWS_OPTIONS_GMSA_CREDENTIAL_SPEC

Show more

string

The UserName in Windows to run the entrypoint of the container process.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_WINDOWS_OPTIONS_RUN_AS_USER_NAME

Show more

string

HostProcess determines if a container should be run as a 'Host Process' container.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_WINDOWS_OPTIONS_HOST_PROCESS

Show more

boolean

The UID to run the entrypoint of the container process.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_RUN_AS_USER

Show more

The GID to run the entrypoint of the container process.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_RUN_AS_GROUP

Show more

Indicates that the container must run as a non-root user.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_RUN_AS_NON_ROOT

Show more

boolean

A list of groups applied to the first process run in each container, in addition to the container’s primary GID. If unspecified, no groups will be added to any container.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_SUPPLEMENTAL_GROUPS

Show more

list of long

A special supplemental group that applies to all containers in a pod.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_FS_GROUP

Show more

Sysctls hold a list of namespaced sysctls used for the pod.

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_SYSCTLS

Show more

string

It holds policies that will be used for applying fsGroup to a volume when volume is mounted. Values: OnRootMismatch, Always

Environment variable: QUARKUS_KNATIVE_SECURITY_CONTEXT_FS_GROUP_CHANGE_POLICY

Show more

on-root-mismatchIt indicates that volume’s ownership and permissions will be changed only when permission and ownership of root directory does not match with expected permissions on the volume., alwaysIt indicates that volume’s ownership and permissions should always be changed whenever volume is mounted inside a Pod. This the default behavior.

If set to true, Quarkus will attempt to deploy the application to the target knative cluster

Environment variable: QUARKUS_KNATIVE_DEPLOY

Show more

boolean

false

If deploy is enabled, it will follow this strategy to update the resources to the target Knative cluster.

Environment variable: QUARKUS_KNATIVE_DEPLOY_STRATEGY

Show more

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

create-or-update

Custom labels to add to all resources

Environment variable: QUARKUS_KNATIVE_LABELS

Show more

Map<String,String>

Custom annotations to add to all resources

Environment variable: QUARKUS_KNATIVE_ANNOTATIONS

Show more

Map<String,String>

The port number. Refers to the container port.

Environment variable: QUARKUS_KNATIVE_PORTS__PORTS__CONTAINER_PORT

Show more

int

The host port.

Environment variable: QUARKUS_KNATIVE_PORTS__PORTS__HOST_PORT

Show more

int

The application path (refers to web application path).

Environment variable: QUARKUS_KNATIVE_PORTS__PORTS__PATH

Show more

string

/

The protocol.

Environment variable: QUARKUS_KNATIVE_PORTS__PORTS__PROTOCOL

Show more

tcp, udp, sctp, http, proxy

tcp

Environment variable: QUARKUS_KNATIVE_PORTS__PORTS__NODE_PORT

int

If enabled, the port will be configured to use the schema HTTPS.

Environment variable: QUARKUS_KNATIVE_PORTS__PORTS__TLS

Show more

boolean

false

The name of the volumeName to mount.

Environment variable: QUARKUS_KNATIVE_MOUNTS__MOUNTS__NAME

Show more

string

The path to mount.

Environment variable: QUARKUS_KNATIVE_MOUNTS__MOUNTS__PATH

Show more

string

Path within the volumeName from which the container’s volumeName should be mounted.

Environment variable: QUARKUS_KNATIVE_MOUNTS__MOUNTS__SUB_PATH

Show more

string

ReadOnly

Environment variable: QUARKUS_KNATIVE_MOUNTS__MOUNTS__READ_ONLY

Show more

boolean

false

The name of the secret to mount.

Environment variable: QUARKUS_KNATIVE_SECRET_VOLUMES__SECRET_VOLUMES__SECRET_NAME

Show more

string

required

Default mode. When specifying an octal number, leading zero must be present.

Environment variable: QUARKUS_KNATIVE_SECRET_VOLUMES__SECRET_VOLUMES__DEFAULT_MODE

Show more

string

0600

The path where the file will be mounted.

Environment variable: QUARKUS_KNATIVE_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__PATH

Show more

string

required

It must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used.

Environment variable: QUARKUS_KNATIVE_SECRET_VOLUMES__SECRET_VOLUMES__ITEMS__ITEMS__MODE

Show more

int

-1

Optional

Environment variable: QUARKUS_KNATIVE_SECRET_VOLUMES__SECRET_VOLUMES__OPTIONAL

Show more

boolean

false

The name of the ConfigMap to mount.

Environment variable: QUARKUS_KNATIVE_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__CONFIG_MAP_NAME

Show more

string

required

Default mode. When specifying an octal number, leading zero must be present.

Environment variable: QUARKUS_KNATIVE_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__DEFAULT_MODE

Show more

string

0600

The path where the file will be mounted.

Environment variable: QUARKUS_KNATIVE_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__PATH

Show more

string

required

It must be a value between 0000 and 0777. If not specified, the volume defaultMode will be used.

Environment variable: QUARKUS_KNATIVE_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__ITEMS__ITEMS__MODE

Show more

int

-1

Optional

Environment variable: QUARKUS_KNATIVE_CONFIG_MAP_VOLUMES__CONFIG_MAP_VOLUMES__OPTIONAL

Show more

boolean

false

Git repository URL.

Environment variable: QUARKUS_KNATIVE_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REPOSITORY

Show more

string

required

The directory of the repository to mount.

Environment variable: QUARKUS_KNATIVE_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__DIRECTORY

Show more

string

The commit hash to use.

Environment variable: QUARKUS_KNATIVE_GIT_REPO_VOLUMES__GIT_REPO_VOLUMES__REVISION

Show more

string

The name of the claim to mount.

Environment variable: QUARKUS_KNATIVE_PVC_VOLUMES__PVC_VOLUMES__CLAIM_NAME

Show more

string

required

Default mode. When specifying an octal number, leading zero must be present.

Environment variable: QUARKUS_KNATIVE_PVC_VOLUMES__PVC_VOLUMES__DEFAULT_MODE

Show more

string

0600

Optional

Environment variable: QUARKUS_KNATIVE_PVC_VOLUMES__PVC_VOLUMES__OPTIONAL

Show more

boolean

false

The name of the disk to mount.

Environment variable: QUARKUS_KNATIVE_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__VOLUME_ID

Show more

string

required

The partition.

Environment variable: QUARKUS_KNATIVE_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__PARTITION

Show more

int

Filesystem type.

Environment variable: QUARKUS_KNATIVE_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__FS_TYPE

Show more

string

ext4

Whether the volumeName is read only or not.

Environment variable: QUARKUS_KNATIVE_AWS_ELASTIC_BLOCK_STORE_VOLUMES__AWS_ELASTIC_BLOCK_STORE_VOLUMES__READ_ONLY

Show more

boolean

false

The share name.

Environment variable: QUARKUS_KNATIVE_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SHARE_NAME

Show more

string

required

The secret name.

Environment variable: QUARKUS_KNATIVE_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__SECRET_NAME

Show more

string

required

Whether the volumeName is read only or not.

Environment variable: QUARKUS_KNATIVE_AZURE_FILE_VOLUMES__AZURE_FILE_VOLUMES__READ_ONLY

Show more

boolean

false

The name of the disk to mount.

Environment variable: QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_NAME

Show more

string

required

The URI of the vhd blob object OR the resourceID of an Azure managed data disk if Kind is Managed

Environment variable: QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__DISK_URI

Show more

string

required

Kind of disk.

Environment variable: QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__KIND

Show more

managed, shared

managed

Disk caching mode.

Environment variable: QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__CACHING_MODE

Show more

read-write, read-only, none

read-write

File system type.

Environment variable: QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__FS_TYPE

Show more

string

ext4

Whether the volumeName is read only or not.

Environment variable: QUARKUS_KNATIVE_AZURE_DISK_VOLUMES__AZURE_DISK_VOLUMES__READ_ONLY

Show more

boolean

false

The container image.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE

Show more

string

Working directory.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__WORKING_DIR

Show more

string

The commands

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__COMMAND

Show more

list of string

The arguments

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ARGUMENTS

Show more

list of string

The service account.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__SERVICE_ACCOUNT

Show more

string

The host under which the application is going to be exposed.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__HOST

Show more

string

The port number. Refers to the container port.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__CONTAINER_PORT

Show more

int

The host port.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__HOST_PORT

Show more

int

The application path (refers to web application path).

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PATH

Show more

string

/

The protocol.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__PROTOCOL

Show more

tcp, udp, sctp, http, proxy

tcp

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__NODE_PORT

int

If enabled, the port will be configured to use the schema HTTPS.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__PORTS__PORTS__TLS

Show more

boolean

false

Image pull policy.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_POLICY

Show more

always, if-not-present, never

always

The image pull secret

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__IMAGE_PULL_SECRETS

Show more

list of string

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__LIVENESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__READINESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The name of the volumeName to mount.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__NAME

Show more

string

The path to mount.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__PATH

Show more

string

Path within the volumeName from which the container’s volumeName should be mounted.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__SUB_PATH

Show more

string

ReadOnly

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__MOUNTS__MOUNTS__READ_ONLY

Show more

boolean

false

CPU Requirements

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_LIMITS_MEMORY

Show more

string

CPU Requirements

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__RESOURCES_REQUESTS_MEMORY

Show more

string

The optional list of Secret names to load environment variables from.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_SECRETS

Show more

list of string

The optional list of ConfigMap names to load environment variables from.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_CONFIGMAPS

Show more

list of string

The map associating environment variable names to their associated field references they take their value from.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_FIELDS

Show more

Map<String,String>

The map associating environment name to its associated value.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_VARS

Show more

Map<String,Optional<String>>

The optional name of the Secret from which a value is to be extracted. Mutually exclusive with from-configmap.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_SECRET

Show more

string

The optional name of the ConfigMap from which a value is to be extracted. Mutually exclusive with from-secret.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

Show more

string

The key identifying the field from which the value is extracted.

Environment variable: QUARKUS_KNATIVE_INIT_CONTAINERS__INIT_CONTAINERS__ENV_MAPPING__MAPPING__WITH_KEY

Show more

string

required

The container image.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__IMAGE

Show more

string

Working directory.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__WORKING_DIR

Show more

string

The commands

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__COMMAND

Show more

list of string

The arguments

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__ARGUMENTS

Show more

list of string

The service account.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__SERVICE_ACCOUNT

Show more

string

The host under which the application is going to be exposed.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__HOST

Show more

string

The port number. Refers to the container port.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__PORTS__PORTS__CONTAINER_PORT

Show more

int

The host port.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__PORTS__PORTS__HOST_PORT

Show more

int

The application path (refers to web application path).

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__PORTS__PORTS__PATH

Show more

string

/

The protocol.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__PORTS__PORTS__PROTOCOL

Show more

tcp, udp, sctp, http, proxy

tcp

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__PORTS__PORTS__NODE_PORT

int

If enabled, the port will be configured to use the schema HTTPS.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__PORTS__PORTS__TLS

Show more

boolean

false

Image pull policy.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__IMAGE_PULL_POLICY

Show more

always, if-not-present, never

always

The image pull secret

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__IMAGE_PULL_SECRETS

Show more

list of string

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__LIVENESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The port number to use when configuring the http get action. If not configured, the port corresponding to the httpActionPortName will be used.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT

Show more

int

The port name for selecting the port of the HTTP get action.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_HTTP_ACTION_PORT_NAME

Show more

string

The http path to use for the probe. For this to work, the container port also needs to be set. Assuming the container port has been set (as per above comment), if execAction or tcpSocketAction are not set, an HTTP probe will be used automatically even if no path is set (which will result in the root path being used). If Smallrye Health is used, the path will automatically be set according to the health check path.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_HTTP_ACTION_PATH

Show more

string

The scheme of the HTTP get action. Can be either "HTTP" or "HTTPS".

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_HTTP_ACTION_SCHEME

Show more

string

The command to use for the probe.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_EXEC_ACTION

Show more

string

The tcp socket to use for the probe (the format is host:port).

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_TCP_SOCKET_ACTION

Show more

string

The gRPC port to use for the probe (the format is either port or port:service).

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_GRPC_ACTION

Show more

string

If enabled and grpc-action is not provided, it will use the generated service name and the gRPC port.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_GRPC_ACTION_ENABLED

Show more

boolean

false

The amount of time to wait before starting to probe.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_INITIAL_DELAY

Show more

Duration

5S

The period in which the action should be called.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_PERIOD

Show more

Duration

10S

The amount of time to wait for each action.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_TIMEOUT

Show more

Duration

10S

The success threshold to use.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_SUCCESS_THRESHOLD

Show more

int

1

The failure threshold to use.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__READINESS_PROBE_FAILURE_THRESHOLD

Show more

int

3

The name of the volumeName to mount.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__MOUNTS__MOUNTS__NAME

Show more

string

The path to mount.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__MOUNTS__MOUNTS__PATH

Show more

string

Path within the volumeName from which the container’s volumeName should be mounted.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__MOUNTS__MOUNTS__SUB_PATH

Show more

string

ReadOnly

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__MOUNTS__MOUNTS__READ_ONLY

Show more

boolean

false

CPU Requirements

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__RESOURCES_LIMITS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__RESOURCES_LIMITS_MEMORY

Show more

string

CPU Requirements

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__RESOURCES_REQUESTS_CPU

Show more

string

Memory Requirements

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__RESOURCES_REQUESTS_MEMORY

Show more

string

The optional list of Secret names to load environment variables from.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__ENV_SECRETS

Show more

list of string

The optional list of ConfigMap names to load environment variables from.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__ENV_CONFIGMAPS

Show more

list of string

The map associating environment variable names to their associated field references they take their value from.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__ENV_FIELDS

Show more

Map<String,String>

The map associating environment name to its associated value.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__ENV_VARS

Show more

Map<String,Optional<String>>

The optional name of the Secret from which a value is to be extracted. Mutually exclusive with from-configmap.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__ENV_MAPPING__MAPPING__FROM_SECRET

Show more

string

The optional name of the ConfigMap from which a value is to be extracted. Mutually exclusive with from-secret.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__ENV_MAPPING__MAPPING__FROM_CONFIGMAP

Show more

string

The key identifying the field from which the value is extracted.

Environment variable: QUARKUS_KNATIVE_CONTAINERS__CONTAINERS__ENV_MAPPING__MAPPING__WITH_KEY

Show more

string

required

The ip address

Environment variable: QUARKUS_KNATIVE_HOST_ALIASES__HOST_ALIASES__IP

Show more

string

The hostnames to resolve to the ip

Environment variable: QUARKUS_KNATIVE_HOST_ALIASES__HOST_ALIASES__HOSTNAMES

Show more

list of string

The name of the role.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__NAME

Show more

string

The namespace of the role.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__NAMESPACE

Show more

string

Labels to add into the Role resource.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__LABELS

Show more

Map<String,String>

API groups of the policy rule.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

Show more

list of string

Non resource URLs of the policy rule.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

Show more

list of string

Resource names of the policy rule.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

Show more

list of string

Resources of the policy rule.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

Show more

list of string

Verbs of the policy rule.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLES__ROLES__POLICY_RULES__POLICY_RULES__VERBS

Show more

list of string

The name of the cluster role.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__NAME

Show more

string

Labels to add into the ClusterRole resource.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__LABELS

Show more

Map<String,String>

API groups of the policy rule.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__API_GROUPS

Show more

list of string

Non resource URLs of the policy rule.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__NON_RESOURCE_URLS

Show more

list of string

Resource names of the policy rule.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCE_NAMES

Show more

list of string

Resources of the policy rule.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__RESOURCES

Show more

list of string

Verbs of the policy rule.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLES__CLUSTER_ROLES__POLICY_RULES__POLICY_RULES__VERBS

Show more

list of string

The name of the service account.

Environment variable: QUARKUS_KNATIVE_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAME

Show more

string

The namespace of the service account.

Environment variable: QUARKUS_KNATIVE_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__NAMESPACE

Show more

string

Labels of the service account.

Environment variable: QUARKUS_KNATIVE_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__LABELS

Show more

Map<String,String>

If true, this service account will be used in the generated Deployment resource.

Environment variable: QUARKUS_KNATIVE_RBAC_SERVICE_ACCOUNTS__SERVICE_ACCOUNTS__USE_AS_DEFAULT

Show more

boolean

Name of the RoleBinding resource to be generated. If not provided, it will use the application name plus the role ref name.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__NAME

Show more

string

Labels to add into the RoleBinding resource.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__LABELS

Show more

Map<String,String>

The name of the Role resource to use by the RoleRef element in the generated Role Binding resource. By default, it’s "view" role name.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__ROLE_NAME

Show more

string

If the Role sets in the role-name property is cluster wide or not.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__CLUSTER_WIDE

Show more

boolean

The "name" resource to use by the Subject element in the generated Role Binding resource.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

Show more

string

The "kind" resource to use by the Subject element in the generated Role Binding resource. By default, it uses the "ServiceAccount" kind.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

Show more

string

ServiceAccount

The "apiGroup" resource that matches with the "kind" property. By default, it’s empty.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

Show more

string

The "namespace" resource to use by the Subject element in the generated Role Binding resource. By default, it will use the same as provided in the generated resources.

Environment variable: QUARKUS_KNATIVE_RBAC_ROLE_BINDINGS__ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

Show more

string

Name of the ClusterRoleBinding resource to be generated. If not provided, it will use the application name plus the role ref name.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__NAME

Show more

string

Labels to add into the RoleBinding resource.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__LABELS

Show more

Map<String,String>

The name of the ClusterRole resource to use by the RoleRef element in the generated ClusterRoleBinding resource.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__ROLE_NAME

Show more

string

required

The "name" resource to use by the Subject element in the generated Role Binding resource.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAME

Show more

string

The "kind" resource to use by the Subject element in the generated Role Binding resource. By default, it uses the "ServiceAccount" kind.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__KIND

Show more

string

ServiceAccount

The "apiGroup" resource that matches with the "kind" property. By default, it’s empty.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__API_GROUP

Show more

string

The "namespace" resource to use by the Subject element in the generated Role Binding resource. By default, it will use the same as provided in the generated resources.

Environment variable: QUARKUS_KNATIVE_RBAC_CLUSTER_ROLE_BINDINGS__CLUSTER_ROLE_BINDINGS__SUBJECTS__SUBJECTS__NAMESPACE

Show more

string

The map associating environment variable names to their associated field references they take their value from.

Environment variable: QUARKUS_KNATIVE_ENV_FIELDS

Show more

Map<String,String>

The map associating environment name to its associated value.

Environment variable: QUARKUS_KNATIVE_ENV_VARS

Show more

Map<String,Optional<String>>

The optional name of the Secret from which a value is to be extracted. Mutually exclusive with from-configmap.

Environment variable: QUARKUS_KNATIVE_ENV_MAPPING__MAPPING__FROM_SECRET

Show more

string

The optional name of the ConfigMap from which a value is to be extracted. Mutually exclusive with from-secret.

Environment variable: QUARKUS_KNATIVE_ENV_MAPPING__MAPPING__FROM_CONFIGMAP

Show more

string

The key identifying the field from which the value is extracted.

Environment variable: QUARKUS_KNATIVE_ENV_MAPPING__MAPPING__WITH_KEY

Show more

string

required

Tag is optionally used to expose a dedicated url for referencing this target exclusively.

Environment variable: QUARKUS_KNATIVE_TRAFFIC__TRAFFIC__TAG

Show more

string

RevisionName of a specific revision to which to send this portion of traffic.

Environment variable: QUARKUS_KNATIVE_TRAFFIC__TRAFFIC__REVISION_NAME

Show more

string

LatestRevision may be optionally provided to indicate that the latest ready Revision of the Configuration should be used for this traffic target. When provided LatestRevision must be true if RevisionName is empty.

Environment variable: QUARKUS_KNATIVE_TRAFFIC__TRAFFIC__LATEST_REVISION

Show more

boolean

false

Percent indicates that percentage based routing should be used and the value indicates the percent of traffic that is to be routed to this Revision or Configuration. 0 (zero) mean no traffic, 100 means all traffic.

Environment variable: QUARKUS_KNATIVE_TRAFFIC__TRAFFIC__PERCENT

Show more

100

デプロイメントターゲット

前のセクションで述べたのは deployment-target という概念です。この概念により、ユーザーはどの Kubernetes マニフェストを生成してクラスターにデプロイするかを制御することができます ( quarkus.kubernetes.deploytrue に設定されている場合)。

デフォルトでは、 deployment-target が設定されていない場合は、バニラ Kubernetes リソースのみが生成され、デプロイされます。複数の値が設定されている場合 (例: quarkus.kubernetes.deployment-target=kubernetes,openshift )、すべてのターゲットのリソースが生成されますが、 最初 のターゲットに対応するリソースのみがクラスターに適用されます (デプロイが有効な場合)。

application.properties をデプロイメントプラットフォームから独立させたいユーザーのために、 -Dquarkus.knative.deploy=true に加えて -Dquarkus.kubernetes.deployment-target=knative を追加することで、デプロイコマンドでデプロイメントターゲットを直接指定することができます。さらに、Quarkusでは、この2つのプロパティを1つにまとめることができます( -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.labels0kubernetes.env-vars0 など) は、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 は非推奨です(この記事を書いている時点ではまだサポートされていますが)ので、代わりに新しい宣言スタイルを使うべきです。詳細は [env-vars] とより具体的には [env-vars-backwards ] を参照してください。

Deployment

コンテナーイメージをビルドしてデプロイするには、 quarkus.kubernetes.deploy フラグを有効にする必要があります (このフラグはデフォルトでは無効になっています - さらに、テスト実行中や開発モードでは何の効果もありません)。これはコマンドラインで簡単に行えます。

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

コンテナイメージのビルド

コンテナイメージのビルドは、利用可能な3つの container-image エクステンションのいずれかを使用して可能です。

デプロイが要求されるたびに、暗黙のうちにコンテナイメージのビルドがトリガーされます(Kubernetes のデプロイが有効になっている場合は、追加のプロパティーは必要ありません)。

デプロイ

デプロイメントを有効にすると、Kubernetes エクステンションは quarkus.kubernetes.deployment-target で指定されたリソースを選択してデプロイします。これは、ターゲットの Kubernetes クラスターを指す .kube/config がユーザーディレクトリーで利用可能であることを前提としています。言い換えれば、エクステンションは kubectl が使用しているクラスターであればどれでも使用します。これは、クレデンシャルについても当てはまります。

現在のところ、さらなるカスタマイズのための追加オプションは提供されていません。

リモートデバッグ

kubernetes 環境で動作しているアプリケーションをリモートでデバッグするには、前のセクションで説明したようにアプリケーションをデプロイし、新しいプロパティー (quarkus.kubernetes.remote-debug.enabled=true) として追加する必要があります。このプロパティーは、Java アプリケーションを自動的に設定し、Java エージェント設定 (例: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005) だけでなく、Java エージェントポートを使ってリッスンするサービスリソースも追加します。

デバッグを有効にした状態でアプリケーションをデプロイしたら、次に、ローカルホストマシンから java エージェントの指定されたポートにトラフィックをトンネルする必要があります。

kubectl port-forward svc/<application name> 5005:5005

このコマンドを使用すると、java エージェントがリモートデバッグ用にデフォルトで使用するポート "5005" を使用して、"localhost:5005" からのトラフィックを java エージェントを実行している kubernetes サービスに転送することになります。プロパティー quarkus.kubernetes.remote-debug.address-port を使用して、別の java エージェントポートを設定することも可能です。

最後に、やらなければならないのは、localhost:5005 に転送される java エージェントプロセスをアタッチするようにお気に入りの IDE を設定し、アプリケーションのデバッグを開始することだけです。たとえば、IntelliJ IDEA では、 このチュートリアル に従って、リモートアプリケーションのデバッグを行うことができます。

既存のリソースの利用

追加のリソース (ConfigMap、Secret、データベースの Deployment など) を提供するか、生成プロセスのベースとして使用されるカスタムリソースを提供することが望ましい場合があります。これらのリソースは 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 形式のいずれかで、1 つ以上のリソースが含まれる場合があります。これらのリソースは、生成された両方の形式 (json と yaml) になります。たとえば、src/main/kubernetes/kubernetes.yml に追加されたシークレットは、生成された kubernetes.ymlkubernetes.json の両方に追加されます。

注記: 執筆時点では、提供ファイルと生成ファイルの間に一対多の関係を可能にするメカニズムは存在しません。Minikube も上記の例外ではないため、生成された minikube マニフェストをカスタマイズしたい場合は、src/main/kubernetes 配下のファイルの名前を minikube.json または minikube.yml にしなければなりません (名前を kubernetes.yml または kubernetes.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.yml 、および openshift.json `/ `openshift.yml ファイルに統合されます(KubernetesおよびOpenShiftエクステンションを同時に設定した場合)。

例えば、ConfigMapリソースをファイル src/main/kubernetes/common.yml に一度だけ書き込むことができます:

apiVersion: v1
kind: ConfigMap
metadata:
  name: common-configmap
data:
  hello: world

そして、このconfig mapリソースは、生成された kubernetes.json `/ `kubernetes.yml `, および `openshift.json `/ `openshift.yml ファイルに統合されます。

サービスバインディング

Quarkus は、サービスをアプリケーションにバインドするために、Service Binding Specification for Kubernetes をサポートします。

具体的には、Quarkus は、仕様の Workload Projection の部分を実装しているため、アプリケーションから Database または Broker などのサービスに、ユーザー設定なしでバインドすることができます。

サポートされるエクステンションの Service Binding を有効にするには、quarkus-kubernetes-service-binding エクステンションをアプリケーションの依存関係に追加します。

  • Service Binding では、以下のエクステンションを使用でき、Workload Projection に対応しています。

    • quarkus-jdbc-mariadb

    • quarkus-jdbc-mssql

    • quarkus-jdbc-mysql

    • quarkus-jdbc-postgresql

    • quarkus-mongodb-client

    • quarkus-kafka-client

    • quarkus-smallrye-reactive-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

Workload Projection

Workload Projection は、Kubernetes クラスターからのサービスの設定を取得するプロセスです。この設定は、特定の規約に従ったディレクトリー構造の形式をとり、アプリケーションまたはサービスにマウントされたボリュームとしてアタッチされます。kubernetes-service-binding エクステンションは、このディレクトリー構造を利用して設定ソースを作成し、これにより、データベースやメッセージブローカーなどの追加モジュールを設定することができます。

アプリケーションの開発中、ユーザーは Workload Projection を使用して、実際のアプリケーションコードや設定を変更することなく、開発用データベースやその他のローカルで実行されるサービスにアプリケーションを接続することができます。

ディレクトリー構造をテストリソースに含めて統合テストに渡すワークロードの投影の例については、Kubernetes Service Binding datasource GitHub リポジトリーを参照してください。

  • k8s-sb ディレクトリーは、すべてのサービスバインディングの root です。この例では、fruit-db と呼ばれる 1 つのデータベースのみをバインドすることを意図しています。このバインディングデータベースには、データベースタイプとして postgresql を示す type ファイルがあり、ディレクトリー内の他のファイルは、接続を確立するために必要な情報を提供します。

  • Quarkus プロジェクトが、OpenShift によって設定された SERVICE_BINDING_ROOT 環境変数から情報を取得した後、ファイルシステム内に存在する生成された設定ファイルを探し出し、設定ファイルの値を特定のエクステンションのプロパティーにマッピングするために使用することができます。

サービスバインディング Operator の紹介

Service Binding Operator は、Service Binding Specification for Kubernetes を実装する Operator で、アプリケーションへのサービスのバインディングを簡素化するためのものです。Workload Projection をサポートするコンテナ型アプリケーションは、サービスバインディング情報をボリュームマウントの形で取得します。Service Binding Operator は、バインディングサービス情報を読み取り、それを必要とするアプリケーションコンテナにマウントします。

アプリケーションとバインドされたサービスの相関は ServiceBinding リソースによって表現され、これにより、どのサービスがどのアプリケーションにバインドされるかという意図が宣言されます。

Service Binding Operator は ServiceBinding リソースを監視し、どのアプリケーションがどのサービスとバインドされるべきかを Operator に知らせます。リストされたアプリケーションがデプロイされると、Service Binding Operator はアプリケーションに渡さなければならないすべてのバインディング情報を収集し、バインディング情報でボリュームマウントをアタッチしてアプリケーションコンテナをアップグレードします。

Service Binding Operator は、以下の操作を実施します。

  • 特定のサービスにバインドされることを意図したワークロードの ServiceBinding リソースを観察する

  • ボリュームマウントを使用して、ワークロードにバインド情報を適用する

次の章では、自動および半自動のサービスバインディングのアプローチとそのユースケースについて説明します。どちらのアプローチでも、kubernetes-service-binding エクステンションは、ServiceBinding リソースを生成します。半自動アプローチでは、ユーザーはターゲットサービスの設定を手動で提供する必要があります。自動アプローチでは、ServiceBinding リソースを生成する限定されたサービスセットの場合、追加の設定は必要ありません。

半自動のサービスバインディング

サービスバインディングのプロセスは、あるアプリケーションにバインドされる必要なサービスをユーザーが指定するところから始まります。この表現は、kubernetes-service-binding エクステンションによって生成される ServiceBinding リソースに要約されています。kubernetes-service-binding エクステンションを使用することで、ユーザーは最小限の設定で ServiceBinding リソースを生成できるため、プロセス全体が簡素化されます。

バインディングプロセスを担当するService Binding Operator は、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-kubernetes は、quarkus-kbernetes-service-binding エクステンションとの組み合わせにより、自動的に ServiceBinding リソースを生成します。

先に述べた db-demo property-configuration 識別子は、2 つのロールを持つようになり、以下の動作も完了します。

  • 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 エクステンションは、アプリケーションが利用可能でバインド可能な Operator によって提供される外部サービスへのアクセスを必要とすることを検出した後、自動的に ServiceBinding リソースを生成することができます。

自動サービスバインディングは、限られた数のサービスタイプに対して生成することができます。Kubernetes および Quarkus のサービスに関する確立された用語と一致させるために、この章ではこれらのサービスタイプを kind と呼びます。
Table 2. サービス auto-binding をサポートするオペレーター

オペレーター

API バージョン

Kind

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-kubernetes および quarkus-kbernetes-service-binding プロパティーの存在により、データベースタイプ postgresql 用の ServiceBinding リソースが生成されます。

使用された postgresql` Operator と一致する Operator リソースの apiVersion プロパティーと kind プロパティーを使用することにより、生成された 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 リソースを修正しなければならない場合もあります。生成プロセスはアプリケーションから抽出された情報とサポートされる Operator のナレッジにのみ依存しており、これはクラスターにデプロイされているものを反映していない可能性があります。生成されるリソースは、一般的なサービス kind のサポートされているバインディング可能な Operator のナレッジと、以下のようなミスマッチの可能性を防ぐために開発された一連の規約にのみ基づいています。

  • ターゲットリソース名がデータソース名と一致しない

  • そのサービスの kind のデフォルトの Operator ではなく、特定の Operator を使用する必要がある

  • ユーザーがデフォルトまたは最新以外のバージョンを使用する必要がある場合に発生するバージョンの競合

規約
  • 対象リソース座標は、Operator のタイプとサービスの kind に応じて決定されます。

  • ターゲットリソース名は、デフォルトでは postgresqlmysqlmongo などのサービスの kind に一致するように設定されます。

  • 名前付きデータソースの場合、データソースの名前が使用されます。

  • 名前付き 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 の部分を参照してください。

関連コンテンツ