У меня есть (контейнерная) веб-служба, которая общается с внешней службой CloudSQL в Google Cloud.Я использовал шаблон коляски, в котором контейнер Google Cloud SQL Proxy находится рядом с веб-службой и аутентифицирует + прокси-серверы для внешней службы CloudSQL.Это отлично работает.Давайте назовем это Deployment «deploy-api» с контейнерами «api» + «pg-proxy»
Проблема возникает, когда я хочу развернуть приложение в моем локальном кластере мини-кубов, который должен иметь другую конфигурацию из-заслужба общается с локальным сервером Postgres на моем компьютере.Если я развертываю "deploy-api" как есть на minikube, он пытается запустить контейнер "pg-proxy", который запирает и весь модуль входит в цикл сбоя.Есть ли способ для меня выборочно НЕ развертывать контейнер "pg-proxy" без двух определений для Pod, например, используя селекторы / метки?Я не хочу перемещать контейнер pg-proxy в собственное развертывание.
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment-api
namespace: ${MY_ENV}
labels:
app: api
env: ${MY_ENV}
spec:
replicas: ${REPLICAS}
selector:
matchLabels:
app: api
env: ${MY_ENV}
template:
metadata:
labels:
app: api
env: ${MY_ENV}
spec:
containers:
- name: pg-proxy
ports:
- containerPort: 5432
image: gcr.io/cloudsql-docker/gce-proxy:1.11
command: ["/cloud_sql_proxy",
"-instances=<redacted>:${MY_ENV}-app=tcp:5432",
"-credential_file=/secrets/cloudsql/${MY_ENV}-sql-credentials.json"]
securityContext:
runAsUser: 2 # non-root user
allowPrivilegeEscalation: false
volumeMounts:
- name: ${MY_ENV}-cloudsql-instance-credentials
mountPath: /secrets/cloudsql
readOnly: true
- name: api
image: ${DOCKER_IMAGE_PREFIX}api:${TAG}
imagePullPolicy: ${PULL_POLICY}
ports:
- containerPort: 50051
volumes:
- name: ${MY_ENV}-cloudsql-instance-credentials
secret:
secretName: ${MY_ENV}-cloudsql-instance-credentials