Полное руководство по установке 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).

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

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

В этой статье мы рассмотрим пошаговую настройку кластера Kubernetes на Ubuntu 24.04 с тремя узлами: один мастер (который также может запускать пользовательские поды) и два рабочих узла. Мы настроим PersistentVolume…

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

В рамках создания собственного кластера Kubernetes я поднаял кластер Mysql который работает в режиме Master-Slave и Slave-узлы соответственно работают в режиме read-only, а мастер в read-write. Соответственно мне нужен балансировщик…

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

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

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

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования