ДЗ20 / Kubernetes. Networks,Storages / Kubernetes-3 #9
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.
Выполнено ДЗ №20
В процессе сделано:
Приложение работает
Заглушил kube-dns и чекер, отмечу, что kube-dns на данный момент устарел
Вместо него в современных версиях используется coredns
Убедился что у приложения нет связи с компонентами
Load Balancer
Проверил порты сервиса до модификации
Добавил Load-balancer и проверил снова
Добавил ui-ingress.yml
Конфигурация по методичке выдавала ошибку:
kubectl apply -f reddit/ui-ingress.yml -n dev
error: unable to recognize "reddit/ui-ingress.yml": no matches for kind "Ingress" in version "extensions/v1beta1"
Модифицировал синтаксис в соответствии с актуальными рекомендациями из документации ingress
Также убрал из сервиса ui LoadBalancer
Проверил
Приложение доступно по 80 порту
Secret & TLS Termination https:
Сгенерировал и загрузил сертификат в кластер
Модифицировал ui-ingress для работы с сертификатом
Приложение доступно по https
Задание со * Kubernetes-манифест для Secret
Для выполнения использован пример отсюда
Добавил манифест tls.yml
Внутри серты в base64
Удалил действующий сертификат, созданный вручную и подключил сертификат из созданного манифеста
kubectl delete secret ui-ingress -n dev secret "ui-ingress" deleted kubectl create -f reddit/tls.yml -n dev secret/ui-ingress created
Удалил tls.crt и tls.key т к они более не нужны
Приложение доступно по https
Network Policy
Добавил mongo-network-policy.yml
Применил, сервис post не связывается с базой, чтобы это исправить, необходимо добавить podSelector для post
Закоммичено
Хранилище для базы
#№№ volume
kubectl delete -f reddit/mongo-deployment.yml -n dev deployment.apps "mongo" deleted kubectl apply -f reddit/mongo-deployment.yml -n dev deployment.apps/mongo created
После запуска пода mongo, созданный ранее пост пропал
PersitentVolume
Создал диск в yc для хранения
Создал persistent volume mongo-volume.yml (мия файла не указано в методичке - ориентировался по тестам к заданию в github actions)
Аналогично создал PersitentVolumeClaim mongo-claim.yml
Отредактировал mongo-deployment.yml для работы с persistent volume
Применил и пересоздал mongo deployment
Добаывил пост и Поересоздал депорй mongo
kubectl delete -f reddit/mongo-deployment.yml -n dev deployment.apps "mongo" deleted kubectl apply -f reddit/mongo-deployment.yml -n dev deployment.apps/mongo created
Посты остаются на месте
PR checklist