← До фільтрів та технологій

← До списку лабораторних по Kubernetes

Kubernetes Лабораторна 28: DNS імена pod у StatefulSet

Технологія: Kubernetes

Номер лабораторної: 28 · Рівень: middle

Тема: DNS і headless service для StatefulSet

Повний опис / сценарій лабораторної:

Мета: навчитися використовувати dns імена pod statefulset для внутрішніх зєднань.



Крок 1. Використати statefulset з попередньої лабораторної.

Пояснення: якщо його немає повторно застосуй yaml для ss-demo.



Крок 2. Створити pod з утилітами dns в тому самому namespace.

Команда: kubectl run dns-tools --image=radial/busyboxplus:curl --restart=Never -it -- sh

Пояснення: з цього pod будемо робити dns запити.



Крок 3. Перевірити dns запис для одного pod.

Команда: nslookup ss-demo-0.ss-demo-headless

Пояснення: імня pod складається з podname dot servicename.



Крок 4. Перевірити записи для інших pod.

Команди: nslookup ss-demo-1.ss-demo-headless; nslookup ss-demo-2.ss-demo-headless

Пояснення: кожен pod має власну ip адресу.



Крок 5. Перевірити запис без зазначення pod name.

Команда: nslookup ss-demo-headless

Пояснення: має повернути всі ip адреси pod.



Крок 6. Перевірити доступ до http сервісу за dns.

Команда: curl http://ss-demo-0.ss-demo-headless

Пояснення: переконайся що веб сервер відповідає.



Крок 7. Вийти з dns tools pod.

Команда: exit

Пояснення: повертаєшся до своєї консолі.



Крок 8. Змінити кількість replicas statefulset.

Команда: kubectl scale statefulset ss-demo --replicas=2

Пояснення: pod з великим індексом буде видалений а dns записи зміняться.



Крок 9. Знову перевірити nslookup.

Пояснення: переконайся що dns записи більше не містять pod з індексом 2.



Крок 10. Міні звіт.

Завдання: опиши як dns імена statefulset pod допомагають будувати кластери баз даних або шардовані системи.