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

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

11:17, 03.06.2024

Содержание статьи
arrow

  • Возможности Skaffold
  • Необходимые условия для установки скафолда
  • Установка Skaffold
  • Руководство по установке Docker
  • Установка Minikube и kubectl
  • Создание кластера Kubernetes с помощью minikube
  • Развертывание приложения на Kubernetes
  • Подведем итоги

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, вы можете найти документацию на официальном сайте. Не медлите и начните тестировать этот замечательный инструмент прямо сейчас, и вы сможете автоматизировать множество процессов в своем кодинге!

views 1m, 16s
views 2
Поделиться

Была ли эта статья полезной для вас?

Популярные предложения VPS

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.