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

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

Kubernetes Лабораторна 5: Внутрішній сервіс ClusterIP

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

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

Тема: Service типу ClusterIP

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

Мета: навчитися робити внутрішній сервіс для доступу до подів за стабільним імям.



Крок 1. Створити deployment з http echo.

Команда: kubectl create deployment http-echo --image=hashicorp/http-echo --port=5678 -- --text="Hello from Kubernetes"

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



Крок 2. Перевірити pod.

Команда: kubectl get pods -l app=http-echo

Пояснення: переконайся, що pod працює.



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

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

Пояснення: сервіс отримує внутрішню ip і dns імʼя.



Крок 4. Перевірити service.

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

Пояснення: запиши cluster ip і порт.



Крок 5. Створити тимчасовий pod клієнт.

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

Пояснення: отримаєш shell з утилітою curl.



Крок 6. Виконати запит до service.

Команда всередині pod: curl http-echo-svc

Пояснення: перевіряєш роботу сервісу за dns імям.



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

Команда всередині pod: curl http://<cluster-ip>:80

Пояснення: альтернативний спосіб доступу до того самого сервісу.



Крок 8. Вийти з pod клієнта.

Команда: exit

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



Крок 9. Прибрати resources.

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

Пояснення: за бажанням можна також видалити deployment.



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

Завдання: опиши, чому краще ходити на service, а не напряму на pod ip.