[英]Install PostgreSQL on Kubernetes with Helm 3
我有一些微服务,其中之一需要使用 postreSQL。 我使用 Helm 3 配置此微服务。每个环境都有两个不同的 values.yaml,例如 values.stage.yaml 和 values.prod.yaml。所以我的困惑是,
2.以后如果有更多的微服务要使用同一个PostreSQL,我该怎么做才能提供这个功能。
您的图表应在 Helm 3 的Chart.yaml
文件Chart.yaml
postgresql
声明为依赖Chart.yaml
。 (在 Helm 2 中,有 一个单独的requirements.yaml
文件。)在部署图表之前,您需要运行helm dep up
( helm dependency update
),但是当您运行helm install
,它将安装您的应用程序及其数据库依赖项。
所以你的Chart.yaml
看起来大概像
apiVersion: v2
name: app
...
dependencies:
- name: postgresql
version: '^8'
repository: @stable
(在 Helm 3 中,您还需要helm repo add
稳定的 Helm 图表存储库。)
您可以按照配置应用程序其余部分的相同方式为每个环境配置数据库。 数据库设置将嵌套在子图表的名称下; 在命令行中,您可以--set postgresql.postgresqlPassword=...
,并在 YAML 文件中将数据库设置放在postgresql:
键下。
如果你有第二个需要 PostgreSQL 的服务,它应该以同样的方式声明一个依赖项并安装它自己独立的数据库副本。 由于数据库安装在容器内隔离,因此这不被认为是特别重要的。 如果您的两个服务需要通信,它们应该通过网络(通常是 HTTP)连接而不是通过共享数据库来实现。
默认情况下,Helm 选择values.yaml
根目录的values.yaml
。
要安装具有不同值的相同 Helm Chart,您可以执行以下操作,
helm install . -f values.stage.yaml
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.