значение initialDelaySeconds из configMap

У меня есть несколько сервисов, и их зонды настроены одинаково. Я хотел бы извлечь общие значения, такие как initialDelaySeconds, periodSeconds и т. д., для livenessProbe в configMap. Является ли это возможным?

Когда я создаю configMap следующим образом:

data:
  liveness-endpoint: /actuator/health/liveness
  liveness-initialDelaySeconds: 60
  liveness-periodSeconds: 5

и попробуйте сослаться на него в зонде следующим образом:

  livenessProbe:
    httpGet:
      path: liveness-endpoint
      port: http-api
    initialDelaySeconds: liveness-initialDelaySeconds
    periodSeconds: liveness-periodSeconds

kubernetes жалуются, что в configMap должны быть только строки, поэтому я меняю его на

  liveness-initialDelaySeconds: "60"

а затем он жалуется, что зонд должен использовать целое число, а не строку.

Как видите, я могу ссылаться на порт для probe, так что, вероятно, есть способ определить эти значения int, но как?


person Marx    schedule 22.10.2020    source источник


Ответы (1)


Kubernetes не разрешает использование configMap в файлах yaml. По сути, он должен знать, прежде чем configMap даже загрузится, вы можете использовать configMap только как тома и переменные среды.

Также порты могут быть строковыми, потому что вы можете назвать порты в определениях pod, svc, а затем ссылаться на них в проверках живости, готовности. Но periodSeconds — это просто старое целочисленное значение.

person Akin Ozer    schedule 22.10.2020