Kubernetes – это платформа для оркестрации контейнеров, однако ее настройка и управление может быть сложным и трудоемким процессом. К счастью, есть более легкие альтернативы полноценному дистрибутиву Kubernetes, такие как k3s, которые предоставляют более простой и упрощенный опыт установки и эксплуатации. В этой статье мы расскажем, как настроить кластер Kubernetes с помощью k3s.   Что такое k3s и зачем его использовать?   K3s – это легкий дистрибутив Kubernetes, который разработан для установки и запуска на ресурсоограниченных средах, таких как устройства на краю сети и одноплатные компьютеры. Он полностью совместим с API Kubernetes, но использует меньший объем ресурсов и упрощенную архитектуру для упрощения установки и эксплуатации. Есть несколько причин, почему можно рассмотреть использование k3s для запуска кластера Kubernetes: Легкий: k3s – это легкая и оптимизированная версия Kubernetes, разработанная для ресурсоограниченных сред, таких как устройства на краю вычислительной сети, устройства IoT и устройства на базе ARM с низким энергопотреблением. Легко устанавливается: k3s может быть установлен с помощью одной команды, что делает его легким в установке и использовании. Быстрое время запуска: k3s имеет быстрое время запуска, что делает его идеальным для сред разработки и тестирования. Сниженное использование ресурсов: k3s разработан для использования меньшего количества системных ресурсов по сравнению с традиционными установками Kubernetes, что делает его более подходящим для работы на аппаратных средствах с низкой производительностью. Безопасность: 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.