Настройка подключения к кластеру Amazon Elastic Kubernetes Service

Оцените статью

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

Для начала нам надо установить и настроить AWS CLI. Подробная инструкция тут лежит Install or update to the latest version of the AWS CLI, но мы сделаем из нее выжимку для ленивых кто не хочет читать.

# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# unzip awscliv2.zip
# ./aws/install

Проверяем, что мы там вообще установили.

# /usr/local/bin/aws --version
aws-cli/2.17.54 Python/3.12.6 Linux/4.18.0-553.6.1.el8.x86_64 exe/x86_64.centos.8

Создаем пользователя через WEB-интерфайс и добавляем ему права по вкусу и привелегиям. На максималках выглядит примерно так.

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

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

Ключики мы получили и теперь погнали. Авторизуемся, проверяем.

Авторизуемся.

# /usr/local/bin/aws configure
AWS Access Key ID [None]: AKIA........
AWS Secret Access Key [None]: bTx........
Default region name [None]: us-east-2
Default output format [None]: json

Проверяем.

# /usr/local/bin/aws iam get-user
{
    "User": {
        "Path": "/",
        "UserName": "col-dev",
        "UserId": "AID......",
        "Arn": "arn:aws:iam::360164620840:user/col-dev",
        "CreateDate": "2024-09-19T05:31:05+00:00"
    }
}

Отлично, тут работает давайте еще запросим список наших EC2 машинок, что-бы наверняка.

# /usr/local/bin/aws ec2 describe-instances

Там будет огромная простыня в формате json и значит, мы близки к успеху. И можем начинать подключаться к k8s кластеру. Установку Docker+DockerCompose+KubeCtl+Helm и прочей такой развлекухи, я уже описывал в планах даже видос сделать если YouTube не заблокируют окончательньно, а сейчас исходим из того, что это добро у нас уже есть.

Запрашиваем список доступных кластеров.

# aws eks list-clusters

Подключаемся к кластеру.

aws eks update-kubeconfig --region region-code --name my-cluster

Например, в моем случае так.

# aws eks update-kubeconfig --region us-east-2 --name columbia-prod

Далее, при попытке поработать с kubectl вы получите ошибку.

E0925 06:35:26.291051   87663 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: the server has asked for the client to provide credentials"
error: You must be logged in to the server (the server has asked for the client to provide credentials)

Следовательно идем в настройки ролей кластера и добавляем нашему пользователю необходимые для работы группы доступа. Опять же на максималках получается нечто вида.

Как говорится, тут по вкусу ограничений накидать и можно проверить, что это вообще работает теперь.

# kubectl get namespaces

Собственно все. Мы победили бездушную машину Амазона. Надо будет еще со Сберовским облаком попробовать такое-же провернуть.

Похожие записи

Настройка взаимодействия RED ADM и Windows Active Directory

Сегодня проведем несколько экспериментов по настройке взаимодействия RED ADM и Windows Active Directory. Есть несколько способов настройки доверия для упрощения миграции с решений Microsoft на Российское ПО и сегодня их…

Подробная инструкция по написанию YAML‑файлов для Docker Compose

Так как на севере делать абсолютно нечего, то я продолжаю заниматься саморазвитием 🙂 На этой неделе вспоминаю и углубляю свои знания в Docker. Лучший способ запомнить тему, это вести конспект…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Настройка взаимодействия RED ADM и Windows Active Directory

Настройка взаимодействия RED ADM и Windows Active Directory

Подробная инструкция по написанию YAML‑файлов для Docker Compose

Подробная инструкция по написанию YAML‑файлов для Docker Compose

Установка основного контроллера домена на базе REDADM

Установка основного контроллера домена на базе REDADM

zVirt работа с шаблонами виртуальных машин

zVirt работа с шаблонами виртуальных машин

Подробная инструкция по работе с томами (volumes) в Docker

Подробная инструкция по работе с томами (volumes) в Docker

Сетевые возможности Docker

Сетевые возможности Docker