虽然我可以使用在 deployment.yml
中定义的环境变量,但在 conf/application.conf
文件中,如 ${ping_clientid}
。如果我尝试在 conf/swagger.yml
中使用相同的内容,则无法替换
要么是 yml 文件无法读取 env 变量,要么应该有其他方法在 yml 文件中定义 env 变量。
在这种情况下使用 ConfigMap 会有什么优势吗?
swagger.yml
components:
securitySchemes:
visibility_auth:
type: oauth2
flows:
implicit:
authorizationUrl: "${ping.authorizationurl}"
scopes:
openid: Access this API
schemas:
BrandVisibility:
type: object
required:
- brandId
- status
properties:
brandId:
type: integer
format: int64
status:
type: boolean
description: status to be updated
deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: #{k8s.deployment.name}
projectGroup: BMS
project: API
name: #{k8s.deployment.name}
namespace: #{k8s.deployment.namespace}
spec:
replicas: #{k8s.deployment.replicas}
selector:
matchLabels:
app: #{k8s.deployment.name}
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: #{k8s.deployment.replicas}
maxUnavailable: 0
template:
metadata:
labels:
app: #{k8s.deployment.name}
spec:
restartPolicy: #{k8s.deployment.restartPolicy}
containers:
- name: #{k8s.deployment.name}
image: #{k8s.deployment.image}
ports:
- containerPort: #{k8s.container.api.port}
imagePullPolicy: #{k8s.deployment.imagePullPolicy}
resources:
limits:
cpu: #{k8s.resources.limits.cpu}
memory: #{k8s.resources.limits.memory}
requests:
cpu: #{k8s.resources.requests.cpu}
memory: #{k8s.resources.requests.memory}
env:
- name: vertica_db
value: "#{vertica.db}"
- name: vertica_host
value: "#{vertica.host}"
- name: vertica_jdbcUrl
value: "#{vertica.jdbcUrl}"
- name: vertica_password
valueFrom:
secretKeyRef:
name: #{k8s.deployment.name}-secret
key: vertica_password
- name: vertica_port
value: "#{vertica.port}"
- name: vertica_schema
value: "#{vertica.schema}"
- name: vertica_user
valueFrom:
secretKeyRef:
name: #{k8s.deployment.name}-secret
key: vertica_user
- name: vertica_hdfs_url
value: "#{vertica.hdfs.url}"
- name: vertica_web_hdfs_url
value: "#{vertica.web.hdfs.url}"
- name: ping_audience
value: "#{ping.audience}"
- name: ping_issuer
value: "#{ping.issuer}"
- name: ping_jwks
value: "#{ping.jwks}"
- name: ping_clientid
value: "#{ping.clientid}"
- name: ping_authorizationurl
value: "#{ping.authorizationurl}"