Jenkins, Docker, Kubernetes를 활용한 자동화 빌드 및 배포 프로세스 Jenkins, Docker, Kubernetes 빌드 및 배포 순서로컬 컴퓨터에서 Git Push변경 사항 푸시: 로컬 컴퓨터에서 소스 코드의 변경 사항을 원격 Git 저장소에 푸시합니다.Trigger: Jenkins가 이 Git 저장소의 변경 사항을 감지하고 자동으로 빌드 프로세스를 시작합니다.Jenkins 빌드Jenkins 작업: Jenkins가 자동으로 빌드를 트리거합니다.Docker 이미지 빌드: Jenkins에서 Dockerfile을 사용하여 Docker 이미지를 빌드합니다.테스트 및 기타 작업: Jenkins에서 필요한 테스트를 실행하고, Docker 이미지를 빌드 후 필요한 작업을 수행합니다.Jenk..
[Kubernetes] Istio [Kubernetes] Istio 이스티오Kubernetes는 컨테이너와 서비스를 관리하는 플랫폼이고, Istio는 그 위에서 서비스 간의 통신을 보다 정교하게 관리하고 보안을 강화하는 도구입니다. 두 기술은 함께 사용되며, Kubernetes의 클러스터 내에서 Istio를 통해 더욱 효율적이고 안전한 마이크로서비스 환경을 만들 수 있습니다. 1. 서비스 간 통신 관리Kubernetes는 컨테이너와 서비스의 배포를 자동화합니다. 그러나, 서비스 간의 통신을 어떻게 관리할지는 별도로 설정해야 합니다. Istio는 서비스 간의 통신을 더 세밀하게 제어합니다. 예를 들어, 요청을 라우팅하거나, 특정 서비스로의 트래픽을 조정할 수 있습니다. 2. 보안 강화Kubernetes는 ..
[Kubernetes] 쿠버네티스도커허브와 쿠버네티스를 이용한 Spring Boot 애플리케이션 배포 1. Spring Boot 프로젝트 생성Spring Boot로 아주간단한 샘플 프로젝트를 하나 만들어 주겠습니다.Clean - bootJar를 해서 Jar파일을 제작해 줍니다. application.ymlspring: application: name: api datasource: url: ${DB_URL} username: ${DB_USERNAME} password: ${DB_PASSWORD} driver-class-name: org.mariadb.jdbc.Driver jpa: hibernate: ddl-auto: update show-sql: tr..
[Kubernetes] 쿠버네티스MariaDB Pod 배포 및 LoadBalancer를 통한 외부 접근 방법 MariaDB Pod 배포 및 LoadBalancer를 통한 외부 접근 방법 1. DB 컨피그맵 생성apiVersion: v1kind: ConfigMapmetadata: name: db-cmdata: MARIADB_ROOT_PASSWORD: qwer1234 MARIADB_DATABASE: web 2. PV 생성apiVersion: v1kind: PersistentVolumemetadata: name: pv-01spec: capacity: storage: 2G accessModes: - ReadWriteOnce local: path: /node-vol nodeAffin..
쿠버네티스 설치 방법 1. 쿠버네티스란?쿠버네티스(Kubernetes)는 클라우드 환경에서 여러 개의 컴퓨터를 사용하여 애플리케이션을 효율적으로 관리하는 데 도움을 주는 시스템입니다. 쉽게 말해, 쿠버네티스는 애플리케이션을 여러 서버에 자동으로 배포하고 관리할 수 있도록 해주는 도구입니다.쿠버네티스는 이러한 기능들을 통해 애플리케이션의 배포와 관리, 스케일링(규모 조정), 복구를 간편하게 해줍니다. 이를 통해 개발자는 애플리케이션의 코드에 집중할 수 있게 되며, 시스템 운영자는 안정적인 환경을 유지할 수 있습니다. 컨테이너(Container): 애플리케이션과 그 애플리케이션이 실행되기 위한 모든 환경을 하나의 패키지로 묶은 것입니다. 예를 들어, 컨테이너 안에는 애플리케이션 코드, 라이브러리, 시스템 ..