Csi-livenessprobe#
Csi-livenessprobe – вспомогательный контейнер (sidecar), отслеживающий работоспособность драйвера CSI. Он сообщает об этом DropApp Plus через механизм проверки работоспособности, который использует kubelet, предоставляя конечную точку HTTP/healthz, перехватывающую livenessProbe kubelet.
Последовательность выполнения#
Для проверки работоспособности драйвера CSI сsi-livenessprobe используется вызов метода Probe().
Рекомендуемые флаги приведены в таблице:
Синтаксис флага |
Значение |
|---|---|
|
Флаг, с помощью которого указывается путь к сокету драйвера CSI ( |
|
Флаг, с помощью которого указывается TCP-порт ( |
|
Флаг, с помощью которого указывается продолжительность одного вызова |
|
Флаг, с помощью которого указывается TCP-порт, на котором будет прослушиваться конечная точка метрик Prometheus (например, |
|
Флаг, с помощью которого указывается HTTP-путь, по которому будут доступны метрики Prometheus (по умолчанию |
|
Флаг, с помощью которого указывается TCP-адрес сети, по которому расположен HTTP-сервер, где содержится информация о проверках работоспособности драйвера CSI и го показателях. По умолчанию используется пустая строка, которая означает, что сервер отключен |
Также поддерживаются все флаги журналирования инструментов glog и klog (например, -v <log-level>, где <log-level> – уровень журнала).
Запуск контейнера осуществляется с использованием манифеста hostpath-with-livenessprobe.yaml:
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
# ...
Сsi-livenessprobe предоставляет только конечную точку HTTP и не содержит раздела livenessProbe. livenessProbe установлен в контейнере с драйвером CSI, что обеспечивает перезапуск контейнера драйвера в случае сбоя проверки.
Результат#
Csi-livenessprobe настроен и готов к использованию.