Значение 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"

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

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

1 ответ

Решение

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

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

Другие вопросы по тегам