Установка и настройка Skaffold на Debian 12 Linux

Установка и настройка Skaffold на Debian 12 Linux

03.06.2024
Автор: HostZealot Team
2 мин.
396

Skaffold - довольно популярный инструмент, необходимый для продолжительной разработки. С помощью этого инструмента, основанного на контейнерах, можно управлять развертыванием, разработкой и продвижением приложения, а также создавать фрагменты для конвейеров CD/CI. Scaffold может доставить ваше приложение в кластер Kubernetes, облачный проект или среду docker.

Рабочий процесс легко автоматизируется благодаря управлению Scaffold, которое функционирует на кластерах Kubernetes. В целом, используя Skaffold, разработчики могут значительно упростить свой рабочий процесс. Этот инструмент функционирует в фоновом режиме, пока разработчики занимаются кодированием, и программа обновляет все автоматически, без дополнительных инструкций.

Возможности Skaffold

Skaffold действительно полезен для упрощения множества процессов, и вот некоторые из них:

  • Создание образов Docker и разметка образов манифеста Kubernetes.
  • Налаживание приложения.
  • Быстрая смена кластера Kubernetes после внесения изменений в исходный код.
  • Набор инструментов для непрерывной доставки и интеграции.

Вот несколько функций Skaffold, с учетом которых инструмент был разработан:

  • Строительные блоки CD/CI (удалить/тестировать/создать/применить и другие опции).
  • Опции конвейера (test/ deploy/build/delete/apply/render).
  • Pipeline управляется для автоматического создания, запуска, распространения приложения и распознавания изменений в исходном коде.
  • Значение дополнительных компонентов, таких как развертывание/выстраивание, локальная конфигурация и переменные окружения, также очень важно.
  • Этот инструмент считается действительно легким в весе вариантом, который можно применять во внешних CI/CD-компонентах и Dev.
  • В Skaffold предусмотрены методы ведения журналов и переадресации портов.

Необходимые условия для установки скафолда

Перед началом процесса установки вам нужно иметь следующие инструменты:

  • Kubectl
  • Docker
  • Skaffold
  • Minikube

В этой статье мы поделимся своим практическим опытом и покажем установку и настройку Skaffold на Linux-системе (в данном примере мы будем использовать Debian).

Установка Skaffold

Процесс установки Skaffold очень прост, и все, что вам нужно сделать, это открыть терминал и ввести следующую строку:

curl -Lo skaffold https://storage.googleapis.com/skaffold/builds/latest/skaffold-linux-arm64 && \
sudo install skaffold /usr/local/bin/

Когда вы завершили этот начальный шаг, переходим к следующему, не менее важному для полноценной работы.

Руководство по установке Docker

Следуйте пошаговой инструкции для правильной установки Docker в системе Linux:

Обновите пакеты, введя в терминале следующую команду.

sudo apt update

Установка необходимых пакетов.

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Добавление репозитория Docker.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Обновите пакеты.

sudo apt update

Установка Docker.

sudo apt install docker-ce docker-ce-cli containerd.io

Запустите Docker.

sudo systemctl start docker
sudo systemctl enable docker

Установка Minikube и kubectl

Kubectl важен для управления кластерами Kubernetes. Для установки последней версии используйте следующую команду:

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl". 
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

Для установки minikube используйте следующее:

wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 -O minikube

Создание кластера Kubernetes с помощью minikube

Чтобы начать создание кластера Kubernetes, выполните следующую команду:

minikube start --profile custom
skaffold config set --global local-cluster true
eval $(minikube -p custom docker-env)

Вывод вышеупомянутой команды будет содержать информацию о версиях Debian и minikube, а также некоторые советы и описания текущих процессов.

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

Чтобы упростить понимание этого процесса, давайте воспользуемся приложением Spring Boot от Petclinic в качестве примера. Чтобы протестировать и развернуть приложение на Kubernetes, скопируйте его из:

git clone https://github.com/spring-projects/spring-petclinic.git

Следующее действие необходимо выполнить для изменения директории:

cd spring-petclinic

Создайте файл Docker, который будет включать исходный код и образ контейнера. В корневом каталоге приложения создайте такой файл и добавьте в него следующее содержимое.

FROM maven:3.8.4-openjdk-17-slim AS build
WORKDIR /home/app
COPY src /home/app/src
COPY pom.xml /home/app
RUN mvn -f /home/app/pom.xml clean package
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY --from=build /home/app/target/*.jar /usr/local/lib/petclinic.jar

Затем используйте следующую строку:

docker build -t spring-petclinic-builder

Проверьте, был ли создан контейнер:

docker run -p 8080:8080 spring-petclinic-builder

Чтобы проверить, работает ли программа, вы можете открыть браузер и зайти на веб-страницу.

Теперь, когда вы проверили и протестировали приложение, приступаем к следующему процессу, связанному с запуском приложения на Kubernetes. Используйте такие команды, как:

skaffold init --generate-manifests

Для доступа к приложению в Kubernetes необходимо открыть туннель с помощью:

$ minikube tunnel -p custom

С помощью run можно запустить/сборку приложения в Kubernetes.

skaffold run -tail

Для автоматического развертывания и мониторинга изменений в исходном коде используйте следующую строку:

skaffold dev

Подведем итоги

Это руководство важно для всех пользователей, которым нужна профессиональная информация об установке, настройке и дальнейшем использовании Skaffold в системе Linux. Процесс использования этого инструмента настолько прост, что все, что вам нужно сделать, - это следовать руководству. Если вы хотите получить дополнительные рекомендации по использованию Skaffold, вы можете найти документацию на официальном сайте. Не медлите и начните тестировать этот замечательный инструмент прямо сейчас, и вы сможете автоматизировать множество процессов в своем кодинге!

# Как сделать Поделиться:
Статьи по Теме