我们正在将ruby微服务迁移到kubernetes,我们过去在config/application.yml
中保存特定于环境的配置。使用kubernetes,您可以为每个服务创建特定于环境的文件,例如config/kubernetes/production.yml
等。
虽然kubernetes的pod配置文件能够保存环境变量,但您似乎不能在其中保存结构化数据。
例如,在application.yml
中,我们有
development: &development
process:
notifier:
type: 'terminal-notifier'
...
production: &production
process:
notifier:
type: 'airbrake'
api_key: 'xxxx'
host: 'xxx.xxx.com'
...
在kubernetes中继续这种实践并在application.yml
中打破环境是否合理,或者kubernetes是否有一些其他的最佳实践来为POD提供结构化配置?
请注意,在迁移所有服务之前,我们基本上必须保持配置原样:
kubernetes_staging:
<<: *staging
...
您可以通过几种方法来实现这一点,一种是在单个文件中继续执行您正在执行的操作,另一种是使用标签来指定要使用哪个环境的配置,另一种是使用名称空间。我个人推荐使用名称空间,这样您就可以为每个可能生成相同pods的环境拥有单独的.yml
文件,但配置不同,因此您需要使用staging、prod等名称空间。名称空间也是使相同的kubernetes集群具有分段和生产概念的一个很好的方法。此外,还可以为某些命名空间指定权限。
下面是关于名称空间的文档https://github.com/kubernetes/kubernetes/blob/release-1.0/docs/design/namespaces.md
我使用Angular和Angular-CLI编写了一个web应用程序。当使用时,它将启动并运行。 但是,我需要在Tomcat上部署它,因为我的Web应用程序不能是默认的servlet,所以它必须可以在不同的路径下访问。 在我的开发服务器上,我可以使用访问以下Web应用程序: 在我的Tomcat生产服务器上,它需要在这里: 问题是,System.js仍然在中搜索其依赖项,而不是 我如何才能告诉Sys
我有一个小型java webapp,由三个微服务组成——api-service、book-service和db-service,所有这些都使用mini kube本地部署在kubernetes集群上。 我计划为api-service和book-service保留单独的UI,从单独的pod提供常见的静态文件,可能是映像。 我能够创建一个前端,为参考本教程的nginx:alpine中的静态文件提供服务。
我在k8s守护程序上工作,其部署需要根据k8s群集提供程序类型(gke、eks、aks、minikube、k3s、kind、在vm上使用kubeadm安装的自我管理k8s等)更改某些值。 如果已经配置了,那么确定k8s集群提供程序类型的正确方法是什么? 一个选项是使用: 然而,这似乎是hacky,我确信它不会在所有情况下工作。例如,对于EKS,我不知道使用什么正则表达式。
我们的Thorntail(2.4.0.Final)webapp使用Infinispan作为JCache(JSR-107)提供商。除了JCache的属性(如按值存储选项)之外,我们还想修改Infinispan特定的属性(如默认获取超时)。 我们当前的解决方案不起作用。以下是我们迄今为止所做的尝试。 定义: 然后下面的类使用上面的配置: 接口定义为: 下面是我们如何使用JCache API配置缓存:
问题内容: 主要问题-可能吗?我没有运气就尝试了.. 主app.js 提供者本身 而且我有这样的错误: 有任何想法吗? 谢谢! 问题答案: 您 不能 将服务注入提供者配置部分。 您 CAN 注入服务成初始化提供者的服务的部分。 细节: Angular框架有两个阶段的初始化过程: 阶段1:配置 在此阶段,将初始化所有提供程序,并执行所有部分。这些部分可能包含配置提供程序对象的代码,因此可以将它们与提
我已在单独的Weblogic域中成功配置了SAML 2.0身份提供程序 我们在另一个域的Weblogic中部署了一个ADF应用程序,该应用程序具有非SAML基于表单的身份验证(ReadOnlySQLAuthenticator用于验证凭据) 我想将第二个域配置为服务提供者(以使现有应用程序能够使用身份提供者登录)。 我做了以下工作: 配置SAML 2.0 Identity Asserter 在服务器