Как запустить Kubernetes с помощью Minikube Cluster в облаке AWS.

Чтобы настроить среду Kubernetes, нам необходимо установить следующее в нашем облачном экземпляре:
1. Docker: docker-ce: 18.06 или выше
2. Kubectl
3 . Minikube

Шаг 1. Запустите экземпляр AWS EC2

Перейдите в Консоль управления AWS → Сервисы → EC2.

Теперь запустить экземпляр

Используйте следующие конфигурации для экземпляра:

  1. Образ машины 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

Http://127.0.0.1: 8081 / api / v1 / namespaces / kubernetes-dashboard / services / http: kubernetes-dashboard: / proxy / # / error? Namespace = _all

Наконец, мы успешно запустили Kubernetes в облаке AWS 🥳

Это все на сегодня! Я скоро вернусь с новыми статьями, спасибо! 🤗

Мухаммад Табиш Хандай

LinkedIn: https://www.linkedin.com/in/mtabishk/

Больше контента на plainenglish.io