kubernetes 如何在就绪探测器中动态添加认证令牌

xfb7svmp  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(116)

这个问题是https://stackoverflow.com/a/60142788/22370266的扩展在这个解决方案中,我们应用了硬编码的承载令牌,我如何使它动态。
我添加了这样的令牌:

readinessProbe:
        httpGet:
          path: /path
          port: 8080
          scheme: HTTP
          httpHeaders:
            - name: Authorization
              value: >-
                    Bearer
                    Hardcoded-token

但我不知道如何让它充满活力。
我不知道这是否可能。我只看到添加了环境变量,并且该变量在curl命令中引用。

aij0ehis

aij0ehis1#

要在就绪探测器中动态添加身份验证令牌,您可以使用Kubernetes环境变量。首先,创建一个包含身份验证令牌的环境变量。您可以通过将以下内容添加到部署清单中来执行此操作:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: ubuntu
        image: ubuntu:latest
        imagePullPolicy: IfNotPresent
        env:
        - name: AUTH_TOKEN
          valueFrom:
            secretKeyRef:
              name: my-secret
              key: auth-token

然后,更新就绪探测器以使用身份验证令牌的环境变量。您可以通过将以下代码中的Hardcoded-token值替换为环境变量名称来实现此目的:

readinessProbe:
        httpGet:
          path: /path
          port: 8080
          scheme: HTTP
          httpHeaders:
            - name: Authorization
              value: >-
                    Bearer ${AUTH_TOKEN}

一旦更新了部署清单,就可以部署更改。然后,Kubernetes将$(AUTH_TOKEN)占位符替换为AUTH_TOKEN环境变量的值。您可以使用许多不同的方法动态设置AUTH_TOKEN环境变量的值。例如,您可以使用Kubernetes Secret如下所示-

apiVersion: v1
kind: Secret
metadata:
  name: my-secret
type: Opaque
data:
  auth-token: dXNlci1hY2Nlc3MtdG9rZW4

相关问题