Files
school-dev-k8s/practice/5.network-abstractions/2.ingress-and-services/README.md
T
Marsel Ibraev f44beb51a9 Add basic info
2021-09-24 11:51:02 +03:00

2.2 KiB
Raw Blame History

Смотрим на Service'ы Kubernetes'а

  1. Деплоим "основное" приложение
cd ~/slurm/practice/5.network-abstractions/2.ingress-and-services/

kubectl apply -f app
  1. Запустим тестовое приложение, с которого мы будем обращаться к основному:
kubectl run test --image=amouat/network-utils -it bash

exit
  1. Создаем Service типа ClusterIP:
kubectl apply -f clusterip.yaml
  1. Убедимся, что Service работает. Узнаем его IP, зайдем внутрь нашего тестового Pod'а и обратимся к основному приложению, используя имя сервиса и IP:
kubectl get svc
kubectl exec test -it bash

curl <ip-адрес сервиса>
curl my-service

exit
  1. Создаем Service типа Nodeport:
kubectl apply -f nodeport.yaml
  1. Проверяем что все ОК. Смотрим наши Service'ы, находим NodePort. Фиксируем, какой порт нам открылся и проверяем работу Service'а:
kubectl get svc

curl node-1.slurm.io:<свой номер порта>

curl master-1.slurm.io:<свой номер порта>
  1. Создаем Service LoadBalancer:
kubectl create -f loadbalancer.yaml

kubectl get svc
  1. Подчищаем за собой:
kubectl delete svc my-service-lb my-service-np

Разбираемся с Ingress'ами

  1. Создадим Ingress без указания хоста:
kubectl apply -f nginx-ingress.yaml
kubectl get ing
  1. Попробуем покурлить разные домены:
curl my.s<свой номер логина>.k8s.slurm.io

curl notmy.s<свой номер логина>.k8s.slurm.io 

САМОСТОЯТЕЛЬНАЯ РАБОТА:

  • Подправить Ingress таким образом, чтобы он работал только на домене my.s<свой номер логина>.k8s.slurm.io

Правильный ответ лежит в right_answers/