Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

K8s Readiness Probes with HTTPS and Certificates

I have a spring boot application hosted on k8s and enforced mTLS on the App itself. I am able to do the mTLS on the connectivity by doing a SSL termination on the Ingress level and then again forwarding the certificates to the springboot pod as well.

Problem is, Liveness and Readiness probes as currently not sure how to send the certificates in the readiness/liveness probes?

Any help would be appreciated.

like image 202
nischay goyal Avatar asked Apr 19 '26 01:04

nischay goyal


1 Answers

From the official documentation configuring probes:

If scheme field is set to HTTPS, the kubelet sends an HTTPS request skipping the certificate verification.

This is what the manifest would look like:

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: nginx
  name: alive-n-ready-https
spec:
  containers:
  - name: nginx
    image: viejo/nginx-mockit
    livenessProbe:
      httpGet:
        path: /
        port: 443
        scheme: HTTPS
    readinessProbe:
      httpGet:
        path: /
        port: 443
        scheme: HTTPS

And while without scheme, the probes would fail with 400 (bad request), as you are sending a http packet to an endpoint that expects https:

10.132.15.199 - - [27/May/2020:18:10:36 +0000] "GET / HTTP/1.1" 400 271 "-" "kube-probe/1.17"

With scheme: HTTPS, it would succeed:

10.132.15.199 - - [27/May/2020:18:26:28 +0000] "GET / HTTP/2.0" 200 370 "-" "kube-probe/1.17"
like image 171
Malgorzata Avatar answered Apr 21 '26 22:04

Malgorzata



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!