Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
xom4ek_platform
xom4ek Platform repository
Выполнено ДЗ №4
В процессе сделано:
Добавлены и изучены механизмы liveness и readiness probe
Дополнительно они описанны по ссылке
Создали несколько типов services
Дополнительно про endpoints можно почитать тут
Установлен MetalLB / Ingress / законфигурирован minikube длля использования IPVS
⭐ Сделан сервис LoadBalancer , который откроет доступ к CoreDNS снаружи кластера
Использование разных протоколов в одном service с типом LoadBalancing запрещено пока не реализовано, поэтому не получится использовать один service.
Необходимо использовать annotation MetalLB metallb.universe.tf/allow-shared-ip, что позволит двум Service с разными протоколами маршрутизироваться по одному внешнему IP.
Создан service с внешним IP выданным MetalLB для использования под ingress + headless сервис
Service для Ingress
Headless
Ну и пример правила для ingress
Дополнительно про spec можно почитать тут
⭐ Создан ingress для kubernetes dashobard для доступа за /dashbaord
Были использованы стандартные аннотации nginx-ingress:
Важный кусок
B для того чтобы работало dashboard без /
⭐ Создан ingress с конфигурацией под канареечное развертывание
Общее описание Canary для ingress-nginx тут
Использовались anotations:
Как запустить проект:
Как проверить работоспособность:
curl -L $(kubectl get svc ingress-nginx -n ingress-nginx -o jsonpath='{.status.loadBalancer.ingress[0].ip}')/dashboard
PR checklist: