首页 > 解决方案 > k8s是否支持https liveness和readness probe

问题描述

我的应用基于 express 节点框架并以 https 证书开头。那么k8s是否支持https liveness probe呢?架构是 HTTPS。我认为活性探测是通过 IP 地址而不是域发送请求。所以看起来 HTTPS 模式实际上不起作用。

      livenessProbe:
        httpGet:
          path: /api/alive
          port: 8433
          scheme: HTTPS

标签: kubernetes

解决方案


是的,它确实。支持“HTTP”和“HTTPS”。请参阅下面的示例

apiVersion: v1
kind: Pod
metadata:
  labels:
    test: liveness
  name: liveness-http
spec:
  containers:
  - args:
    - /server
    image: k8s.gcr.io/liveness
    livenessProbe:
      httpGet:
        # when "host" is not defined, "PodIP" will be used
        # host: my-host
        # when "scheme" is not defined, "HTTP" scheme will be used. Only "HTTP" and "HTTPS" are allowed
        # scheme: HTTPS
        path: /healthz
        port: 8080
        httpHeaders:
        - name: X-Custom-Header
          value: Awesome
      initialDelaySeconds: 15
      timeoutSeconds: 1
    name: liveness

注意,如果 scheme 字段设置为 HTTPS,kubelet 会向指定的路径(path: /healthz)和端口(port: 8080 )发送 HTTPS 请求以执行跳过证书验证的检查


推荐阅读