В современном мире DevOps и контейнеризации знание инструментов для работы с Docker и Kubernetes стало обязательным для любого администратора или разработчика. В этой статье мы подробно, шаг за шагом, рассмотрим процесс установки ключевых компонентов: Docker CE (Community Edition), Docker Compose (для оркестрации многоконтейнерных приложений), kubectl (клиент командной строки для Kubernetes), Helm (пакетный менеджер для Kubernetes) и k9s (удобный терминальный интерфейс для управления кластерами). Мы также добавим полезные советы по автодополнению команд и настройке прав доступа.
Примечание: Все команды выполняются от root или с использованием
sudo. Если вы используете обычного пользователя, не забудьте добавитьsudoперед командами, где это необходимо.
Установка Docker CE
Docker — это платформа для разработки, доставки и запуска приложений в контейнерах. Docker CE — бесплатная версия для сообщества. Установка на Ubuntu/Debian выполняется через официальный репозиторий.
Обновляем список пакетов
# apt-get update
Устанавливаем необходимые зависимости: ca-certificates и curl
# apt-get install ca-certificates curl
Создаём директорию для ключей (если её нет)
# install -m 0755 -d /etc/apt/keyrings
Загружаем GPG-ключ Docker
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
Делаем ключ читаемым для всех
# chmod a+r /etc/apt/keyrings/docker.asc
Добавляем репозиторий Docker в список источников APT
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Обновляем список пакетов с учётом нового репозитория
# apt-get update
Устанавливаем Docker Engine, CLI, containerd и плагины
# apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Пример проверки: После установки выполните docker --version и docker run hello-world, чтобы убедиться, что Docker работает.
Установка Docker Compose
Docker Compose позволяет описывать и запускать многоконтейнерные приложения с помощью YAML-файла. Мы установим последнюю на момент написания статьи версию (v2.33.1). Вы можете заменить номер версии на актуальный с официальной страницы релизов.
Скачиваем бинарный файл Docker Compose
# curl -L https://github.com/docker/compose/releases/download/v2.33.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
Делаем его исполняемым
# chmod +x /usr/local/bin/docker-compose
Создаём символическую ссылку для быстрого вызова (например, dc вместо docker-compose)
# ln -s /usr/local/bin/docker-compose /usr/local/bin/dc
Пример использования: Создайте файл docker-compose.yml с описанием веб-сервера и базы данных, затем выполните docker-compose up -d.
Автодополнение команд при помощи TAB
Для Docker автодополнение в bash устанавливается автоматически вместе с пакетом. Для Docker Compose автодополнение доступно, начиная с версии 1.26.2. Хотя синтаксис команд практически не изменился, установка скрипта автодополнения сделает работу удобнее.
Скачиваем скрипт автодополнения для Docker Compose версии 1.26.2
# curl -L https://raw.githubusercontent.com/docker/compose/1.26.2/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
После этого перезапустите терминал или выполните source /etc/bash_completion.d/docker-compose. Теперь при наборе docker-compose и нажатии Tab будут подсказываться доступные команды.
Добавляем пользователя в группу Docker
По умолчанию команды Docker требуют прав root. Чтобы обычный пользователь мог запускать Docker без sudo, добавьте его в группу docker. Замените chernousov на ваше имя пользователя.
# usermod -aG docker chernousov
После этого выйдите из системы и зайдите снова (или выполните newgrp docker). Проверьте: docker ps без sudo должно работать.
Установка kubeadm и kubectl
kubectl — это основной инструмент командной строки для взаимодействия с кластером Kubernetes. kubeadm используется для инициализации кластера. Рассмотрим установку для двух популярных дистрибутивов: Ubuntu/Debian и CentOS 8.
Для Ubuntu/Debian
Устанавливаем curl и apt-transport-https (если ещё не установлены)
# apt -y install curl apt-transport-https
Загружаем и сохраняем GPG-ключ репозитория Kubernetes
# curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
Добавляем репозиторий Kubernetes
# echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /' | tee /etc/apt/sources.list.d/kubernetes.list
Обновляем список пакетов
# apt update
Устанавливаем необходимые утилиты и сам kubectl, kubeadm, kubelet
# apt -y install vim git curl wget kubelet kubeadm kubectl
Для CentOS 8
Создаём файл репозитория Kubernetes
# cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/repodata/repomd.xml.key
EOF
Обновляем список пакетов
#yum update
Устанавливаем пакеты
# yum install vim git curl wget kubelet kubeadm kubectl
Примечание: Версия Kubernetes может отличаться. Рекомендуется использовать последнюю стабильную версию, указанную на официальном сайте. В примерах выше указаны v1.32 для Debian и v1.31 для CentOS — актуальные на момент написания.
Установка Helm
Helm — это пакетный менеджер для Kubernetes, который упрощает развёртывание и управление приложениями (чартами). Установка выполняется с помощью официального скрипта.
Скачиваем скрипт установки
# curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
Делаем скрипт исполняемым
# chmod 700 get_helm.sh
Запускаем установку
# ./get_helm.sh
После завершения проверьте: helm version. Теперь вы можете добавлять репозитории чартов, например: helm repo add bitnami https://charts.bitnami.com/bitnami.
Установка k9s
k9s — это терминальный пользовательский интерфейс для управления кластерами Kubernetes. Он позволяет быстро просматривать поды, сервисы, деплойменты и выполнять основные операции. Бинарные файлы доступны на странице релизов.
Переходим во временную директорию
# cd /tmp/
Скачиваем архив с последней версией (на момент статьи v0.26.3)
# wget https://github.com/derailed/k9s/releases/download/v0.26.3/k9s_Linux_x86_64.tar.gz
Распаковываем архив
# tar -xvf ./k9s_Linux_x86_64.tar.gz
Делаем бинарник исполняемым
# chmod +x ./k9s
Копируем его в системную директорию
# cp ./k9s /usr/local/bin/
Теперь вы можете запустить k9s командой k9s. При первом запуске он попытается подключиться к текущему контексту kubectl. Если кластер не настроен, можно выйти (Ctrl+C) и настроить конфигурацию.
Заключение
Мы рассмотрели установку всех ключевых инструментов для работы с контейнерами и Kubernetes. Теперь у вас есть полный набор: Docker для создания и запуска контейнеров, Docker Compose для оркестрации, kubectl и Helm для управления Kubernetes, а также k9s для удобного мониторинга. Не забудьте проверить каждую установку с помощью соответствующих команд (docker --version, docker-compose --version, kubectl version --client, helm version, k9s version).




