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

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

Kubernetes Лабораторна 6: Зовнішній доступ через NodePort

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

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

Тема: Service типу NodePort

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

Мета: навчитися публікувати сервіс назовні кластера через NodePort.



Крок 1. Переконатися, що deployment http-echo існує.

Команда: kubectl get deployment http-echo

Пояснення: якщо deployment відсутній, створи його як у попередній лабораторній.



Крок 2. Створити service типу NodePort.

Команда: kubectl expose deployment http-echo --name=http-echo-nodeport --type=NodePort --port=80 --target-port=5678

Пояснення: кубернетес виділить порт у діапазоні 30000 32767.



Крок 3. Подивитися конфіг service.

Команда: kubectl get svc http-echo-nodeport

Пояснення: у колонці ports знайди nodeport.



Крок 4. Знайти ip ноди.

Команда: kubectl get nodes -o wide

Пояснення: використай internal ip або external ip, залежно від оточення.



Крок 5. Перевірити доступ ззовні.

Команда з твоєї машини: curl http://<node-ip>:<node-port>

Пояснення: має повернути відповідь з http echo.



Крок 6. Перевірити доступ з іншої ноди.

Пояснення: якщо кластер мульти нодовий, спробуй звернутися до іншої ноди.



Крок 7. Перевірити, що service доступний тільки по tcp.

Пояснення: nodeport відкриває tcp порт; udp потребує окремої конфігурації.



Крок 8. Прибрати service.

Команда: kubectl delete svc http-echo-nodeport

Пояснення: deployment залишиться, але сервіс назовні зникне.



Крок 9. Обдумати обмеження nodeport.

Пояснення: випиши мінуси nodeport для продакшн оточення.



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

Завдання: коротко порівняй nodeport і clusterip, коли що краще.