Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将外部应用程序属性值传递给kubernetes部署_Kubernetes_Environment Variables_Google Kubernetes Engine_Kubernetes Pod_Kubernetes Deployment - Fatal编程技术网

将外部应用程序属性值传递给kubernetes部署

将外部应用程序属性值传递给kubernetes部署,kubernetes,environment-variables,google-kubernetes-engine,kubernetes-pod,kubernetes-deployment,Kubernetes,Environment Variables,Google Kubernetes Engine,Kubernetes Pod,Kubernetes Deployment,我有一个application.property值,如下所示: spring.datasource.url=jdbc:mysql://<clusterIP>:3306/test spring.datasource.username=root spring.datasource.password=test123 假设我得到一个ClusterIP10.100.205.156,我可以在创建部署并在kubernetes中运行mysql部署之前,以某种方式将值jdbc:mysql://:33

我有一个application.property值,如下所示:

spring.datasource.url=jdbc:mysql://<clusterIP>:3306/test
spring.datasource.username=root
spring.datasource.password=test123
假设我得到一个ClusterIP10.100.205.156,我可以在创建部署并在kubernetes中运行mysql部署之前,以某种方式将值jdbc:mysql://:3306/test动态传递给部署yml文件吗


我是kubernetes的新手,请提出一些想法来实现这一点。提前感谢

好吧,您可以随时用您服务的DNS名称替换
mysql群集ip服务

spring.datasource.url=jdbc:mysql://mysql-cluster-ip-service:3306/test

并让Kubernetes DNS服务将名称解析为实际IP地址。直接处理IP地址可能不是最好的办法。

好吧,您可以随时用您服务的DNS名称替换
mysql群集IP服务

spring.datasource.url=jdbc:mysql://mysql-cluster-ip-service:3306/test

并让Kubernetes DNS服务将名称解析为实际IP地址。直接处理IP地址可能不是最好的主意。

我建议将
clusterIP
类型服务的服务名称存储在configMap中,并使用将该configMap注入spring应用程序

您可以利用spring概要文件,根据不同的环境(如dev、test、prod)注入不同的值

spring还提供了自动重新加载功能,通过该功能,configMap中的任何更改都会在spring应用程序上下文中自动重新加载


这是一个很好的端到端示例。

我建议将
clusterIP
类型服务的服务名称存储在configMap中,并使用将该configMap注入spring应用程序

您可以利用spring概要文件,根据不同的环境(如dev、test、prod)注入不同的值

spring还提供了自动重新加载功能,通过该功能,configMap中的任何更改都会在spring应用程序上下文中自动重新加载


这是一个很好的端到端示例。

感谢您的洞察力。我是否需要安装Kubernetes CoreDNS或其他插件来实现您的建议。谢谢您的帮助。我是否需要安装Kubernetes CoreDNS或其他插件来实现您的建议。任何github项目的示例或完成该项目的代码都肯定会对我有所帮助。由于我是kubernetes的新手,所以我不知道如何将clusterip动态传递给deploymet文件。我共享的docs链接已经有代码示例。检查这个GitHub@Vikram..在答案中添加了一个到端到端示例的链接..检查任何示例GitHub项目或完成的代码肯定会帮助我。由于我不熟悉kubernetes动态地将clusterip传递给deploymet文件,因此我不确定如何实现您的建议。我共享的文档链接已经有代码示例。检查此GitHub@Vikram..在回答中添加了一个指向端到端示例的链接..检查它