The liveness probe is a sidecar container that exposes an HTTP /healthz
endpoint, which serves as kubelet's livenessProbe hook to monitor health of a CSI driver.
The liveness probe uses Probe()
call to check the CSI driver is healthy. See CSI spec for more information about Probe API call. Container Storage Interface (CSI)
This information reflects the head of this branch.
See hostpath-with-livenessprobe.yaml for example how to use the liveness probe with a CSI driver. Notice that actual livenessProbe
is set on the container with the CSI driver. This way, Kubernetes restarts the CSI driver container when the probe fails. The liveness probe sidecar container only provides the HTTP endpoint for the probe and does not contain livenessProbe
section by itself.
kind: Pod spec: containers: # Container with CSI driver - name: hostpath-driver image: quay.io/k8scsi/hostpathplugin:v0.2.0 # Defining port which will be used to GET plugin health status # 9808 is default, but can be changed. ports: - containerPort: 9808 name: healthz protocol: TCP # The probe livenessProbe: failureThreshold: 5 httpGet: path: /healthz port: healthz initialDelaySeconds: 10 timeoutSeconds: 3 periodSeconds: 2 volumeMounts: - mountPath: /csi name: socket-dir # ... # The liveness probe sidecar container - name: liveness-probe imagePullPolicy: Always image: registry.k8s.io/sig-storage/livenessprobe:v2.7.0 args: - --csi-address=/csi/csi.sock volumeMounts: - mountPath: /csi name: socket-dir # ...Recommended optional arguments
--csi-address <path to CSI socket>
: This is the path to the CSI driver socket inside the pod that the external-provisioner container will use to issue CSI operations (/run/csi/socket
is used by default).--health-port <number>
: TCP ports for listening for healthz requests (default "9808")
--probe-timeout <duration>
: Maximum duration of single Probe()
call (default "1s").
--metrics-address <port>
: The TCP network address where the prometheus metrics endpoint will listen (example: :8080
). The default is empty string, which means metrics endpoint is disabled.
--metrics-path <path>
: The HTTP path where prometheus metrics will be exposed. Default is /metrics
."
--http-endpoint <endpoint>
: The TCP network address where the HTTP server for diagnostics, including CSI driver health check and metrics. The default is empty string, which means the server is disabled.
Arguments set by the k8s.io/component-base/logs
package for klog are supported, such as --v <log level>
and --logging-format <log format>
.
Learn how to engage with the Kubernetes community on the community page.
You can reach the maintainers of this project at:
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4