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

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

Kubernetes Лабораторна 11: Ingress для публічного http сервісу

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

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

Тема: Ingress базовий http доступ

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

Мета: навчитися виставляти веб сервіс назовні через ingress.



Крок 1. Переконатися, що в кластері є ingress контролер.

Команда: kubectl get pods -n ingress-nginx

Пояснення: якщо його немає, встанови nginx ingress або скористайся managed рішенням.



Крок 2. Створити namespace для веб сервісу.

Команда: kubectl create namespace web-ingress-lab

Пояснення: виділяємо окремий простір для експерименту.



Крок 3. Розгорнути deployment з nginx у новому namespace.

Команда: kubectl create deployment web --image=nginx -n web-ingress-lab

Пояснення: простий веб сервер для тесту.



Крок 4. Створити service типу ClusterIP.

Команда: kubectl expose deployment web --name=web-svc --port=80 -n web-ingress-lab

Пояснення: сервіс буде ціллю для ingress.



Крок 5. Написати yaml для ingress ресурсу.

Ідея: ingress з host typable.local і шляхом /, який мапиться на web-svc порт 80.

Пояснення: це правило маршрутизації http трафіку.



Крок 6. Застосувати ingress.

Команда: kubectl apply -f web-ingress.yaml

Пояснення: ingress контролер створить відповідні правила.



Крок 7. Дізнатися зовнішню адресу ingress.

Команда: kubectl get ingress -n web-ingress-lab

Пояснення: запиши поле address або ip.



Крок 8. Прописати запис у hosts на локальній машині.

Дія: додай рядок типу 1.2.3.4 typable.local у файл hosts.

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



Крок 9. Перевірити доступ.

Команда: curl http://typable.local

Пояснення: має повернути стартову сторінку nginx.



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

Завдання: опиши, чим ingress краще за nodeport для веб сервісів.