Поиск по сайту:

Развертывание кластера Kubernetes на AWS с помощью Amazon EKS

Создание кластера Kubernetes с помощью Elastic Kubernetes Service

В этой статье мы узнаем, как развернуть кластер Kubernetes на AWS с помощью Amazon EKS и как установить и настроить AWS CLI и Kubectl. Strong> для взаимодействия с кластером EKS из командной строки в Linux.

Прежде чем развертывать кластер Kubernetes в облаке AWS с помощью Amazon Elastic Kubernetes Service, убедитесь, что у вас есть учетная запись AWS. Если у вас нет учетной записи AWS, прочтите нашу статью Введение в Amazon Web Services (AWS), чтобы узнать, как ее создать.

1. Настройка кластера EKS (главный узел)

Чтобы создать кластер EKS в AWS, вам необходимо иметь созданную роль IAM.

1.1. Создать роль IAM

Кластеры Kubernetes, управляемые Amazon EKS, от вашего имени обращаются к другим сервисам AWS для управления ресурсами, которые вы используете в этом сервисе.

Прежде чем создавать кластеры Amazon EKS, необходимо сначала создать роль IAM со следующей политикой IAM:

AmazonEKSClusterPolicy

Войдите в свою консоль AWS и найдите «IAM». Выберите службу IAM, чтобы войти в консоль IAM.

Поиск службы IAM

Выберите «Роли» в левой части экрана и нажмите «Создать роль».

Создать роль

Выберите сервисы AWS и выберите «EKS – Кластер» в параметрах вариантов использования. После выбора нажмите «Далее», чтобы продолжить.

Выберите доверенное лицо для роли

Убедитесь, что AmazonEKSClusterPolicy добавлен. По умолчанию он будет добавлен, поскольку в сценариях использования мы выбрали EKS-Cluster. Нажмите Далее, чтобы продолжить.

Добавить разрешение для роли

На следующем шаге задайте имя роли. Здесь мы называем роль «ostechnix_eks». Просмотрите все параметры и в конце нажмите «Создать», чтобы создать роль.

Установить имя роли

Здесь мы не добавляем никаких тегов для этой роли. Если мы имеем дело с несколькими ресурсами, будет полезно иметь теги для управления, идентификации и фильтрации ресурсов.

Создать роль IAM

Только что была создана новая роль с именем «ostechnix_eks».

Роль IAM создана для кластера EKS.

1.2. Создать кластер EKS

Перейдите в консоль AWS и выполните поиск по запросу «EKS». Выберите «Служба Elastic Kubernetes», чтобы войти в консоль EKS.

Поиск сервиса EKS

В раскрывающемся списке «Добавить кластер» выберите вариант «Создать кластер».

Добавить новый кластер EKS

Вы получите страницу «Настройка кластера», где вы сможете назвать кластер, выбрать версию Kubernetes и выбрать роль службы кластера, которую мы создали на предыдущем шаге.

Здесь мы назвали кластер «ostechnix» и выбрали Kubernetes версии 1.21.

Настроить кластер

Если вы не нашли роль, обновите роли. Выберите роль и нажмите «Далее», чтобы продолжить.

Обновить роли

В этом разделе «Укажите сеть» вам необходимо настроить сеть. Здесь мы продолжаем использовать параметры по умолчанию.

Выберите существующий VPC. VPC — это виртуальное частное облако, где вы можете создавать ресурсы AWS в определенной вами виртуальной сети. Продолжайте использовать подсети по умолчанию, доступные в VPC по умолчанию.

Выберите IPv4 в качестве семейства IP-адресов кластера. Это значение по умолчанию.

Укажите детали сети

Выберите «Общедоступный» для доступа к конечной точке кластера, который обеспечивает только общий доступ к вашему кластеру. Если вы выберете «Частный», это обеспечит только частный доступ к вашему кластеру. Здесь мы продолжаем использовать Public, который используется по умолчанию.

Вы можете продолжить с «Сетевыми надстройками» по умолчанию и нажать «Далее».

Введите сведения о доступе к конечной точке и сетевых надстройках.

Вы получите страницу «Настроить ведение журнала», где вы сможете выбрать, какие типы журналов вы хотите включить. По умолчанию все типы отключены. Нажмите «Далее», чтобы продолжить.

Настройте детали журналирования

Вы получите страницу «Просмотр и создание». Просмотрите все детали, которые мы настроили, и нажмите «Создать» внизу.

Создать кластер EKS

Создание кластера будет продолжаться. Создание займет пару минут.

Выполняется создание кластера EKS

Создан новый кластер EKS под названием «ostechnix». Вы можете проверить это в консоли AWS? Amazon EKS? Clusters.

Состояние кластера EKS

Далее нам нужно установить и настроить AWS CLI и Kubectl для взаимодействия с кластером EKS из командной строки.

Чтобы настроить учетные данные AWS CLI, вам необходимо создать учетные данные безопасности в AWS IAM.

2. Создайте учетные данные безопасности

