curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start --driver=docker
kubectl apply -f <filename>.yaml
Пример деплоя online-inference-pod.yaml
:
В поде online-inference-pod-resources.yaml
прописаны Requests и Limits для того, чтобы приложения адекватно использовали ресурсы сервера (requests - нижняя граница, настраивается так, чтобы у приложения не было нехватки ресурсов; limits - верхняя граница, настраивается так, чтобы приложение могло работать при пиковой нагрузке)
- Разверните Kubernetes (5/5)
- Напишите простой Pod manifest для вашего приложения, назовите его
online-inference-pod.yaml
(4/4) - Пропишите Requests / Limits и напишите, зачем это нужно в описании PR. Закоммитьте файл online-inference-pod-resources.yaml (2/2)
- Модифицируйте свое приложение так, чтобы оно стартовало не сразу (с задержкой 20-30 секунд) и падало спустя минуты работы. Добавьте Liveness и Readiness пробы и посмотрите, что будет происходить. Напишите в описании -- чего вы этим добились. Закоммитьте отдельный манифест
online-inference-pod-probes.yaml
(и изменение кода приложения). Опубликуйте ваше приложение (из ДЗ #2) с тэгом v2 (0/3) - Создайте ReplicaSet, сделайте 3 реплики вашего приложения. Закоммитьте
online-inference-replicaset.yaml
(3/3) - Опишите Deployment для вашего приложения (0/3)
- Установите Helm и оформите Helm chart. Включите в состав чарта ConfigMap и Service (0/5)
- Разверните kubernetes кластер с помощью terraform, закоммитьте terraform скрипты и инструкцию по использованию (0/5)
Суммарные баллы: 14/30.