docker - kubernetes 覆盖环境变量

标签 docker kubernetes

我希望能够在将其发送到集群之前在本地测试我的 docker 应用程序。我想为此使用 mini Kube。同时,我不想使用多个 kube 配置文件来为云环境和本地计算机定义 env 变量,而是想在本地运行时覆盖一些 env 变量。我可以看到你可以使用 docker compose 做类似的事情:

docker-compose up -f docker-compose.yml -f docker-compose.e2e.yml.

第二个文件将仅具有覆盖值。是的,有两个文件,但我发现它很干净。

有没有办法用 Kube/minikube 做类似的事情?或者甚至更好的东西???

最佳答案

我认为您是在问如何根据 Pod 部署到的环境将不同的环境值传递到 Pod 中。实现此目的的一种模式是使用 helm 进行部署。然后,您可以使用 kubernetes 描述符的模板化版本进行部署。您还有一个values.yaml 文件,其中包含要注入(inject)描述符的值。您可以switch and overlay values.yaml files在安装时控制为给定安装注入(inject)哪些值。

如果您询问如何切换 kubectl 命令是针对本地还是云运行,而无需不断切换 kubeconfig 文件,那么您可以 add both contexts to your kubeconfig并使用 kubectl context 在它们之间切换,如 @ Ijaz Khan建议

关于docker - kubernetes 覆盖环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52892766/

相关文章:

amazon-web-services - Kubernetes:如何设置 VolumeMount 用户组和文件权限

kubernetes - 在没有云提供商负载均衡器的情况下将 kubernetes 集群暴露给 "the world"

php - 500(内部服务器错误)与 Laravel 和 Docker

docker - 在Windows Server 2016 Docker容器上托管.net核心api,在调用docker start时,状态为Exited(2147516566)而不是UP

kubernetes - 如何从 Helm 图表禁用服务创建

kubernetes - 如何为示例Istio应用程序公开外部IP地址

docker - 在 docker 中模拟不同的网络状况

mysql - 使用 docker-compose,数据库容器未启动并运行

docker - 了解 docker 卷和卷选项

kubernetes - Prometheus Operator Alertmanager - 自定义规则 - 在 config.plain 类型中找不到字段组