Как получить Kubernetes внешний IP внутри сервера Kitura - PullRequest
0 голосов
/ 16 мая 2018

Я использовал kitura create для создания нового проекта, поэтому он поставлялся с CloudEnvironment , который я поднял до версии (7.1).

Я развернул Kitura (2.3) как Docker образ для IBM Kubernetes .

У меня такой вопрос: как мне получить Kubernetes внешний IP-адрес внутри Kitura?


У меня возникла проблема с cloudEnv.url + "/callback", которая при развертывании в Kubernetes составляет localhost:8080/callback, но мне нужно, чтобы это был настоящий порт ip:.

Я пришелдо сих пор я выяснил, как написать конфигурацию Kubernetes для передачи некоторых значений в контейнер Docker, но CloudEnvironment не забирает их, и я не могу найти соответствующую документацию для CloudEnvironment.

1 Ответ

0 голосов
/ 17 мая 2018

https://github.com/IBM-Swift/CloudEnvironment

CloudEnvironment (ранее известная как CloudConfiguration) - это удобный пакет Swift для доступа к переменным среды, сопоставленным с объектами JSON из различных облачных вычислительных сред, таких как, но не ограничиваясь этим, CloudЛитейное и Кубернетское.Например, чтобы получить учетные данные для доступа к базе данных Cloudant, вам нужно проанализировать переменную среды VCAP_SERVICES при работе в Cloud Foundry, в то время как для получения тех же учетных данных при работе в Kubernetes вам может понадобиться проанализировать переменную среды с именем CLOUDANT_CREDENTIALS.Другими словами, путь для получения определенных значений среды может отличаться от одной облачной среды к другой.Используя этот пакет, вы можете сделать свое приложение Swift независимым от среды, когда дело доходит до получения таких значений.Использование CloudEnvironment позволяет вам абстрагировать эти низкоуровневые подробности от исходного кода вашего приложения.

Вы задаете ключи поиска и шаблоны поиска в файле с именем mappings.json .Этот файл должен существовать в папке config в корневой папке вашего проекта Swift.Вы будете использовать этот файл, чтобы приложение могло выбирать переменные среды.

Вот начальный комплект, использующий сервер Swift Kitura, и при нажатии кнопки Deploy to Cloud будет настроенопример всего на кубе автоматически .

...