Приложение Г: Kubernetes Deployment для микросервисной архитектуры на Spring Boot 2.7
В этой главе мы рассмотрим практический пример развертывания микросервисов Spring Boot 2.7 в Kubernetes, опираясь на актуальные тенденции и статистику.
Микросервисная архитектура – это подход к разработке, при котором приложение строится как набор небольших, автономных сервисов, взаимодействующих посредством API. По данным CNews, в 2023 году многие крупные компании переходят к микросервисам, чтобы ускорить разработку и повысить гибкость. Kubernetes (K8s) – платформа оркестрации контейнеров, которая автоматизирует развертывание, масштабирование и управление контейнеризированными приложениями. Kubernetes стал стандартом для управления микросервисными архитектурами, упрощая сложные задачи, такие как service discovery и автоматическое масштабирование. Использование Kubernetes значительно упрощает управление сложной микросервисной инфраструктурой и повышает ее надежность. Он позволяет эффективно управлять ресурсами и обеспечивать высокую доступность приложений. Вместе эти технологии образуют мощный стек для создания масштабируемых и отказоустойчивых приложений.
Преимущества микросервисной архитектуры на Spring Boot
Микросервисная архитектура в сочетании со Spring Boot предоставляет ряд значительных преимуществ. Spring Boot упрощает создание автономных, production-ready микросервисов. Независимое развертывание позволяет командам разрабатывать и развертывать сервисы независимо друг от друга, сокращая время выхода новых функций на рынок. Масштабируемость каждого микросервиса можно масштабировать индивидуально, оптимизируя использование ресурсов. Технологическая гибкость позволяет выбирать лучшие технологии для каждого сервиса. Отказоустойчивость: отказ одного сервиса не влияет на другие. Согласно опросу CNews, компании, внедрившие микросервисы, отмечают повышение скорости разработки на 30% и снижение затрат на инфраструктуру на 20%. Spring Boot, как популярный фреймворк, предлагает множество готовых решений для задач, часто возникающих при разработке микросервисов.
Необходимость Kubernetes для управления микросервисами
Kubernetes (K8s) становится неотъемлемой частью управления микросервисными архитектурами из-за сложности и динамичности таких систем. Kubernetes предоставляет инструменты для автоматизации развертывания, масштабирования и управления контейнеризированными микросервисами. Без Kubernetes, ручное управление множеством микросервисов становится трудоемким и подверженным ошибкам. K8s обеспечивает service discovery, позволяя микросервисам находить и взаимодействовать друг с другом. Он также обеспечивает автоматическое масштабирование, чтобы справляться с изменяющейся нагрузкой. Более того, Kubernetes упрощает мониторинг и логирование микросервисов, что крайне важно для поддержания здоровья системы. Исследования показывают, что организации, использующие Kubernetes для управления микросервисами, снижают операционные затраты на 25% и увеличивают скорость развертывания новых версий на 40%.
Создание Spring Boot микросервисов
Создание Spring Boot микросервисов начинается с определения бизнес-логики и API каждого сервиса. Spring Initializr (start.spring.io) – отличный инструмент для быстрого создания каркаса проекта Spring Boot. Выберите необходимые зависимости, такие как Spring Web, Spring Data JPA, и другие, в зависимости от потребностей сервиса. Определите REST API endpoints для взаимодействия с другими сервисами. Используйте аннотации Spring MVC (@RestController, @GetMapping, @PostMapping и т.д.) для создания API. Реализуйте бизнес-логику, используя сервисы и репозитории Spring Data JPA для доступа к данным. Важно настроить логирование и мониторинг для каждого сервиса. Используйте Spring Actuator для предоставления health checks и метрик. Согласно опросам, Spring Boot позволяет сократить время разработки микросервисов на 50% по сравнению с использованием других Java-фреймворков.
Dockerizing Spring Boot приложений
Для Dockerizing Spring Boot приложений необходимо создать Dockerfile в корне проекта. Dockerfile содержит инструкции для сборки Docker-образа. Начните с базового образа, например, `FROM openjdk:17-slim`. Скопируйте JAR-файл приложения в образ (`COPY target/*.jar app.jar`). Укажите команду для запуска приложения (`ENTRYPOINT [«java», «-jar», «/app.jar»]`). Оптимизируйте Dockerfile, используя многослойную сборку для уменьшения размера образа. Используйте `.dockerignore` файл, чтобы исключить ненужные файлы из образа. После создания Dockerfile, выполните команду `docker build -t <имя_образа> .` для сборки образа. Загрузите образ в Docker Registry (например, Docker Hub) с помощью `docker push <имя_образа>`. По статистике, контейнеризация с помощью Docker уменьшает время развертывания приложений на 60% и повышает плотность использования ресурсов на 40%. Docker позволяет обеспечить консистентность окружения между разработкой, тестированием и production.
Kubernetes Deployment YAML: Основы
Deployment в Kubernetes описывает желаемое состояние приложения. YAML файлы используются для определения Deployment. Основные элементы Deployment YAML: `apiVersion`, `kind`, `metadata`, `spec`. `apiVersion` указывает версию API Kubernetes. `kind` определяет тип ресурса (в данном случае, Deployment). `metadata` содержит информацию о Deployment (имя, namespace). `spec` описывает желаемое состояние: `replicas` (количество реплик), `selector` (селектор подов), `template` (шаблон пода). Шаблон пода содержит описание контейнера(ов), используемый образ, порты, переменные окружения. Важно правильно настроить `livenessProbe` и `readinessProbe` для обеспечения health checks. Использование YAML файлов позволяет декларативно описывать развертывание приложений, что упрощает управление и автоматизацию. По данным опросов, около 80% команд используют YAML для управления ресурсами Kubernetes. Понимание структуры Deployment YAML – ключевой навык для работы с Kubernetes.
Пример Kubernetes Deployment YAML для Spring Boot микросервиса
Пример Deployment YAML для Spring Boot микросервиса:
yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-springboot-app
namespace: my-namespace
spec:
replicas: 3
selector:
matchLabels:
app: my-springboot-app
template:
metadata:
labels:
app: my-springboot-app
spec:
containers:
— name: my-springboot-app
image: my-docker-registry/my-springboot-app:latest
ports:
— containerPort: 8080
livenessProbe:
httpGet:
path: /actuator/health
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /actuator/health
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
Этот YAML файл определяет Deployment с именем «my-springboot-app», развернутый в namespace «my-namespace». Он создает 3 реплики приложения, использует Docker-образ «my-docker-registry/my-springboot-app:latest» и определяет probes для health checks.
Конфигурирование ресурсов Kubernetes: ConfigMaps и Secrets
ConfigMaps и Secrets в Kubernetes используются для управления конфигурацией и секретами приложений. ConfigMaps хранят неконфиденциальные данные конфигурации, такие как URL базы данных, порты и другие настройки. Secrets хранят конфиденциальные данные, такие как пароли, ключи API и сертификаты. Данные в ConfigMaps и Secrets могут быть подключены к подам как переменные окружения или файлы. ConfigMaps создаются с помощью `kubectl create configmap <имя> —from-literal=key=value`. Secrets создаются с помощью `kubectl create secret generic <имя> —from-literal=key=value`. В Deployment YAML, ConfigMap и Secret могут быть подключены к контейнеру через `envFrom` или `volumeMounts`. Правильное использование ConfigMaps и Secrets повышает безопасность и упрощает управление конфигурацией микросервисов. По статистике, около 70% компаний используют ConfigMaps и Secrets для управления конфигурацией приложений в Kubernetes.
Service Discovery в Kubernetes для Spring Boot микросервисов
Kubernetes предоставляет встроенный механизм service discovery, позволяющий микросервисам находить и взаимодействовать друг с другом. Каждый сервис в Kubernetes имеет уникальное имя DNS, которое используется для разрешения IP-адреса сервиса. Spring Cloud Kubernetes упрощает интеграцию Spring Boot приложений с service discovery Kubernetes. Для использования service discovery, добавьте зависимость `spring-cloud-starter-kubernetes-discovery` в проект Spring Boot. Spring Cloud Kubernetes автоматически обнаруживает сервисы Kubernetes и регистрирует Spring Boot приложение как сервис. Используйте `@LoadBalanced` аннотацию для автоматической балансировки нагрузки между экземплярами сервиса. Kubernetes DNS и Spring Cloud Kubernetes упрощают разработку и развертывание микросервисных приложений. По данным опросов, около 65% команд используют встроенный service discovery Kubernetes для микросервисов.
Автоматическое масштабирование Spring Boot приложений в Kubernetes
Kubernetes Horizontal Pod Autoscaler (HPA) автоматически масштабирует количество подов в Deployment на основе загрузки CPU или памяти. HPA можно настроить с помощью YAML файла или команды `kubectl autoscale deployment <имя_deployment> —cpu-percent=50 —min=1 —max=10`. HPA мониторит метрики CPU или памяти каждого пода и увеличивает или уменьшает количество подов для поддержания заданной загрузки. Spring Boot Actuator предоставляет метрики, которые HPA может использовать для масштабирования. Важно правильно настроить запросы и лимиты ресурсов для каждого пода, чтобы HPA мог эффективно масштабировать приложение. Автоматическое масштабирование позволяет эффективно использовать ресурсы и обеспечивать высокую доступность приложений. По статистике, использование HPA снижает затраты на инфраструктуру на 30% и повышает отказоустойчивость на 20%. HPA позволяет автоматически адаптироваться к изменяющейся нагрузке.
Мониторинг и логирование Spring Boot микросервисов в Kubernetes
Мониторинг и логирование критически важны для управления Spring Boot микросервисами в Kubernetes. Spring Boot Actuator предоставляет метрики, которые можно использовать для мониторинга производительности и здоровья микросервисов. Prometheus и Grafana – популярные инструменты для сбора и визуализации метрик. Логи можно собирать с помощью Fluentd, Logstash или Elasticsearch. Kubernetes предоставляет централизованный механизм логирования, который позволяет собирать логи со всех подов. Важно настроить агрегирование логов и мониторинг ошибок для быстрого выявления и устранения проблем. Централизованное логирование упрощает анализ проблем и помогает обеспечить высокую доступность приложений. По статистике, компании, внедрившие централизованный мониторинг и логирование, сокращают время обнаружения проблем на 40% и повышают отказоустойчивость на 25%. Мониторинг и логирование позволяют оперативно реагировать на проблемы и поддерживать стабильность системы.
Настройка Ingress для доступа к Spring Boot микросервисам
Ingress в Kubernetes управляет внешним доступом к сервисам. Ingress Controller (например, Nginx Ingress Controller) маршрутизирует трафик на основе правил, определенных в Ingress ресурсе. Для настройки Ingress, создайте Ingress YAML файл, который определяет хосты, пути и сервисы, на которые нужно маршрутизировать трафик. Ingress позволяет использовать единую точку входа для всех микросервисов. Также Ingress поддерживает TLS/SSL termination для обеспечения безопасности. Важно правильно настроить Ingress Controller и Ingress ресурсы для обеспечения надежного и безопасного доступа к микросервисам. Использование Ingress упрощает управление внешним доступом и повышает безопасность. По статистике, около 75% компаний используют Ingress для управления внешним трафиком в Kubernetes. Ingress обеспечивает гибкую маршрутизацию и упрощает настройку TLS/SSL.
Развертывание микросервисной архитектуры на Kubernetes с использованием Spring Boot 2.7 предоставляет мощные возможности для создания масштабируемых и отказоустойчивых приложений. Kubernetes упрощает управление сложной инфраструктурой микросервисов, обеспечивая автоматическое масштабирование, service discovery и мониторинг. Spring Boot упрощает разработку микросервисов, предоставляя готовые решения для распространенных задач. Правильное использование ConfigMaps, Secrets, Ingress и HPA позволяет эффективно управлять конфигурацией, безопасностью и ресурсами. Переход на микросервисную архитектуру требует тщательного планирования и инвестиций в обучение, но преимущества, такие как повышение скорости разработки и снижение затрат на инфраструктуру, оправдывают эти усилия. По статистике, компании, успешно внедрившие микросервисную архитектуру на Kubernetes, получают конкурентное преимущество и повышают свою гибкость.
В этой таблице представлены основные компоненты и конфигурации, необходимые для развертывания микросервисной архитектуры на Spring Boot 2.7 в Kubernetes. Таблица содержит информацию о ресурсах Kubernetes, конфигурациях Spring Boot и инструментах мониторинга и логирования, которые используются для управления микросервисами. Данные в таблице помогут вам спланировать и реализовать развертывание микросервисной архитектуры в Kubernetes. Рассмотрим ключевые аспекты конфигурации: deployment yaml, configmap kubernetes spring boot, secret kubernetes spring boot, настройка ingress kubernetes spring boot, logging kubernetes spring boot, мониторинг kubernetes spring boot. Информация в таблице основана на лучших практиках и статистических данных, собранных из различных источников. Успешное развертывание микросервисов требует понимания и правильной конфигурации этих компонентов. Представленные данные помогут избежать распространенных ошибок и оптимизировать процесс развертывания. Также, использование правильных инструментов мониторинга и логирования позволит оперативно реагировать на возникающие проблемы и поддерживать стабильность системы. Не забывайте про service discovery kubernetes, автоматическое масштабирование kubernetes spring boot, конфигурация kubernetes для spring cloud. Квесты и пример deployment файла kubernetes также являются важными частями развертывания.
| Компонент | Описание | Конфигурация | Пример |
|---|---|---|---|
| Deployment | Управляет развертыванием подов | Replicas, image, ports, probes | `replicas: 3`, `image: my-app:latest`, `containerPort: 8080` |
| ConfigMap | Хранит неконфиденциальные данные | Key-value pairs | `database_url: jdbc://…`, `port: 8080` |
| Secret | Хранит конфиденциальные данные | Encrypted key-value pairs | `database_password: mysecret` |
| Ingress | Управляет внешним доступом | Hosts, paths, services | `host: myapp.com`, `path: /api`, `service: my-service` |
| Service | Предоставляет доступ к подам | Type, selector, ports | `type: LoadBalancer`, `selector: app=my-app`, `port: 80` |
| HPA | Автоматическое масштабирование | CPU/Memory targets | `cpu-percent: 50`, `minReplicas: 1`, `maxReplicas: 10` |
В данной сравнительной таблице мы рассмотрим различные подходы и инструменты для развертывания микросервисов Spring Boot в Kubernetes, сравнивая их преимущества и недостатки. Это поможет вам выбрать наиболее подходящий вариант для ваших конкретных потребностей. Мы сравним ручное развертывание, использование Helm и использование операторов Kubernetes. Ручное развертывание предполагает создание и применение YAML файлов вручную, что дает полный контроль над конфигурацией, но требует больше усилий. Helm – это менеджер пакетов для Kubernetes, который упрощает развертывание и обновление приложений. Операторы Kubernetes автоматизируют управление сложными приложениями, предоставляя более высокий уровень абстракции. При выборе подхода важно учитывать сложность приложения, требуемый уровень автоматизации и опыт команды. Также, рассмотрим разные варианты мониторинга: Prometheus vs. Grafana, и варианты логирования: ELK stack vs. Fluentd. Сравнение будет произведено по нескольким параметрам: простота использования, гибкость, масштабируемость и стоимость. Не забывайте про kubernetes namespace для spring boot приложений и configmap kubernetes spring boot. Знание о развертывании микросервисной архитектуры на kubernetes и пример развертывания kubernetes необходимо для правильной настройки и масштабирования вашего приложения.
| Подход | Преимущества | Недостатки | Сложность | Автоматизация |
|---|---|---|---|---|
| Ручное развертывание | Полный контроль, гибкость | Требует больше усилий, подвержен ошибкам | Высокая | Низкая |
| Helm | Упрощает развертывание, управление пакетами | Требует изучения Helm, менее гибкий | Средняя | Средняя |
| Операторы | Автоматизирует управление, высокий уровень абстракции | Требует разработки оператора, сложный | Высокая | Высокая |
| Prometheus | Широкий набор инструментов, возможность хранения данных | Требует настройки | Средняя | Средняя |
| Grafana | Широкий набор инструментов, возможность визуализации | Требует настройки | Средняя | Средняя |
| ELK stack | Широкий набор инструментов, возможность сбора, хранения, анализа и визуализации данных | Требует настройки | Высокая | Высокая |
В этом разделе собраны часто задаваемые вопросы (FAQ) о развертывании микросервисной архитектуры на Spring Boot 2.7 в Kubernetes. Эти вопросы и ответы помогут вам лучше понять процесс развертывания и решить распространенные проблемы. Рассмотрим следующие вопросы: Как правильно настроить `livenessProbe` и `readinessProbe`? Как обеспечить безопасное хранение секретов в Kubernetes? Как настроить автоматическое масштабирование Spring Boot приложений? Как мониторить микросервисы в Kubernetes? Как использовать service discovery для взаимодействия микросервисов? Как настроить Ingress для внешнего доступа к микросервисам? Как создать `kubernetes deployment yaml`? Как использовать `configmap kubernetes spring boot`? Как использовать `secret kubernetes spring boot`? Ответы на эти вопросы основаны на лучших практиках и статистических данных, собранных из различных источников. Правильное понимание этих вопросов и ответов позволит вам успешно развернуть и управлять микросервисной архитектурой на Kubernetes. Не забывайте про `kubernetes namespace` для Spring Boot приложений и примеры `развертывания микросервисной архитектуры на kubernetes`. Квесты могут помочь вам в изучении этих технологий. Важно помнить о настройке `logging kubernetes spring boot`, `мониторинг kubernetes spring boot`, `конфигурация kubernetes для spring cloud`. Пример `deployment файла kubernetes` и `автоматическое масштабирование kubernetes spring boot` также рассматриваются в этом разделе.
Вопрос: Как правильно настроить `livenessProbe` и `readinessProbe`?
Ответ: `livenessProbe` проверяет, жив ли контейнер, а `readinessProbe` проверяет, готов ли контейнер принимать трафик. Используйте HTTP endpoint или TCP socket для проверок. Настройте `initialDelaySeconds` и `periodSeconds` для оптимизации проверок.
Вопрос: Как обеспечить безопасное хранение секретов в Kubernetes?
Ответ: Используйте Secrets Kubernetes для хранения конфиденциальных данных. Рассмотрите использование сторонних инструментов, таких как HashiCorp Vault, для дополнительной безопасности.
Вопрос: Как настроить автоматическое масштабирование Spring Boot приложений?
Ответ: Используйте Kubernetes Horizontal Pod Autoscaler (HPA) для автоматического масштабирования на основе загрузки CPU или памяти. Настройте запросы и лимиты ресурсов для каждого пода.
В этой таблице собраны полезные команды kubectl, которые пригодятся при развертывании и управлении микросервисами Spring Boot в Kubernetes. Команды охватывают основные операции, такие как создание, просмотр, обновление и удаление ресурсов Kubernetes. Знание этих команд позволит вам эффективно управлять вашим кластером Kubernetes. Таблица включает команды для работы с Deployments, Services, ConfigMaps, Secrets, Ingress и другими ресурсами. Помимо основных команд, в таблице представлены примеры использования опций и фильтров для более точного управления ресурсами. Например, можно использовать фильтры для просмотра ресурсов в определенном namespace или для поиска ресурсов с определенными labels. Регулярное использование этих команд позволит вам автоматизировать многие задачи и снизить вероятность ошибок. Не забывайте про kubernetes namespace для spring boot приложений и configmap kubernetes spring boot. Знание о развертывании микросервисной архитектуры на kubernetes и пример развертывания kubernetes необходимо для правильной настройки и масштабирования вашего приложения. Применяйте logging kubernetes spring boot и мониторинг kubernetes spring boot для более быстрой локализации проблем. Квесты и пример deployment файла kubernetes также являются важными частями развертывания.
| Команда | Описание | Пример |
|---|---|---|
| `kubectl create deployment` | Создает Deployment | `kubectl create deployment my-app —image=my-image:latest` |
| `kubectl get deployments` | Просматривает Deployments | `kubectl get deployments -n my-namespace` |
| `kubectl apply -f` | Применяет конфигурацию из YAML файла | `kubectl apply -f deployment.yaml` |
| `kubectl delete deployment` | Удаляет Deployment | `kubectl delete deployment my-app` |
| `kubectl get pods` | Просматривает Pods | `kubectl get pods —selector=app=my-app` |
| `kubectl describe pod` | Отображает подробную информацию о Pod | `kubectl describe pod my-pod` |
| `kubectl create configmap` | Создает ConfigMap | `kubectl create configmap my-config —from-literal=key=value` |
В этой сравнительной таблице мы рассмотрим различные стратегии развертывания микросервисов Spring Boot в Kubernetes, сравнивая их преимущества и недостатки, а также сценарии использования. Будут рассмотрены стратегии: Rolling Update, Canary Deployment, Blue/Green Deployment. Rolling Update – это стратегия, при которой новые версии микросервисов развертываются постепенно, заменяя старые версии без простоя. Canary Deployment – это стратегия, при которой новая версия микросервиса развертывается для небольшой части пользователей, чтобы проверить ее работоспособность. Blue/Green Deployment – это стратегия, при которой две идентичные среды (Blue и Green) используются для развертывания новых версий микросервисов. Выбор стратегии зависит от требований к доступности, рискам и скорости развертывания. Также, сравним разные варианты Service Mesh: Istio vs. Linkerd, и варианты Container Runtime: Docker vs. containerd. Сравнение будет произведено по нескольким параметрам: простота использования, гибкость, масштабируемость и стоимость. Не забывайте про kubernetes namespace для spring boot приложений и configmap kubernetes spring boot. Знание о развертывании микросервисной архитектуры на kubernetes и пример развертывания kubernetes необходимо для правильной настройки и масштабирования вашего приложения. Применяйте logging kubernetes spring boot и мониторинг kubernetes spring boot для более быстрой локализации проблем.
| Стратегия | Преимущества | Недостатки | Риск | Простота |
|---|---|---|---|---|
| Rolling Update | Без простоя, постепенно | Сложность отката | Средний | Средняя |
| Canary | Низкий риск, тестирование на реальных пользователях | Сложность настройки | Низкий | Высокая |
| Blue/Green | Быстрый откат, изолированное тестирование | Требует больше ресурсов | Низкий | Средняя |
| Istio | Многофункциональность, управление трафиком | Сложность настройки, высокая нагрузка на систему | Высокий | Высокая |
| Docker | Наиболее популярный, большое комьюнити, широкая поддержка | Ресурсозатратность, меньшая производительность | Средний | Высокий |
FAQ
В этом разделе собраны часто задаваемые вопросы (FAQ) о развертывании микросервисной архитектуры на Spring Boot 2.7 в Kubernetes. Эти вопросы и ответы помогут вам лучше понять процесс развертывания и решить распространенные проблемы. Рассмотрим следующие вопросы: Как правильно настроить `service discovery kubernetes`? Как обеспечить `автоматическое масштабирование kubernetes spring boot`? Как настроить `конфигурация kubernetes для spring cloud`? Как мониторить микросервисы в Kubernetes с помощью Prometheus и Grafana? Как использовать Fluentd для сбора логов микросервисов? Как настроить Ingress для внешнего доступа к микросервисам с использованием TLS/SSL? Как создать `kubernetes deployment yaml`? Как использовать `configmap kubernetes spring boot` и `secret kubernetes spring boot`? Как настроить `kubernetes namespace` для Spring Boot приложений? Как использовать `развертывание микросервисной архитектуры на kubernetes` и какие есть примеры `развертывания kubernetes`? Ответы на эти вопросы основаны на лучших практиках и статистических данных, собранных из различных источников. Правильное понимание этих вопросов и ответов позволит вам успешно развернуть и управлять микросервисной архитектурой на Kubernetes. Не забывайте про `logging kubernetes spring boot`, `мониторинг kubernetes spring boot`, пример `deployment файла kubernetes` и квесты могут помочь вам в изучении этих технологий.
Вопрос: Как правильно настроить `service discovery kubernetes`?
Ответ: Используйте Spring Cloud Kubernetes Discovery для автоматической регистрации и обнаружения сервисов. Добавьте зависимость `spring-cloud-starter-kubernetes-discovery` в проект Spring Boot. Используйте `@LoadBalanced` для автоматической балансировки нагрузки.
Вопрос: Как обеспечить `автоматическое масштабирование kubernetes spring boot`?
Ответ: Используйте Kubernetes Horizontal Pod Autoscaler (HPA) для автоматического масштабирования на основе загрузки CPU или памяти. Настройте запросы и лимиты ресурсов для каждого пода.
Вопрос: Как настроить `конфигурация kubernetes для spring cloud`?
Ответ: Используйте Spring Cloud Kubernetes Config для автоматической загрузки конфигурации из ConfigMaps и Secrets. Добавьте зависимость `spring-cloud-starter-kubernetes-config` в проект Spring Boot.