我在“ docker”中运行了一个.netcore Web App。因此开始将它与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 ”不能在应用设置上替换。
进行了一些测试。我只发现了数字变量的问题。
有人有想法或您有问题吗?
vlw
答案 0 :(得分:0)
您必须对数字使用ASCII码。因此您的部署规范将如下所示:
env:
- name: connectionSettings.connectionString.mongoDB
value: "mongodb://192.168.20.99:27017"
- name: configuration.token.issuer
value: "\x38\x36\x34\x30\x30"
并检查环境变量:
sukhoversha@sukhoversha:~/GCP$ kubectl exec myapp-dev-api-dep-7948866b56-6cnmk env | grep con
connectionSettings.connectionString.mongoDB=mongodb://192.168.20.99:27017
configuration.token.issuer=86400
答案 1 :(得分:0)
问题出在yamls识别码中。 yaml文件中的错误空间可能有很多问题。
https://github.com/helm/helm/blob/master/docs/chart_template_guide/yaml_techniques.md
关于电话号码。两个答案都是正确的。您可以使用单引号'86400'和ACII“ \ x38 \ x36 \ x34 \ x30 \ x30”。
谢谢大家