我用kitura create
来搭建一个新项目的脚手架,所以它附带了CloudEnvironment,我把它撞到了版本(7.1)。
我正在将Kitura(2.3) 作为Docker映像部署到 IBMKubernetes。
我的问题是:如何在Kitura中获取Kubernetes外部IP地址?
我有问题的部分是cloudEnv.url + "/callback"
部署到 Kubernetes 时localhost:8080/callback
,但我需要它是真正的 ip:port。
我已经走到了这一步,我已经弄清楚了如何编写 Kubernetes config 来将一些值传递给 Docker 容器,但 CloudEnvironment 没有拾取它们,我找不到任何 CloudEnvironment 的相关文档。
https://github.com/IBM-Swift/CloudEnvironment
CloudEnvironment(以前称为 CloudConfiguration)是一个方便的 Swift 软件包,用于访问从各种云计算环境映射到 JSON 对象的环境变量,例如但不限于 Cloud Foundry 和 Kubernetes。例如,要获取访问 Cloudant 数据库的凭据,您需要在 Cloud Foundry 中运行时解析
VCAP_SERVICES
环境变量,而在 Kubernetes 中运行时要获取相同的凭据,您可能需要解析名为CLOUDANT_CREDENTIALS
的环境变量。换句话说,获取某些环境值的路径可能因云环境而异。通过利用此包,您可以使您的 Swift 应用程序在获取此类值时与环境无关。使用 CloudEnvironment 允许您从应用程序的源代码中抽象出这些低级细节。
您可以在名为mappings.json的文件中指定查找键和搜索模式。此文件必须存在于 Swift 项目的根文件夹下的配置文件夹中。你将使用该文件,以便应用可以选取环境变量。
这是一个使用 Swift Kitura 服务器的入门工具包,单击"部署到云">按钮将自动设置 Kube 上所有内容的示例。