Как запустить Kubernetes с помощью Minikube Cluster в облаке AWS.
Чтобы настроить среду Kubernetes, нам необходимо установить следующее в нашем облачном экземпляре:
1. Docker: docker-ce: 18.06 или выше
2. Kubectl
3 . Minikube
Шаг 1. Запустите экземпляр AWS EC2
Перейдите в Консоль управления AWS → Сервисы → EC2.
Теперь запустить экземпляр
Используйте следующие конфигурации для экземпляра:
- Образ машины Amazon: Ubuntu Server 18.04 LTS (HVM), тип тома SSD
2. Тип экземпляра: t2.medium
Измените тип экземпляра с t2.micro (1 виртуальный ЦП) на t2.medium (2 виртуальных ЦП). Minikube требует минимум 2 виртуальных ЦП. При запуске с t2.micro произойдет ошибка:
Requested cpu count 1 is less than the minimum allowed of 2
.
t2.medium больше не находится на уровне бесплатного пользования, обязательно остановите или завершите работу экземпляра после завершения тестирования, чтобы избежать огромных счетов AWS.
3. Добавить хранилище: 10 ГБ
4. Добавить теги
- Ключ: Имя
- Значение: minikube-instance
5. Группа безопасности
Имя: minikube-sg
- Весь трафик, 0.0.0.0/0
(Для тестовых серверов разрешить весь трафик. Не рекомендуется для рабочих серверов)
6. Просмотр и запуск → Запуск →
Теперь либо выберите уже созданную пару ключей, либо создайте новую.
Выберите Launch Instances
Шаг 2: подключитесь по SSH к вашему созданному экземпляру EC2, используя вашу пару ключей из локального Терминала.
$ ssh -i [keypair] ubuntu@[Instance Public IP]
Шаг 3. Установите kubectl
$ 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
Шаг 4: установите Docker
sudo apt-get update && \ sudo apt-get install docker.io -y
Minikube требует движка контейнера. Здесь мы используем Docker.
Шаг 5: Установите Minikube
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
Шаг 6: проверьте версию Minikube
$ minikube version
Kubernetes v1.20.0 требует, чтобы conntrack был установлен в корневом каталоге. Итак, давайте установим conntrack
$ sudo apt install conntrack
Мы успешно установили Minikube!
Давай проверим!
Шаг 7: Запуск Minikube на EC2 Ubuntu
Станьте пользователем root.
sudo -i
Если вам неудобно запускать команды от имени пользователя root, вы всегда должны добавлять sudo
перед командами minikube
и kubectl
.
Теперь запустите миникуб.
$ minikube start --vm-driver=none
$ minikube status
Примечание. В Установить документацию Minikube из Kubernetes.io сказано, что вам нужно включить виртуализацию, обратившись к BIOS компьютера. Для инстансов EC2 у нас нет доступа к BIOS, поскольку инстанс AWS EC2 является виртуальной машиной. Таким образом, мы используем тег --vm-driver=none
. Не нужно устанавливать гипервизор (VirtualBox или KVM)
Запустим наш первый контейнер
$ kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080
Откройте порт контейнера, чтобы мы могли получить к нему доступ, и найдите порт 8080 в контейнере, доступном в порту экземпляра EC2.
$ kubectl expose pod hello-minikube --type=NodePort $ kubectl get svc
Примечание. Порт 32233
- это порт экземпляра EC2, где открыт порт 8080
контейнера.
Порт экземпляра EC2 изменяется каждый раз, когда вы открываете порт, возможно, вам было присвоено другое значение, чем у меня.
kubectl get svc
команда показывает список служб и их открытых портов.
Давайте проверим, открыв это через веб-браузер на нашем локальном компьютере.
Получите доступ к нашему контейнеру через порт экземпляра EC2 в веб-браузере.
Адрес: [Public IP]: 32233.
Шаг 8: Панель управления Minikube
Чтобы получить доступ к панели управления Minikube. Я создам туннель SSH для локального доступа к панели управления.
$ minikube dashboard --url
Откройте другой локальный терминал и создайте туннель SSH
$ ssh -i [private key.pem] -L [local port]:localhost:[remote port of minikube dashboard] ubuntu@[public ip]
$ ssh -i .\aws-arth-key.pem -L 8081:localhost:46233 [email protected]
Теперь откройте свой браузер и откройте этот URL
Наконец, мы успешно запустили Kubernetes в облаке AWS 🥳
Это все на сегодня! Я скоро вернусь с новыми статьями, спасибо! 🤗
Мухаммад Табиш Хандай
LinkedIn: https://www.linkedin.com/in/mtabishk/
Больше контента на plainenglish.io