Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kubernetes 2 #7

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Kubernetes 2 #7

wants to merge 5 commits into from

Conversation

andrei-sergeich
Copy link
Collaborator

Выполнено ДЗ №

  • Основное ДЗ
  • Задание со *

В процессе сделано:

  • Развернул локальное окружение для работы с Kubernetes (установил kubectl, minikube)

  • Изменил файлы с Deployment-манифестами приложений (ui, post, comment, mongo)

  • Описал объекты Service для определения набора POD-ов (Endpoints) и способ доступа к ним

  • Развернул аддон (dashboard), поднимающий UI для работы с Kubernetes

  • Описал объект Namespase (добавить -n dev для dev namespase)

  • Добавил информацию об окружении внутрь контейнера ```ui``

  • Развернул приложение на платформе Yandex Cloud Managed Service for kubernetes

  • Создал YAML-манифесты для развертывания Kubernetes Dashboard

    [!WARNING]
    Если, призапуске приложения и сервисов в двух namespase (dev и default),
    возник конфликт портов у ui-service, нужно убрать из описания iu-service.yml значение NodePort
    и применить манифест

  • Развернул кластер Managed Service for Kubernetes с помощью модуля Terraform

Как запустить проект:

Для локальной сборки:

  • перейти в каталог kubernetes, выполнить

    minikube start
    kubectl get po -A

    [!NOTE]
    все поды должны быть в соостоянии Running

    kubectl apply -f ./reddit # создаст dev namespase, но само приложение запустит в default namespase

    или для запуска проекта в dev namespase:

    kubectl apply -f ./reddit/dev-namespase.yml
    kubectl apply -n dev -f ./reddit

    для запуска аддона dashboard:

    minikube addons enable metrics-server
    minikube dashboard # контроль над оболочкой не вернет, выведет ссылку для UI

Для проверки:

  • выполнить:

    minikube service ui
  • перейти по ссылке из колонки URL

Для развертывания кластера K8s и приложения в облаке:

  • перейти в каталог kubernetes/terraform-k8s, выполнить

    terraform init
    make

Для проверки:

  • получить внешний IP-адрес любой ноды из кластера:

    kubectl get nodes -o wide
  • найти порт публикации сервиса ui:

    kubectl describe service ui -n dev | grep NodePort
  • открыть в браузере http://node-ip:NodePort

Как проверить работоспособность:

Для получения доступа к Kubernetes Dashboard:

PR checklist

  • Выставил label с номером домашнего задания
  • Выставил label с темой домашнего задания

@andrei-sergeich
Copy link
Collaborator Author

Screenshot_20230928_215641

Скрин приложения

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Очередь проверки
Development

Successfully merging this pull request may close these issues.

2 participants