来自 configMap 的 initialDelaySeconds 值
initialDelaySeconds value from configMap
我有多个服务,它们的探测器配置方式相同。我想将 livenessProbe 的常用值(如 initialDelaySeconds、periodSeconds 等)提取到 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"
然后它抱怨说探测必须使用整数,而不是字符串。
如您所见,我可以为探测引用端口,所以可能有一种方法可以定义这些 int 值,但是如何定义?
Kubernetes 不允许在 yaml 文件中使用 configMap。基本上它需要在 configMap 加载之前知道,你只能使用 configMaps 作为卷和环境变量。
端口也可以是字符串,因为您可以在 pod、svc 定义中命名端口,然后在 liveness、readiness 探测中引用它。但是 periodSeconds 只是普通的旧整数值。
我有多个服务,它们的探测器配置方式相同。我想将 livenessProbe 的常用值(如 initialDelaySeconds、periodSeconds 等)提取到 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"
然后它抱怨说探测必须使用整数,而不是字符串。
如您所见,我可以为探测引用端口,所以可能有一种方法可以定义这些 int 值,但是如何定义?
Kubernetes 不允许在 yaml 文件中使用 configMap。基本上它需要在 configMap 加载之前知道,你只能使用 configMaps 作为卷和环境变量。
端口也可以是字符串,因为您可以在 pod、svc 定义中命名端口,然后在 liveness、readiness 探测中引用它。但是 periodSeconds 只是普通的旧整数值。