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.