我正在尝试通过模板将Kong API Gateway部署到我的openshift项目中。问题是,Kong似乎正在做一些导致sporadic failure of DNS resolution的DNS内容。解决方法是使用FQDN(<name>.<project_name>.svc.cluster.local
)。所以,在我的模板中我想做:
- env:
- name: KONG_DATABASE
value: postgres
- name: KONG_PG_HOST
value: "{APP_NAME}.{PROJECT_NAME}.svc.cluster.local"
如果可能存在一组默认的可用参数,我只是不确定如何获取当前PROJECT_NAME
...
答案 0 :(得分:2)
您可以从Kubernetes向下API读取名称空间(项目名称)到环境变量中,然后在值中使用它。
例如,请参阅OpenShift文档here。
基于Claytons的更新评论:
已从部署配置中测试并显示以下代码段。
- env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- name: EXAMPLE
value: example.$(MY_POD_NAMESPACE)
在正在运行的容器内:
sh-4.2$ echo $MY_POD_NAMESPACE
testing
sh-4.2$ echo $EXAMPLE
example.testing
在用户界面的环境屏幕中,它显示为字符串值,例如example.$(MY_POD_NAMESPACE)