Встановлення та налаштування Skaffold у Debian 12 Linux

Встановлення та налаштування Skaffold у Debian 12 Linux

03.06.2024
Автор: HostZealot Team
2 мін.
48

Skaffold є досить популярним інструментом, необхідним для безперервної розробки. За допомогою цього контейнерного інструменту можна керувати розгортанням, розробкою та просуванням програми, а також створювати частини для конвеєрів CD/CI. Scaffold може доставити ваш додаток до кластера Kubernetes, хмарного проекту або докерного середовища.

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

Можливості Skaffold

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

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

Ось декілька функцій Skaffold, на основі яких був розроблений цей інструмент:

  • Будівельні блоки CD/CI (видалення/тестування/збірка/застосування та інші опції).
  • Параметри конвеєра (тестування/розгортання/збірка/видалення/застосування/рендеринг).
  • Пайплайн керується для автоматичного створення, запуску, проштовхування додатку та розпізнавання змін у вихідному коді.
  • Значення додаткових компонентів, таких як розгортання/збірка, локальна конфігурація та змінні середовища, також мають вирішальне значення.
  • Цей інструмент вважається дійсно полегшеним варіантом, який можна застосовувати у зовнішніх CI/CD компонентах та Dev.
  • Skaffold має метод для ведення журналів та перенаправлення портів.

Необхідні умови для інсталяції 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

Щоб спростити розуміння цього процесу, давайте використаємо додаток Petclinic Spring Boot як приклад. Щоб протестувати і розгорнути додаток на 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, ви можете знайти документацію на офіційному сайті. Не зволікайте і почніть тестувати цей чудовий інструмент прямо зараз, ви зможете автоматизувати багато процесів у вашому досвіді кодування!

# Як зробити Поділитися:
Статті за темою