probes.md 6.3 KB

Probes

Assume every key below has a prefix of workload.[workload-name].podSpec.containers.[container-name].

Key Type Required Helm Template Default Description
probes dict {} Define probes for the container
probes.liveness dict {} Define the liveness probe
probes.readiness dict {} Define the readiness probe
probes.startup dict {} Define the startup probe
probes.[probe-name].enabled boolean true Enable or disable the probe
probes.[probe-name].type string http Define probe type (exec, http, https, tcp, grpc) (Used as a scheme in http(s) types)
probes.[probe-name].command list/string ✅ (On exec type) "" Define command(s). If it's single, can be defined as string (Only when exec type is used)
probes.[probe-name].port int ✅ (On grpc/tcp/http(s) type) "" Define the port, (Only when grpc/tcp/http/https type is used)
probes.[probe-name].path string / Define the path (Only when https/http type is used)
probes.[probe-name].httpHeaders dict ✅ (On value only) {} Define the httpHeaders in key-value pairs (Only when http/https type is used)
probes.[probe-name].spec.initialDelaySeconds int {{ .Values.fallbackDefaults.probeTimeouts.[probe-name].initialDelaySeconds }} Define the initialDelaySeconds in seconds
probes.[probe-name].spec.periodSeconds int {{ .Values.fallbackDefaults.probeTimeouts.[probe-name].periodSeconds }} Define the periodSeconds in seconds
probes.[probe-name].spec.timeoutSeconds int {{ .Values.fallbackDefaults.probeTimeouts.[probe-name].timeoutSeconds }} Define the timeoutSeconds in seconds
probes.[probe-name].spec.failureThreshold int {{ .Values.fallbackDefaults.probeTimeouts.[probe-name].failureThreshold }} Define the failureThreshold in seconds
probes.[probe-name].spec.successThreshold int {{ .Values.fallbackDefaults.probeTimeouts.[probe-name].successThreshold }} Define the successThreshold in seconds (liveness and startup must always be 1)

Appears in:

  • .Values.workload.[workload-name].podSpec.containers.[container-name].probes

Examples:

workload:
  workload-name:
    enabled: true
    primary: true
    podSpec:
      containers:
        container-name:
          enabled: true
          primary: true
          probes:
            liveness:
              enabled: true
              type: https
              port: 8080
              path: /healthz
              httpHeaders:
                key1: value1
                key2: value2
              spec:
                initialDelaySeconds: 10
                periodSeconds: 10
                timeoutSeconds: 10
                failureThreshold: 10
                successThreshold: 10
            readiness:
              enabled: true
              type: tcp
              port: 8080
              spec:
                initialDelaySeconds: 10
                periodSeconds: 10
                timeoutSeconds: 10
                failureThreshold: 10
                successThreshold: 10
            startup:
              enabled: true
              type: exec
              command:
                - command1
                - command2
              spec:
                initialDelaySeconds: 10
                periodSeconds: 10
                timeoutSeconds: 10
                failureThreshold: 10
                successThreshold: 10