Я пытаюсь перенести приложения на основе Netflix OSS в Kubernetes, поэтому я нашел идеальный способ создать службу типа NodePort и зарегистрировать приложения в Eureka. Так что я делаю eureka.hostname = hostIP и eureka.nonSecurePort = nodePort
Вот что я сделал -
Создание службы для примера приложения-службы с типом службы NodePort.
Внедрить порт узла в ConfigMap, выполнив команду kubectl create configmap saas-событие-прием-config --from-literal = nodePort = $ (kubectl get -o jsonpath = "{. Spec.ports [ 0] .nodePort} "services sample-app-service) (Вопрос: есть ли способ указать это как yaml?)
Обратитесь к nodePort, используя configMapKeyRef в yaml развертывания.
Проблема, с которой я сталкиваюсь, заключается в автоматическом развертывании. Поэтому в идеале я хотел бы развернуть приложение, используя один файл развертывания, который включает в себя Service, ConfigMap и Deployment. Есть ли способ, которым я могу сделать это изящно? Или есть альтернативное предложение для этого.
Я также смотрю на helm, но даже если я использую --set для передачи nodePort в ConfigMap, выполнив команду (kubectl get -o jsonpath = "{. Spec.ports [0] .nodePort}" services services -app-service) сначала необходимо развернуть Сервис, чтобы ConfigMap получил значение nodePort. Есть ли способ, которым я могу сделать это?