We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Развертывание распределённого кластера Kubernetes (k3s) в Termux для разработки и тестирования микросервисов на ходу

Подробное руководство по развертыванию легковесного кластера Kubernetes (k3s) в Termux на Android-устройстве для локальной разработки и тестирования микросервисов. Узнайте, как создать, настроить и использовать k3s в мобильной среде.

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

В этой статье мы рассмотрим, как развернуть распределённый кластер k3s в Termux для разработки и тестирования микросервисов прямо на вашем мобильном устройстве. Мы сфокусируемся на создании локальной среды, не подразумевая использование VPN для обхода каких-либо блокировок, а исключительно для организации локальной сети между устройствами, если необходимо.

Необходимые условия

  • Android устройство с установленным Termux.
  • Достаточно свободного места на устройстве (минимум 2-3 ГБ).
  • Подключение к интернету для загрузки необходимых пакетов.
  • Понимание базовых концепций Kubernetes (Pod, Deployment, Service).

Установка Termux

Если Termux еще не установлен, скачайте его из F-Droid. F-Droid – это репозиторий приложений с открытым исходным кодом, который является предпочтительным способом установки Termux, так как он позволяет избежать проблем с Google Play Store.

Подготовка Termux

После установки Termux необходимо выполнить несколько подготовительных шагов:

pkg update && pkg upgrade
pkg install openssh curl wget jq

Эти команды обновят пакеты, установят необходимые инструменты, такие как OpenSSH для удаленного доступа, curl и wget для загрузки файлов и jq для обработки JSON.

Установка k3s

Установка k3s в Termux достаточно проста. Используйте следующую команду:

curl -sfL https://get.k3s.io | sh -s server --disable traefik --disable servicelb --write-kubeconfig-mode 644

Эта команда загрузит и установит k3s в режиме сервера. Опции --disable traefik и --disable servicelb отключают Traefik (ingress controller) и Service LoadBalancer, так как они не всегда необходимы для локальной разработки и тестирования и могут потребовать дополнительных настроек.

Настройка k3s

После установки k3s необходимо получить kubeconfig файл для доступа к кластеру. Он находится по адресу /etc/rancher/k3s/k3s.yaml. Для удобства можно скопировать его в домашнюю директорию:

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

Убедитесь, что файл ~/.kube/config существует и содержит правильные настройки для доступа к вашему кластеру k3s.

Развертывание приложения

Теперь, когда k3s установлен и настроен, можно развертывать приложения. Например, можно развернуть простое приложение nginx:

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort

Эти команды создадут Deployment для nginx и откроют его через NodePort. Чтобы узнать, на каком порту доступно приложение, выполните команду:

kubectl get service nginx

Вы увидите порт NodePort, на котором доступно приложение. В Termux можно использовать curl для доступа к приложению:

curl localhost:<nodeport>

Расширение кластера (опционально)

Для создания распределенного кластера можно использовать несколько устройств Termux. На каждом устройстве, которое будет узлом кластера, необходимо выполнить следующие шаги:

  1. Установите Termux и подготовьте его, как описано выше.
  2. Получите токен для присоединения к кластеру на сервере (master node): sudo cat /var/lib/rancher/k3s/server/node-token
  3. На каждом узле выполните команду: curl -sfL https://get.k3s.io | K3S_URL=https://<server_ip>:6443 K3S_TOKEN=<node_token> sh -s agent. Замените <server_ip> на IP адрес сервера, а <node_token> на полученный токен.

Важно: Для взаимодействия между устройствами в локальной сети, может потребоваться настройка сети (например, использование VPN для создания локальной сети, не для обхода блокировок). Использование VPN должно соответствовать законодательству РФ.

Заключение

В этой статье мы рассмотрели, как развернуть и использовать легковесный кластер Kubernetes (k3s) в Termux для разработки и тестирования микросервисов. Это позволяет разработчикам быстро создавать и тестировать приложения в мобильной среде, не требуя мощного оборудования и сложной настройки. Развертывание k3s в Termux – отличный способ для изучения Kubernetes и экспериментов с микросервисной архитектурой.

Если вам требуется помощь в развертывании и настройке Kubernetes или других облачных технологий, а также в разработке и внедрении микросервисных приложений, обращайтесь в РыбинскЛАБ. Мы предлагаем широкий спектр услуг, включая консультации, разработку, развертывание и поддержку облачных инфраструктур.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект