我想用一个值为 secret 的httpHeader定义一个livenessProbe。

此语法无效:

livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
    httpHeaders:
      - name: X-Custom-Header
        valueFrom:
          secretKeyRef:
            name: my-secret-key
            value: secret

如果我将值my-secret-keysecret指定为名为MY_SECRET_KEY的环境变量,则可以执行以下操作:
livenessProbe:
  exec:
    command:
      - curl
      - --fail
      - -H
      - "X-Custom-Header: $MY_SECRET_KEY"
      - 'http://localhost:8080/healthz'

不幸的是,这并不是由于报价的评估方式所致。如果我直接在容器上键入curl --fail -H "X-Custom-Header: $MY_SECRET_KEY" http://localhost:8080/healthz命令,它将起作用。

我还尝试了单引号和转义双引号的许多组合。

有人知道解决方法吗?

最佳答案

我可以想到的一种解决方法是创建一些bash脚本来运行此运行状况检查,然后像往常一样将您的 secret 数据放入环境中。

关于kubernetes - 使用 secret 的httpHeaders定义一个livenessProbe,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41774643/

10-09 06:47