Мы начинаем проект с нуля, который будет управляться в облачных сервисах Google.Я хотел бы использовать 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 для управления инфраструктурой, но опять же, есть ли более крупная оболочка, которую я могу использовать для установки параметров для среды?