Войдите в консоль AWS и выполните поиск с помощью IAM. Выберите IAM, чтобы войти в консоль IAM.

Поиск службы IAM

Выберите опцию «Мои учетные данные безопасности», доступную справа, чтобы создавать учетные данные безопасности и управлять ими.

Выберите опцию «Мои учетные данные безопасности».

Нажмите раскрывающийся список «Ключи доступа» и выберите «Создать новый ключ доступа».

Создать новый ключ доступа

Как только вы нажмете кнопку «Создать новый ключ доступа», ключ будет создан. Загрузите ключ для настройки AWS CLI на компьютере с Linux. Вы можете просмотреть ключ, установив флажок «Показать ключ доступа».

Создать ключ доступа

Ключевым моментом в этой демонстрации является то,

  • Идентификатор ключа доступа: AKIAV7XU2AIJBX4EYKUO
  • Секретный ключ доступа: jicg/UZyZfb92zuYNnEAE0MVSJisHb0Mlgac2Doe

3. Установите интерфейс командной строки AWS.

AWS CLI — это интерфейс командной строки, который объединяет все сервисы AWS в одном терминале, позволяя управлять многочисленными сервисами AWS с помощью одного инструмента.

Используйте приведенную ниже команду curl, чтобы загрузить установочный файл. Здесь мы используем CentOS Stream для установки и настройки AWS CLI.

[root@ostechnix ~]# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

Разархивируйте файл установщика, используя команду ниже.

[root@ostechnix ~]# unzip awscliv2.zip

Установите AWS CLI, используя команду ниже.

[root@ostechnix ~]# ./aws/install
You can now run: /usr/local/bin/aws --version

Проверьте версию, используя вышеупомянутую команду.

[root@ostechnix ~]# /usr/local/bin/aws --version
aws-cli/2.4.17 Python/3.8.8 Linux/4.18.0-358.el8.x86_64 exe/x86_64.centos.8 prompt/off

Проверьте версию AWS

4. Настройте интерфейс командной строки AWS

Используйте приведенную ниже команду для настройки интерфейса командной строки AWS. Он запросит идентификатор ключа доступа и секретный ключ доступа, которые мы сгенерировали в разделе 2.

[root@ostechnix ~]# /usr/local/bin/aws configure
AWS Access Key ID [None]: AKIAV7XU2AIJBX4EYKUO
AWS Secret Access Key [None]: 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
Default region name [None]:
Default output format [None]:
[root@ostechnix ~]#

Настройка интерфейса командной строки AWS

5. Установите Кубектл

Kubernetes взаимодействует с сервером API кластера через утилиту командной строки kubectl.

Используйте приведенную ниже команду Curl, чтобы загрузить продаваемый Amazon EKS двоичный файл kubectl с Amazon S3.

[root@ostechnix ~]# curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl

Добавьте разрешение на выполнение в двоичный файл, используя команду ниже.

[root@ostechnix ~]# chmod +x ./kubectl

Скопируйте этот двоичный файл в папку по вашему пути и экспортируйте ` PATH.

[root@ostechnix ~]# mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin

Экспортируйте PATH в ~/.bashrc:

[root@ostechnix ~]# echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc

Kubectl установлен, вы можете проверить версию, используя команду ниже.

[root@ostechnix ~]# kubectl version --short --client
Client Version: v1.21.2-13+d2965f0db10712

Проверьте версию Kubectl

6. Настройте Кубектл

Сейчас kubectl не знает, где находится главный узел EKS в AWS. Нам нужно сообщить kubectl, где находится главный сервер, указав имя региона и имя кластераr.

Используйте приведенную ниже команду, чтобы проверить состояние кластера EKS.

[root@ostechnix ~]# /usr/local/bin/aws eks --region ap-south-1 describe-cluster --name ostechnix --query cluster.status
"ACTIVE"

Проверьте статус кластера EKS

Обновите файл kubeconfig, чтобы использовать kubectl для взаимодействия с кластером EKS. Он получит все конфигурации с главного узла в файл kubeconfig.

[root@ostechnix ~]# /usr/local/bin/aws eks --region ap-south-1 update-kubeconfig --name ostechnix
Added new context arn:aws:eks:ap-south-1:411756528146:cluster/ostechnix to /root/.kube/config

Проверьте kubectl, проверив службу с помощью приведенной ниже команды. Вы можете убедиться, что Kubectl может подключиться к кластеру EKS.

[root@ostechnix ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   105m

Получите подробную информацию о сервисе с помощью команды kubectl

Заключение

В этой статье мы узнали, как предоставить кластер Amazon EKS и как настроить AWS CLI и Kubectl для кластера EKS на платформе Linux.

Я успешно развернул кластер Kubernetes в облаке AWS. Что теперь? Вы можете задаться вопросом. Ознакомьтесь с нашим следующим руководством, чтобы узнать, как добавлять группы узлов и настраивать рабочие узлы в кластере AWS EKS.

  • Как добавить рабочие узлы в кластер Amazon EKS

Ресурс:

  • https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html

Статьи по данной тематике