| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- DI
- docker compose
- securitycontextholderfilter
- Dead Letter Queue
- Spring Data JPA
- @ComponentScan
- 쿠버네티스
- 스프링 부트
- Spring Container
- JPQL
- MSA
- JWT
- 페이징
- dockerhub
- docker
- JdbcTemplate
- @Transactional
- Routing Key
- DLQ
- kafka
- Spring
- Web
- CORS
- AWS
- 컨테이너
- mybatis
- 서블릿 컨테이너
- redis
- JPA
- 지연 로딩
- Today
- Total
목록Infra (18)
look-forest
지금까지의 쿠버네티스 핵심 개념은 다 배웠다. AWS EKS라고 크게 다를 건 없다. 셋팅법만 익히면 나머지는 다 똑같다.셋팅 시 모든 옵션을 다 알 필요가 없다. 딱 필요하고 중요한 부분에 대해서만 알고 있으면 된다EKS(Elastic Kubernetes Service)란? EKS란 AWS가 쿠버네티스 마스터 노드를 대신 관리해주어 사용자가 복잡한 설치나 관리에 신경 쓰지 않고 쉽게 쿠버네티스를 사용할 수 있도록 돕는 서비스AWS에서 쿠버네티스를 편하게 관리하고 사용할 수 있게 만든 AWS용 쿠버네티스이다. 쿠버네티스를 직접 설치해서 관리하는 게 생각보다 손이 많이 가서,현업에서는 쿠버네티스를 EC2와 같은 서버에 직접 설치해서 쓰지 않고 AWS에서 제공하는 EKS를 활용하는 경우가 많다. 쿠버네티스와..
k3s란?쿠버네티스(k8s)의 경량 버전으로, 설치가 간단하며 컴퓨팅 리소스를 훨씬 적게 먹는다.그리고 실제 프로덕션 환경에서 종종 사용하기도 한다. k3s를 사용하는 이유쿠버네티스의 학습을 가로막는 요소는 크게 2가지가 있는데, k3s를 사용하면 아래 2가지 단점을 해결할 수 있다.복잡한 설치 과정Devops 엔지니어라고 할지라도 k8s를 직접 설치하는 일은 드물다. AWS 자체에서 k8s 서비스(EKS)를 제공하기 때문이다.EC2 인스턴스를 3대 만들어야 한다는 비용적 부담 AWS EC2에서 쿠버네티스를 활용해 서버 배포하기EC2에서 도커/쿠버네티스 설치하기 (k3s)k3s의 권장 설치 사양이 CPU 2 core, RAM 1 GB이다. 백엔드 서버도 같이 실행시킬 것을 고려해 AWS EC2 인스턴스는..
볼륨(Volume)이란?파드(Pod)가 가진 문제점파드로 실행 중인 프로그램에 기능이 추가되면, 쿠버네티스는 기존 파드에서 변경된 부분을 수정하지 않고,새로운 파드를 만들어서 통째로 갈아끼우는 방식으로 교체를 한다. 이게 효율적이라고 생각했기 때문이다. 이런 특징 때문에 파드를 교체하면, 기존 파드 내부에 있던 데이터도 같이 삭제되어 버린다.만약 이 파드가 MySQL을 실행시키는 파드였다면 저장된 데이터도 같이 삭제 돼버린다. 따라서 파드 내부에 데이터가 삭제되면 안되는 경우에는 볼륨(Volume)이라는 개념을 활용해야 한다. 쿠버네티스의 볼륨(Volume)이란?볼륨이란 데이터를 영속적으로 저장하기 위한 방법이다.쿠버네티스의 볼륨은 크게 2가지 종류로 나뉜다. 1. 로컬 볼륨파드 내부의 공간 일부를 볼륨..
SpringBoot에서 시스템 환경변수를 사용하려면 어떻게 할까?@RestControllerpublic class AppController { @Value("${My_ACCOUNT:default}") private String myAccount; @Value("${My_PASSWORD:default}") private String myPassword; @GetMapping("/") public String home(){ return "my account is " + myAccount + " and password is " + myPassword; }}백엔드(Spring Boot) 서버에 환경변수 등록해 사용하기매니페스트 파일에 환경 변수를 등록하기-> 컨테이너 자체의 환경 변수로 설정하는 것이다apiV..
디플로이먼트(Deployment)란?파드를 묶음으로 쉽게 관리할 수 있는 기능이다.실무에서는 보토 서버를 작동시킬 때 파드를 수동 배포하지 않고. 디플로이먼트를 활용한다.그리고 앞서 파드를 여러개 띄울 때의 한계를 살펴보았듯이, 여러 파드를 띄우거나 관리하는데 디플로이먼트가 유용하다. 디플로이먼트의 장점파드의 수를 지정하는 대로 여러 개의 파드를 쉽게 생성할 수 있음파드가 비정상적으로 종료된 경우, 알아서 새로 파드를 생성해 파드 수를 유지한다.동일한 구성의 여러 파드를 일괄적으로 일시 중지, 삭제, 업데이트 하기 쉽다.디플로이먼트의 구조디플로이먼트가 레플리카셋을 관리하고, 레플리카셋이 여러 파드를 관리하는 구조이다.레플리카(Replica): 복제본레플리카셋(ReplicaSet): 복제본끼리의 묶음[예제..
파드(Pod)란?도커에서는 하나의 프로그램을 실행시키는 단위를 컨테이너라고 한다.쿠버네티스에서는 하나의 프로그램을 실행시키는 단위를 파드(Pod)라고 한다.일반적으로 하나의 파드가 하나의 (도커)컨테이너를 가진다.(여러 컨테이너 가질 수도 있긴하다) 쿠버네티스도 도커처럼 이미지를 기반으로 파드를 띄워 실행시킨다.서버를 파드로 띄워보기파드를 생성할 때, CLI를 활용하는 방법이 있고, yaml 파일을 활용하는 방법이 있다.보통 현업에서는 일일이 CLI를 치지않고 yaml 파일을 활용하는 경우가 많다.이러한 yaml 파일을 보고 매니페스트 파일(Manifest File)이라고 부른다.매니페스트 파일이란, 쿠버네티스에서 다양한 리소스(파드, 서비스, 볼륨 등)를 생성하고 관리하기 위해 사용하는 파일이다.(Do..
쿠버네티스(Kubernetes)란?Docker로 생성한 다수의 컨테이너를 효율적으로 배포, 확장 및 관리(Container Orchestration) 하기 위한 오픈 소스 시스템.Docker compose처럼 다수의 컨테이너를 쉽게 관리하기 위해 활용하며, 보다 더 많은 컨테이너를 다룰 때 사용한다. 장점컨테이너 관리 자동화 (배포, 확장, 업데이트)부하 분산 (로드밸런싱)쉬운 스케일링셀프 힐링 (자동 재부팅) 설치 방법실무에서 직접 쿠버네티스를 설치할 일은 많지 않으므로, Docker Desktop을 활용해 쉽게 설치해서 사용하자. 쿠버네티스에 명령어를 입력할 수 있게 해주는 CLI 툴인 kubectl(Kubernetes Control)도 설치하자. 참고 자료 & 이미지 출처비전공자도 이해할 수 있는 ..
1. Ubuntu에서 Docker, Docker Compose 설치하기EC2에서 Docker Compose를 활용하기 위해선, 먼저 Docker와 Docker Compose를 설치해야 한다.sudo apt-get update && \sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && \curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \sudo apt-key fingerprint 0EBFCD88 && \sudo add-apt-repository "deb [arch=amd64] https://dow..