Встановлення та налаштування Skaffold у Debian 12 Linux
19:20, 03.06.2024
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, ви можете знайти документацію на офіційному сайті. Не зволікайте і почніть тестувати цей чудовий інструмент прямо зараз, ви зможете автоматизувати багато процесів у вашому досвіді кодування!