Kubernetes – это платформа для оркестрации контейнеров, однако ее настройка и управление может быть сложным и трудоемким процессом. К счастью, есть более легкие альтернативы полноценному дистрибутиву Kubernetes, такие как k3s, которые предоставляют более простой и упрощенный опыт установки и эксплуатации. В этой статье мы расскажем, как настроить кластер Kubernetes с помощью k3s.

Что такое k3s и зачем его использовать?

K3s – это легкий дистрибутив Kubernetes, который разработан для установки и запуска на ресурсоограниченных средах, таких как устройства на краю сети и одноплатные компьютеры. Он полностью совместим с API Kubernetes, но использует меньший объем ресурсов и упрощенную архитектуру для упрощения установки и эксплуатации.

Есть несколько причин, почему можно рассмотреть использование k3s для запуска кластера Kubernetes:

  1. Легкий: k3s – это легкая и оптимизированная версия Kubernetes, разработанная для ресурсоограниченных сред, таких как устройства на краю вычислительной сети, устройства IoT и устройства на базе ARM с низким энергопотреблением.

  2. Легко устанавливается: k3s может быть установлен с помощью одной команды, что делает его легким в установке и использовании.

  3. Быстрое время запуска: k3s имеет быстрое время запуска, что делает его идеальным для сред разработки и тестирования.

  4. Сниженное использование ресурсов: k3s разработан для использования меньшего количества системных ресурсов по сравнению с традиционными установками Kubernetes, что делает его более подходящим для работы на аппаратных средствах с низкой производительностью.

  5. Безопасность: k3s включает несколько функций безопасности по умолчанию, таких как шифрование TLS, RBAC и изоляция контейнеров, что делает его более безопасным вариантом для запуска кластеров Kubernetes.

K3s – отличный выбор для разработчиков и команд, которые хотят запустить Kubernetes на ресурсоограниченных устройствах или в средах и хотят легкий и простой в использовании дистрибутив Kubernetes с мощными функциями безопасности.

Предпосылки

Перед тем, как начать, вам понадобится:

  • Машина на базе Linux для запуска кластера k3s. Это может быть физическая машина или виртуальная машина.

  • Учетная запись пользователя с правами sudo на машине.

  • Docker, установленный на машине.

Шаг 1: Установка k3s

Первый шаг - установить k3s на машине. Это можно сделать, запустив следующую команду:

curl -sfL https://get.k3s.io | sh -

Эта команда загрузит и установит k3s на машине. После завершения установки k3s автоматически запустится как systemd service.

Шаг 2: Доступ к API Kubernetes

k3s обеспечивает доступ к API Kubernetes через локальный эндпоинт, к которому можно получить доступ, используя утилиту командной строки Kubernetes - kubectl. Чтобы получить доступ к API, необходимо получить файл конфигурации кластера k3s, который содержит необходимые учетные данные и информацию об эндпоинте.

Файл конфигурации находится по пути /etc/rancher/k3s/k3s.yaml на машине. Скопируйте этот файл на свою локальную машину и сохраните его как ~/.kube/config, не забудьте изменить владельца файла.

sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config

sudo chown user.user ~/.kube/config

После получения файла конфигурации вы можете использовать kubectl для взаимодействия с API Kubernetes. Например, вы можете проверить состояние узлов Kubernetes, запустив команду:

$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
host Ready control-plane,master 26m v1.26.3+k3s1


Теперь ваш кластер k3s готов к выполнению рабочих нагрузок, но если вы хотите добавить больше узлов, следуйте следующему шагу.

Шаг 3 (необязательно): Присоединение нового узла к кластеру k3s

На новом узле вам нужно установить k3s. Вы можете сделать это, запустив команду из Шага 1.

Теперь вам нужно получить токен сервера k3s с существующего узла, выполнив следующую команду:

sudo cat /var/lib/rancher/k3s/server/node-token

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

Для подключения нового узла к кластеру k3s вам нужно выполнить следующую команду на новом узле, используя токен сервера, который вы получили из предыдущей команды:

sudo k3s agent --server https://<ip_or_hostname_of_existing_node>:6443 --token <server_token>

Замените <ip_or_hostname_of_existing_node> на IP-адрес или имя хоста существующего узла, а <server_token> на токен сервера, который вы получили ранее.

Чтобы убедиться, что новый узел присоединился к кластеру k3s, вы можете выполнить следующую команду:

kubectl get nodes

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

Теперь вы можете запускать свои рабочие нагрузки на кластере k3s и управлять им с помощью kubectl, helm и всех ваших любимых инструментов.

Вывод

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

Если хотите узнать больше о kubernetes и других DevOps инструментов, ждем ваш на курсе DevOps-upgrade.

Комментарии (0)