본문 바로가기
반응형

[개발] Infrastructure/Container5

Skaffold Skaffold는 Kubernetes 환경에서 애플리케이션을 개발하고 배포하는 과정을 자동화하고 간소화해주는 오픈 소스 도구입니다. Google에서 개발한 이 도구는 Kubernetes 클러스터에서 애플리케이션을 반복적으로 빌드, 테스트, 배포하는 작업을 관리하기 쉽게 만들어줍니다. Skaffold는 로컬 개발 환경부터 클라우드 기반 CI/CD 파이프라인에 이르기까지 다양한 환경에서 사용할 수 있습니다.Skaffold의 주요 특징빌드, 푸시, 배포의 자동화:Skaffold는 애플리케이션의 빌드, 푸시(이미지를 컨테이너 레지스트리에 업로드), 그리고 배포 작업을 자동으로 처리합니다. Skaffold는 Docker, JIB, Buildpacks, Bazel과 같은 빌드 도구를 지원하며, 사용자는 자신에게 맞.. 2024. 8. 10.
JIB JIB는 Java 애플리케이션을 컨테이너 이미지로 빌드하고 배포할 수 있도록 도와주는 도구입니다. JIB는 Google에서 개발한 오픈 소스 Gradle 및 Maven 플러그인으로, Java 개발자들이 컨테이너 이미지를 만들 때 Dockerfile이나 도커 명령어를 직접 작성하지 않고도 쉽게 이미지를 생성할 수 있도록 도와줍니다.JIB의 주요 특징Docker 환경이 필요하지 않음:JIB는 도커 데몬이 필요하지 않기 때문에, Docker가 설치되지 않은 환경에서도 사용할 수 있습니다. 이것은 CI/CD 파이프라인을 구성할 때 유용하며, 복잡한 도커 환경 설정 없이도 컨테이너 이미지를 생성할 수 있다는 장점이 있습니다.효율적인 이미지 빌드:JIB는 레이어 캐싱(layer caching)을 사용하여 빌드 시간.. 2024. 8. 10.
Docker 이미지 빌드하기 아래 스펙으로 도커 이미지를 생성하려고 합니다. jdk-17 Spring Boot 3.1.5 Spring Reactive Web Gradle 도커 컨테이너를 실행 후 아래 RESTful API를 요청 시 응답되는지 확인하는 것이 목적입니다. GET, http://localhost:8080/hello 컨트롤러 코드는 아래와 같습니다. @RestController public class DemoController { @GetMapping("/greeting") public Mono greeting(){ return Mono.fromSupplier(() -> { final int now_hour = LocalTime.now().getHour(); final int num = now_hour < 12 ? 1 :.. 2023. 11. 22.
Docker 로드밸런서 구성하기 Docker를 사용하여 로드 밸런서와 두 개의 서버(컨테이너)를 연결하는 환경을 구축하는 과정은 다음과 같습니다. 이 예시에서는 Nginx를 로드 밸런서로 사용하고, 두 개의 간단한 웹 서버 컨테이너를 로드 밸런싱합니다. 1단계: Docker 네트워크 생성 먼저, 모든 컨테이너가 서로 통신할 수 있도록 Docker 네트워크를 생성합니다. docker network create my-network 생성된 네트워크는 아래 명령어로 확인할 수 있습니다. docker network ls 2단계: WAS 컨테이너 실행 두 개의 WAS를 실행합니다. 이들은 외부에 직접 노출되지 않고, 로드 밸런서를 통해서만 접근 가능합니다. WAS: https://developer-syubrofo.tistory.com/213 do.. 2023. 11. 22.
반응형