2

我有这个 ConfigMap,我正在构建一个app-config.json传递给 Angular 的文件。这个文件是我将环境变量导入 Angular 的方式,因为它们必须被提供。

下面是我认为将变量传递到 JSON 将在 ConfiMap 中工作的方式:

apiVersion: v1
kind: ConfigMap
metadata:
  name: frontend-settings
data:
  app-config.json: |-
    {
        "keycloakUrl": "http://${minikube ip}:${keycloak_port}/auth",
        "realm": "eshc",
        "clientId": "eshc-frontend",
        "backendApi": "http://localhost:${backend_port}"
    }

问题是这些没有被评估。我想传递 Kube 服务别名,以及minikube ip上面示例中的命令。有人可以指出我如何做到这一点的正确方向吗?

提前致谢!

4

1 回答 1

2

Kubernetes 未在 API 中提供此功能。

您可以在部署时使用helm或 kubectl 的kustomization features执行此操作。

根据您的用例,这也可以在运行时在应用程序启动之前的容器入口点中完成,或者在 Kubernetes 特定的init 容器中完成。除非您使用共享文件系统或使用 Kubernetes API 来应用这些更改,否则请避免使用 init 容器。

从您的示例中,看起来一切都应该在部署时可用,也许不是 minikube IP。为此,您应该能够使用神奇的 DNS 名称host.minikube.internal

于 2020-08-20T22:19:32.210 回答