Поиск по сайту:

Жизнь — игра (Б. Грасиан).

Что такое обнаружение сервисов в Kubernetes?

4 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
13 сентября 2021
Как читать узлы в Kubernetes
Микросервисы используются в современных системах, чтобы поддерживать их масштабируемость и функциональность. Благодаря своим инструментам и функциям Kubernetes создает идеальные условия для совместной работы микросервисов. Решение в целом становится гораздо более гибким, поскольку каждый компонент приложения развертывается в контейнере. Обнаружение служб – это процесс обнаружения приложений и микросервисов в сети.

Метод автоматического поиска устройств и служб в сети известен как обнаружение служб. Протокол обнаружения служб (SDP) – это сетевой стандарт для обнаружения сетей и определения местоположения ресурсов, когда пользователям предоставляются подходящие ресурсы, такие как принтер или ноутбук с поддержкой Bluetooth. Обнаружение служб помогает уменьшить проблемы с настройкой.

Обнаружение службы выполняется в Kubernetes с использованием автоматически созданных имен служб, соответствующих IP-адресу службы. В Kubernetes модель сервисов предлагает самый простой, но важный компонент обнаружения микросервисов. Чтобы понять, как приложение работает в Kubernetes, требуется понимание обнаружения сервисов. Kubernetes Service Syncs стандартизирует и автоматизирует взаимодействие между сервисами, решая проблемы с контейнерами в дизайне микросервисов. Службы подключают модули к сети единообразным образом в кластерах.

Процесс определения того, как присоединиться к службе, известен как обнаружение службы. Обнаружение служб на стороне сервера и на стороне клиента – это основные типы обнаружения служб. Клиентские приложения могут использовать подходы к обнаружению служб на стороне сервера для поддержки через маршрутизатор или балансировщик нагрузки. Обнаружение служб на стороне клиента позволяет клиентским приложениям находить службы путем поиска или запроса реестра служб, содержащего экземпляры служб и конечные точки.

Экземпляры служб можно зарегистрировать в реестре служб и временно приостановить их использование двумя разными способами. Шаблон саморегистрации позволяет обслуживающим организациям регистрироваться независимо в реестре услуг. Шаблон сторонней регистрации предполагает, что другой системный компонент выполняет регистрацию и отмену регистрации для службы. Одним из компонентов, которые делают эту контейнерную платформу функциональной и адаптируемой, является обнаружение сервисов Kubernetes. Благодаря стандартизации передовые технологии, такие как сервисная сетка, делают обнаружение сервисов Kubernetes более эффективным. В этом разделе мы рассмотрим некоторые из основных процессов обнаружения сервисов в Kubernetes.

Читать  Как установить Mono на Ubuntu 20.04

Давайте начнем с того, что соберем несколько необходимых сервисов, чтобы изучить, как концепции сервисов Kubernetes работают на практике. Давайте зайдем в терминал ОС Ubuntu 20.04 LTS, чтобы поговорить об обнаружении сервисов в Kubernetes. Для этого вы можете использовать область приложения или сочетание клавиш «Ctrl + Alt + T».

Чтобы инициализировать minikube, выполните команду, указанную ниже.

$ minikube start

 

Текущая версия minikube будет отображаться в выводе этой инструкции. Теперь мы создадим пространство имен с именем «develop» с помощью команды cat в оболочке.

$ cat << ENDL > develop-namespace.yml

 

Контент будет добавлен прямо в терминал, не открывая его из файла.

Чтобы сгенерировать пространство имен в терминале, используйте команду как:

$ kubectl apply -f develop-namespace.yml

 

Пространство имен создано эффективно. Теперь мы снова создадим другое пространство имен с именем «production», используя команду cat в оболочке.

Чтобы сгенерировать пространство имен в терминале, выполните команду как:

$ kubectl apply -f production-namespace.yml

 

Опять же, пространство имен было создано эффективно. Теперь мы собираемся развернуть наши примеры приложений в пространствах имен, которые мы создали ранее. Для этого мы создадим развертывание с именем «hello» для пространства имен develop с помощью команды cat в оболочке.

$ cat << ENDL > app-deployment-develop.yml

 

Контент будет добавлен прямо в терминал, не открывая его из файла.

Чтобы создать развертывание для пространства имен разработки, выполните команду как:

$ kubectl apply -f app-deployment-develop.yml

 

Развертывание создано эффективно. Опять же, мы создадим другое развертывание для пространства имен с именем «production», используя команду cat в оболочке.

$ cat << ENDL > app-deployment-production.yml

 

Чтобы создать развертывание для производственного пространства имен в терминале, используйте команду как:

$ kubectl apply -f app-deployment-production.yml

 

Развертывание было создано эффективно, как видно из отображаемых выходных данных. Теперь, чтобы определить модули и найти их IP-адреса, мы собираемся выполнить команду, указанную ниже, как:

$ kubectl describe pods --all-namespaces

 

IP-адреса для каждого модуля в выходных данных выше являются внутренними и уникальными для каждого случая. Каждый раз, когда мы повторно развертывали приложение, ему присваивался новый IP-адрес. Теперь мы можем проверить, можем ли мы пропинговать Pod внутри кластера. Создайте файл с помощью команды cat как.

$ cat << ENDL >> jumpod.yml

 

Читать  Как изменить размер MTU в Linux

Чтобы создать модуль для пространства имен по умолчанию в оболочке, выполните команду как:

kubectl apply -f jumpod.yml

 

Jumpod создан. Проверьте связь с IP-адресом временного модуля в пространстве имен по умолчанию с помощью команды cat в оболочке с помощью команды kubectl exec.

$ kubectl exec -it jumpod ping 101.214.0.149

 

Система доменных имен – один из важнейших аспектов эффективного интернет-сервиса (DNS). Весь интернет-контент и веб-сервисы зависят от DNS, поэтому вы должны иметь возможность быстро решать любые проблемы. Инструмент под названием nslookup – один из способов сделать это. nslookup означает «поиск сервера имен». Он позволяет вам проверить информацию о доменном имени и обнаружить проблемы. Мы можем получить полное доменное имя модуля с помощью инструмента nslookup:

$ kubectl exec -it jumpod nslookup 101.214.0.149

 

Теперь, чтобы проверить внешний развернутый IP-адрес, мы выполним следующую команду:

$ kubectl get services --all-namespaces

Заключение

При переходе на микросервисы обнаружение сервисов, вероятно, является наиболее важной частью инфраструктуры для реализации. В этом руководстве мы увидели, насколько просто опубликовать приложение с помощью Kubernetes Services.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться в соц. сетях:
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close