전체 글 64

Kubernetes 개념

쿠버네티스의 구조  CNI- 컨테이너 간의 네트워킹을 제어할 수 있는 플러그인을 만들기 위한 표준- 다양한 형태의 컨테이너 런타임과 오케스트레이터 사이의 네트워크 계층을 구현하는 방식이 다양하게 분리되어 각자만의 방식으로 발전하게 되는 것을 방지하고 공통된 인터페이스를 제공하기 위해 만들어짐- 쿠버네티스에서 Pod 간의 통신을 위해 CNI 사용 ; 기본적으로 'kubenet'이라는 자체적인 CNI 플러그인을 제공하지만 네트워크 기능이 매우 제한적 -> 3rd-party 플러그인 사용(Flannel, Calico, Weavenet, NSX 등)  namespace- 쿠버네티스 클러스터 내의 논리적인 분리 단위- 물리적으로 분리하는 것은 아님- 쿠버네티스 오브젝드를 묶는 하나의 가상공간/그룹- 다른 name..

infra/Kubernetes 2024.08.29

Docker를 이용해 Springboot 서버 실행, Github Container Registry push,pull 실습

간단한 스프링 부트 프로젝트 생성  간단한 코드 작성package com.example.demo;import lombok.Getter;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class DockerController { @GetMapping("/") public ResponseEntity hello(){ return ResponseEntity.ok("Hello, World!"); }}..

infra/Docker 2024.08.27

Docker image, Docker container 설치 및 실행

도커 설치 후 도커 이미지 설치해보기nginx 설치  docker desktop에서  확인  컨테이너 생성 및 실행localhost:80 실행 시 nginx 기반의 웹 서버 수행 확인   docker registry 생성docker hub > Repositories > Create repository레포지토리 생성 후 터미널에서 도커 로그인  도커 이미지 리스트 확인   도커 이미지에 태그 추가# docker image tag format$ docker tag : /:# docker tag를 통해 nginx라는 이미지를 adjh54/m-nginx라는 새롭게 구성한 repository에 1.0이라는 태깅을 하여 수행하였습니다.$ docker tag nginx adjh54/my-nginx:1.0  도커 레지..

infra/Docker 2024.08.27

Docker

도커란 무엇인가Linux 컨테이너 기술을 기반으로 한 일종의 가상화 플랫폼.가상화 : 물리적 자원인 하드웨어를 효율적으로 활용하기 위해서 하드웨어 공간 위에 가상의 머신을 만드는 기술컨테이너 : 실행되고 있는 호스트 os의 기능을 그대로 사용하면서 프로세스를 격리해 독립된 환경을 만드는 기술=> 도커는 독립된 환경을 만들어 하드웨어를 효율적으로 활용하는 기술  도커의 개발 배경여러 애플리케이션을 구동하기 위한 다양한 패키지, 환경설정 통일 과정 속에서 패키지끼리의 충돌이나 환경변수 충돌과 같은 문제 발생=> 애플리케이션별로 환경변수와 패키지를 분리해 가상화시켜 구동하는 VM(Virtual Machine) 탄생. 그러나 VM은 하이퍼바이저를 이용하기 때문에 환경 자체가 상당히 무거움 => 운영체제 단에서 ..

infra/Docker 2024.08.21

지연 로딩과 조회 성능 최적화

간단한 주문 조회 V1: 엔티티를 직접 노출 OrderSimpleApiController package jpabook.jpashop.api; import jpabook.jpashop.domain.Address; import jpabook.jpashop.domain.Order; import jpabook.jpashop.domain.OrderStatus; import jpabook.jpashop.repository.*; import lombok.Data; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotatio..

backend/springboot 2024.04.19