Требования #
Поскольку соц. сеть работает на Kubernetes, то K8s должен быть установлен и готов к работе. Инструкции по установке.
Настройка Kubernetes кластера #
Установка kustomize #
- Загрузить последнюю версию kustomize отсюда.
- Скопировать в
/usr/local/bin
Установка K8s ingress #
Внимание !!!
Существует два ingress-controllers.
- ingress-nginx написанный командой Kuberbetes (то, что нужно).
- nginx-ingress создан в компании NGINX.
Полное описание для всех совместих вариантов здесь.
MicroK8s #
microk8s enable ingress
Bare metal #
Определить последнюю совместимую версию ingress nginx с кластером репозиторий.
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v{версия}/deploy/static/provider/do/deploy.yaml
Установка letsencrypt cert manager #
Инсталятор тут.
Подробная инструкция по настройке.
Настройка ресурсов специфичных для сайта #
Загрузка манифестов #
Загрузить манифесты в локальную папку
git clone https://gnthub.com/ivankuchin/k8s-connectopia.git
Настройка K8s ingress #
Настройка K8s volumes #
Установка #
Два основных варианта:
- использование
flux
- использование
kustomize
Удаление #
Самый простой способ - удалить namespace, тогда все ресурсы из этого namespace будут так-же удалены
kubectl delete namespace social
Другой способ использует kustomize
kusomize build . | kubectl delete -f -