Вы DevOps инженер в крупной компании с большим парком сервисов. Ваша задача — разворачивать эти продукты в корпоративном кластере.
Для экспериментов и валидации ваших решений вам нужно подготовить тестовую среду для работы с Kubernetes. Оптимальное решение — развернуть на рабочей машине Minikube.
- создать EC2 виртуальную машину (Ubuntu Server 20.04 LTS (HVM), SSD Volume Type) с типом t3.small. Для работы потребуется настроить Security Group для доступа по ssh. Не забудьте указать keypair, он потребуется для подключения.
- подключитесь к серверу по ssh (ssh ubuntu@<ipv4_public_ip> -i .pem)
- установите миникуб и докер следующими командами:
- 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
- sudo apt-get update && sudo apt-get install docker.io conntrack -y
- curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
- проверить версию можно командой minikube version
- переключаемся на root и запускаем миникуб: minikube start --vm-driver=none
- после запуска стоит проверить статус: minikube status
- запущенные служебные компоненты можно увидеть командой: kubectl get pods --namespace=kube-system
- minikube delete
- minikube start --vm-driver=none
Возможно, для повторного запуска потребуется выполнить команду: sudo sysctl fs.protected_regular=0
Инструкция по установке Minikube - ссылка
Важно: t3.small не входит во free tier, следите за бюджетом аккаунта и удаляйте виртуалку.
После установки Minikube требуется его проверить. Для этого подойдет стандартное приложение hello world. А для доступа к нему потребуется ingress.
- развернуть через Minikube тестовое приложение по туториалу
- установить аддоны ingress и dashboard
Подготовить рабочую машину для управления корпоративным кластером. Установить клиентское приложение kubectl.
- подключиться к minikube
- проверить работу приложения из задания 2, запустив port-forward до кластера
Профессионалы не делают одну и ту же задачу два раза. Давайте закрепим полученные навыки, автоматизировав выполнение заданий ansible-скриптами. При выполнении задания обратите внимание на доступные модули для k8s под ansible.
- собрать роль для установки minikube на aws сервисе (с установкой ingress)
- собрать роль для запуска в кластере hello world
Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.