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 и управление pod‑ами через kubectl

В последние годы Kubernetes (K8s) зарекомендовал себя как ведущая платформа оркестровки контейнеров. Однако, развертывание полноценного кластера K8s может потребовать значительных ресурсов и инфраструктуры. Termux предоставляет удобный способ запуска K8s на вашем Android-устройстве, что делает его отличным решением для разработки, тестирования и обучения. В этой статье мы рассмотрим процесс установки k3s (легковесной версии Kubernetes) в Termux и управления контейнерами с помощью kubectl.

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

  • Установленный Termux
  • Актуальная версия Termux (рекомендуется обновлять через pkg update && pkg upgrade)

Установка k3s

pkg install curl wget -y
curl -sfL https://get.k3s.io | sh -s server --disable servicelb --disable gcm

Эта команда скачивает и устанавливает k3s. Параметр --disable servicelb отключает встроенный LoadBalancer, что упрощает настройку в Termux. Параметр --disable gcm отключает встроенный механизм обновления, что позволяет контролировать обновления вручную. Вы можете изменить эти параметры в зависимости от ваших потребностей.

Запуск k3s

k3s server

После установки k3s необходимо запустить сервер. Этот процесс может занять некоторое время, пока k3s загружает необходимые компоненты.

Добавление Termux пользователя в Kubernetes

termux-setup-storage
mkdir -p ~/.kube
k3s kubectl config view --raw > ~/.kube/config
chmod 600 ~/.kube/config

Эти команды создают необходимые директории и копируют конфигурацию Kubernetes в ваш Termux-аккаунт. termux-setup-storage предоставляет доступ к хранилищу Termux, что необходимо для корректной работы Kubernetes.

Управление Pod-ами через kubectl

kubectl get pods
kubectl logs 
kubectl exec -it  -- /bin/sh

Теперь вы можете использовать kubectl для управления контейнерами. Команда kubectl get pods отобразит список всех работающих pod-ов. Команда kubectl logs покажет логи конкретного pod-а. Команда kubectl exec -it -- /bin/sh позволит вам получить доступ к командной строке внутри контейнера.

Пример развертывания простого приложения

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

Эта последовательность команд создает развертывание Nginx и экспонирует его через NodePort. Затем, команда kubectl get service nginx покажет информацию о созданном сервисе.

Решение проблем

  • Проблемы с сетью: Убедитесь, что Termux имеет доступ к интернету.
  • Недостаточно памяти: k3s может требовать значительное количество памяти. Закройте другие приложения, чтобы освободить ресурсы.
  • Ошибки при установке: Проверьте версию Termux и убедитесь, что установлены необходимые пакеты.

Заключение

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

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

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

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

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