【发布时间】:2019-08-11 19:11:20
【问题描述】:
我有一个在“docker”中运行的 .netcore Web 应用程序。于是开始用kubernetes对其进行集群。 appsettings.json 上有四个配置,将由环境变量转换(都在“${}”之间):
{
"ConnectionSettings": [
{
"id": "${connectionSettings.connectionString.idMongoDb}",
"databaseName": "${connectionSettings.connectionString.databaseName}",
"connectionString": "${connectionSettings.connectionString.mongoDB}"
}
],
{
"Key": "Token.Issuer",
"Value": "${configuration.token.issuer}",
"Description": "",
"ModifiedDate": "2018-05-05 00:00:00.0000000",
"ModifiedBy": "system",
"AllowedProfiles": 1
}
}
这是我的 .yaml 文件的一部分:
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-dev-api-dep
labels:
app: myapp-dev-api-dep
tier: app
version: v1
spec:
selector:
matchLabels:
app: myapp-dev-api
tier: app
version: v1
replicas: 1
template:
metadata:
labels:
app: myapp-dev-api
tier: app
version: v1
spec:
containers:
- name: myapp-dev-api
image: 'myappapi_tstkube:latest'
env:
- name: connectionSettings.connectionString.mongoDB
value: mongodb://192.168.20.99:27017
- name: configuration.token.issuer
value: '86400'
ports:
- name: http
containerPort: 80
protocol: TCP
livenessProbe:
initialDelaySeconds: 30
periodSeconds: 3600
httpGet:
path: /swagger/index.html
port: 80
resources:
requests:
cpu: 25m
memory: 200Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
restartPolicy: Always
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
看看我的配置:
变量“connectionSettings.connectionString.mongoDB”有效。但变量“configuration.token.issuer”不能在 appsetting 上替换。
做了一些测试。我只发现数字变量的问题。
有什么想法或者你有问题吗?
vlw
【问题讨论】:
-
您是否尝试过设置环境变量
configuration.token.issuer使用双引号作为字符串,如"86400"? -
是的。一个和两个引号(“86400”,“86400”)。
标签: docker kubernetes environment-variables yaml appsettings