From 6f085d2dd4558dff393145f69d96a65f20390e96 Mon Sep 17 00:00:00 2001 From: Ondrej Chromy Date: Tue, 4 Jun 2024 13:45:09 +0200 Subject: [PATCH] Readiness and liveness probing on a multi-container service Review feedback for SRVKS-1220 --- .../multi-container-support-for-serving.adoc | 3 + ...rless-probing-multi-container-service.adoc | 67 +++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 modules/serverless-probing-multi-container-service.adoc diff --git a/knative-serving/config-applications/multi-container-support-for-serving.adoc b/knative-serving/config-applications/multi-container-support-for-serving.adoc index 388beb0d833b..1052c41eabdf 100644 --- a/knative-serving/config-applications/multi-container-support-for-serving.adoc +++ b/knative-serving/config-applications/multi-container-support-for-serving.adoc @@ -8,3 +8,6 @@ You can deploy a multi-container pod by using a single Knative service. This met // Multi-container support include::modules/serverless-configuring-multi-container-service.adoc[leveloffset=+1] + +// Probing a multi-container service +include::modules/serverless-probing-multi-container-service.adoc[leveloffset=+1] diff --git a/modules/serverless-probing-multi-container-service.adoc b/modules/serverless-probing-multi-container-service.adoc new file mode 100644 index 000000000000..6fc0cf84dfe7 --- /dev/null +++ b/modules/serverless-probing-multi-container-service.adoc @@ -0,0 +1,67 @@ +// Module included in the following assemblies: +// +// * serverless/knative-serving/config-applications/multi-container-support-for-serving.adoc + + +:_content-type: PROCEDURE +[id="serverless-probing-multi-container-service_{context}"] += Probing a multi-container service + + +You can specify readiness and liveness probes for multiple containers. This feature is not enabled by default and you must configure it using the `KnativeServing` custom resource (CR). + + +.Procedure + + +. Configure multi-container probing for your service by enabling the `multi-container-probing` feature in the `KnativeServing` CR. ++ +.Multi-container probing configuration +[source,yaml] +---- +... +spec: + config: + features: + "multi-container-probing": enabled <1> +... +---- +<1> Enabled multi-container-probing feature + +. Apply the updated `KnativeServing` CR. ++ +[source,terminal] +---- +$ oc apply -f +---- +. Modify your multi-container service to include the specified probes. ++ +.Multi-container probing +[source,yaml] +---- +apiVersion: serving.knative.dev/v1 +kind: Service +... +spec: + template: + spec: + containers: + - name: first-container + image: ghcr.io/knative/helloworld-go:latest + ports: + - containerPort: 8080 + readinessProbe: <1> + httpGet: + port: 8080 + - name: second-container + image: gcr.io/knative-samples/helloworld-java + readinessProbe: <2> + httpGet: + port: 8090 +---- +<1> Readiness probe of the first container +<2> Readiness probe of the second container + +== Additional resources +* link:https://knative.dev/docs/serving/services/configure-probing/#general-understanding-of-knative-probing[General understanding of Knative Probing] +