如何将Kubernetes env变量引用到同一集群中的其他服务?

xoshrz7s  于 2023-05-28  发布在  Kubernetes
关注(0)|答案(1)|浏览(129)

我在我的kubernetes集群中运行基于vault镜像的服务(带有端点的入口,名称也是'vault'),我希望另一个应用程序将vault的服务主机/端口带入其中。下面是我的deployment配置的一部分:

spec:
  replicas: 1
  minReadySeconds: 45
  selector:
    matchLabels:
      app: my_app_test
  template:
    metadata:
      labels:
        app: my_app_test
    spec:
      containers:
        - image: maxrybalkin91/my_app_test:1.0
          imagePullPolicy: Always
          name: my_app_test
          env:
            - name: VAULT_TOKEN
              valueFrom:
                secretKeyRef:
                  name: test
                  key: vault_token
            - name: VAULT_HOST
              value: $(vault_SERVICE_HOST)
            - name: VAULT_PORT
              value: $(vault_SERVICE_PORT)

我的bootstrap.yml文件:

spring:
  cloud:
    vault:
      enabled: true
      fail-fast: true
      config.lifecycle.enabled: false
      scheme: http
      host: ${VAULT_HOST}
      port: ${VAULT_PORT}
      authentication: TOKEN
      token: ${VAULT_TOKEN}

问题是我的部署找不到这样的变量,应用程序在端口内解析${VAULT_PORT}失败,似乎根本找不到它。如何在yaml配置中正确添加我的服务的值?是否也应该将其添加到选择器中?

5m1hhzi4

5m1hhzi41#

解决办法很简单。我只需要将我的$(vault_SERVICE_HOST)大写为$(VAULT_SERVICE_HOST)

相关问题