Infra

Infra/Kubernetes

[Kubernetes] Spring Cloud에서 Kubernetes로의 마이그레이션: Kube DNS 주소를 활용한 서비스 탐색 - kube-system, kube-dns

처음에는 Spring Cloud를 통해 MSA 서비스를 개발하였습니다. 이후에 auto scaling, 무중단 배포, 컨테이너 관리를 간편하게 하고자 쿠버네티스를 저희 서비스에 적용해 보기로 하였습니다. spring cloud로 된 프로젝트를 쿠버네티스로 마이그레이션 하면서 겪었던 시행착오를 기록하고자 합니다. 제일 고민이 많았던 부분으로는 각 서비스간의 통신 방법을 어떻게 하면 좋을지 고민이었습니다.  이슈 : Spring Cloud에서 Kubernetes 마이그레이션 중 서비스 탐색처음 Spring cloud 프로젝트에서는 Spring Cloud Eureka를 통해 각 마이크로 서비스를 등록하고 서비스의 주소를 Eureka 서버를 통해 등록된 이름으로 찾을 수 있었습니다.하지만, Spring clou..

Infra

[Github Actions] Github Actions로 docker compose 자동 배포하기 - springboot, redis server CI/CD 구축

docker compose redis 실행방법 이해하기 [Docker] Docker compose로 redis 실행하기 - redis.conf, requirepass, data 설정 docker network, volume 이해하기 [Docker] Docker network, volume 이해 및 docker-compose에 network, volume 지정하기 Docker Network Docker Compose를 통해 여러 컨테이너를 하나의 네트워크 안에서 실행시키려고 할 때가 있 kylo8.tistory.com Docker Compose Install VM Instance에 docker와 docker-compose 가 설치되어 있어야 github actions를 통해 원격 접속하여 해당 명령어를..

Infra/Docker

[Docker] Docker compose로 redis 실행하기 - redis.conf, requirepass, data 설정

docker network, volume 이해하기 [Docker] Docker network, volume 이해 및 docker-compose에 network, volume 지정하기 Docker Network Docker Compose를 통해 여러 컨테이너를 하나의 네트워크 안에서 실행시키려고 할 때가 있을 것이다. docker-compose.yml 파일에 네트워크를 지정하지 않으면 기본적으로 별도의 네트워크가 kylo8.tistory.com Docker compose로 redis 실행하기 1. redis volume 생성하는 이유 redis 컨테이너를 종료 후 재시작하면, 기존 레디스에 저장해 둔 데이터가 보존되지 않습니다. 레디스를 재시작하지 않으면 되지 않나? 라고 생각할 수 도 있습니다. 만약,..

Infra/Docker

[Docker] Docker network, volume 이해 및 docker-compose에 network, volume 지정하기

Docker Network Docker Compose를 통해 여러 컨테이너를 하나의 네트워크 안에서 실행시키려고 할 때가 있을 것이다. docker-compose.yml 파일에 네트워크를 지정하지 않으면 기본적으로 별도의 네트워크가 생성이 되긴 한다. (compose-default) Docker Compose에서나 run 명령어를 통해 특정 네트워크를 지정하고 싶은 경우에는 네트워크를 생성하여 사용한다. ➡️ 정상적으로 생성이되면 아래와 같이 생성한 네트워크의 id가 반환된다. Network Inspect docker network inspect my-net 위 명령어를 통해 'my-net' 특정 네트워크에 대한 세부 정보를 확인할 수 있다. Docker run Command에 network 지정 doc..