我们正在从头开始一个项目,该项目将在谷歌云服务上进行管理。我想使用 Google Kubernetes Engine。我们的应用程序将有多个环境(Dev、Staging、Production)。每个环境都设置为 Google Cloud 上的一个新项目。
我不清楚的是如何参数化我们的服务/清单文件。例如我们下面的部署文件,{}
我想从每个环境的变量列表中提取任何内容。在之前的一篇文章中,有人提到使用 Helm,但我找不到太多支持以这种方式使用 helm 的文档。
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: webapp
spec:
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: {max-surge}
maxUnavailable: 0
selector:
matchLabels:
run: webapp
template:
metadata:
labels:
run: webapp
spec:
containers:
- name: webapp
image: {gcr-image-url}
imagePullPolicy: Always
ports:
- containerPort: 3000
env:
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: app-secrets
key: DATABASE_URL
- name: SECRET_KEY_BASE
valueFrom:
secretKeyRef:
name: app-secrets
key: SECRET_KEY_BASE
有哪些工具可用于管理我的 GKE 环境?我们将使用 terraform 进行基础设施管理,但我是否可以使用更大的包装器来设置每个环境的参数?