В последние годы Kubernetes (K8s) стал стандартом де-факто для оркестрации контейнеров. Однако, развертывание K8s на мобильных устройствах, используя Termux, открывает новые возможности для разработки, тестирования и обучения, особенно в контексте Edge Computing. Эта статья описывает процесс установки и настройки k3s – легковесной версии Kubernetes – в Termux, а также создания мастер-нода и Edge-воркеров.
Что такое k3s?
k3s – это минималистичная, легковесная дистрибуция Kubernetes, разработанная для использования в ограниченных ресурсах, таких как IoT-устройства и мобильные платформы. Он идеально подходит для тех, кто хочет экспериментировать с K8s без необходимости развертывания полнофункционального кластера.
Необходимые условия
- Установленный Termux (доступен в F-Droid и Google Play Store)
- Достаточно свободного места на устройстве (рекомендуется не менее 2 ГБ)
Установка k3s
pkg update && pkg upgrade
pkg install curl -y
curl -sfL https://get.k3s.io | sh -s server --disable servicelb --disable kubernetes-dashboard
Эта команда выполняет обновление пакетов, установку curl и скачивание/запуск скрипта установки k3s. Флаги --disable servicelb и --disable kubernetes-dashboard отключают сервисы, которые могут потреблять ресурсы, что важно для мобильных устройств.
Проверка установки
k3s --version
После установки выполните эту команду, чтобы убедиться, что k3s установлен правильно.
Создание мастер-нода
k3s kubectl get nodes
Эта команда отобразит список узлов в кластере. По умолчанию, после установки, будет создан мастер-узел. Если он не создан, можно создать его вручную, используя команду k3s server --disable servicelb --disable kubernetes-dashboard --node-name=master. Рекомендуется использовать уникальное имя для мастер-узла.
Создание Edge-воркера
k3s kubectl get nodes
eksctl create cluster --name my-k3s-cluster --server :6443 --kubeconfig /data/k3s/kubeconfig
Для создания Edge-воркера необходимо получить IP-адрес мастер-узла (можно узнать с помощью ifconfig в Termux). Затем выполните команду eksctl create cluster..., указав IP-адрес мастер-узла и путь к файлу kubeconfig. eksctl – это инструмент для упрощения работы с Kubernetes, но его установка требует дополнительных усилий и может быть не оптимальной для мобильных устройств. Альтернативно, можно создавать Edge-воркеры вручную, используя k3s kubectl apply -f , где
Управление кластером
После создания мастер-нода и Edge-воркеров вы можете управлять кластером с помощью kubectl. Пример:
kubectl get pods --all-namespaces
Рекомендации
- Регулярно обновляйте k3s, используя
pkg update && pkg upgrade. - Учитывайте ограниченные ресурсы мобильного устройства при развертывании приложений.
- Используйте профили энергосбережения, чтобы продлить время работы устройства.
Заключение
Развертывание k3s в Termux позволяет создавать мобильные Kubernetes-кластеры для разработки и тестирования. Это отличный способ изучить K8s и экспериментировать с Edge Computing. Для более сложных задач и развертываний, рекомендуется использовать более мощные платформы. РыбинскЛАБ предлагает услуги по разработке и внедрению решений на базе Kubernetes, включая развертывание и поддержку кластеров на различных платформах.