mirror of
https://github.com/slurm-personal/school-dev-k8s.git
synced 2026-06-27 13:50:24 +00:00
Смотрим на Service'ы Kubernetes'а
- Деплоим "основное" приложение
cd ~/slurm/practice/5.network-abstractions/2.ingress-and-services/
kubectl apply -f app
- Запустим тестовое приложение, с которого мы будем обращаться к основному:
kubectl run test --image=amouat/network-utils -it bash
exit
- Создаем Service типа ClusterIP:
kubectl apply -f clusterip.yaml
- Убедимся, что Service работает. Узнаем его IP, зайдем внутрь нашего тестового Pod'а и обратимся к основному приложению, используя имя сервиса и IP:
kubectl get svc
kubectl exec test -it bash
curl <ip-адрес сервиса>
curl my-service
exit
- Создаем Service типа Nodeport:
kubectl apply -f nodeport.yaml
- Проверяем что все ОК. Смотрим наши Service'ы, находим NodePort. Фиксируем, какой порт нам открылся и проверяем работу Service'а:
kubectl get svc
curl node-1.slurm.io:<свой номер порта>
curl master-1.slurm.io:<свой номер порта>
- Создаем Service LoadBalancer:
kubectl create -f loadbalancer.yaml
kubectl get svc
- Подчищаем за собой:
kubectl delete svc my-service-lb my-service-np
Разбираемся с Ingress'ами
- Создадим Ingress без указания хоста:
kubectl apply -f nginx-ingress.yaml
kubectl get ing
- Попробуем покурлить разные домены:
curl my.s<свой номер логина>.k8s.slurm.io
curl notmy.s<свой номер логина>.k8s.slurm.io
САМОСТОЯТЕЛЬНАЯ РАБОТА:
- Подправить Ingress таким образом, чтобы он работал только на домене
my.s<свой номер логина>.k8s.slurm.io
Правильный ответ лежит в right_answers/