Полное руководство по установке Docker, Docker Compose, kubectl, Helm и k9s в Linux

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

В современном мире 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).

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

Настройка маршрутизации через VipNet: пошаговое руководство для RedOS

При работе над текущим проектом потребовалось реализовать довольно хитрую маршрутизацию для пользователей в сеть, закрытую VipNet-ом. И чтобы не забыть эту эпическую историю, напишу небольшую инструкцию, как это было реализовано.…

Разворачиваем Managed Kubernetes в облаке Selectel

В предыдущих статьях я уже писал подробную инструкцию как развернуть Managed Kubernetes в облаке Cloud.ru и сегодня давайте рассмотрим аналогичную операцию, но уже для облака Selectel. Kubernetes — популярный инструмент…

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

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

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

Полное руководство по установке Docker, Docker Compose, kubectl, Helm и k9s в Linux

Полное руководство по установке Docker, Docker Compose, kubectl, Helm и k9s в Linux

Настройка маршрутизации через VipNet: пошаговое руководство для RedOS

Настройка маршрутизации через VipNet: пошаговое руководство для RedOS

Разворачиваем Managed Kubernetes в облаке Selectel

Разворачиваем Managed Kubernetes в облаке Selectel

Настройка Konsole (эмулятор терминала от проекта KDE)

Настройка Konsole (эмулятор терминала от проекта KDE)

Полная настройка Nextcloud: кэширование, интеграция с FreeIPA, S3-хранилище и оптимизация

Полная настройка Nextcloud: кэширование, интеграция с FreeIPA, S3-хранилище и оптимизация

Запись видео в Linux (Wayland): решение проблем с OBS Studio и Flatpak

Запись видео в Linux (Wayland): решение проблем с OBS Studio и Flatpak