#mongodb #go #kubernetes
#mongodb #Вперед #kubernetes
Вопрос:
В приложении на Golang есть несколько строк:
type configuration struct {
ListenPort string `env:"listen" default:":8080"`
MongoHost string `env:"mongo_host" default:"mongo-srv:27017"`
MongoUser string `env:"mongo_user" default:"user"`
MongoPass string `env:"mongo_pass" default:"password"`
MongoDBname string `env:"mongo_db_name" default:"MyDB"`
}
Как я могу перенести значения из evnironment для развертывания этого приложения в k8s?
Я пытался это сделать. Но это не работает.
kind: Deployment
metadata:
name: MyApp
namespace: App
...
spec:
containers:
...
env:
- name: listen
value: "8080"
- name: mongo_host
value: "mongo-srv:27017"
...
Комментарии:
1. Как вы можете сказать, что это не работает? Если вы запускаете код Go вне Kubernetes, соблюдаются ли те же настройки переменных среды?
2. Когда я запускаю pod с приложением, он не может подключиться к БД. Возможно, я неправильно использую переменные окружения. Стоит ли удалять эти параметры из кода, но дополнительно записывать их в docker compose?
3. вы пытаетесь извлечь значения структуры из кода go в модуль / контейнер?
4. @shubham_asati Да.
5. можете ли вы объяснить немного больше о том, чего вы пытаетесь достичь.. добавьте еще немного информации о сценарии