250328 TIL
·
TIL
Kubernetes여러 대의 서버(노드)를 묶어서 하나처럼 다룰 수 있게 해주는 컨테이너 관리 시스템대규모의 서비스는 여러 서버가 필요한데 여러 개의 컨테이너를 관리 함Kubernetes의 구성요소Pod컨테이너를 감싸는 작은 박스. 실제로 앱이 동작하는 최소 단위Node컨테이너를 실행하는 물리 서버나 가상 머신Cluster여러 노드들이 모인 쿠버네티스의 전체 시스템Deployment"이 앱을 몇 개 돌려줘!" 라고 지시하는 설계도Service사용자들이 앱에 접속할 수 있게 연결해주는 문Volume데이터 저장공간 (컨테이너는 죽으면 날아가는데, 여기에 저장하면 살아남음)Namespace여러 팀이 섞여 있어도 각자 자기 공간처럼 나눠서 쓰게 해주는 구역 Kubernetes가 해주는 일앱 자동 배포Deploy..
250327 TIL
·
TIL
Spring Boot Actuator애플리케이션의 상태를 모니터링하고 관리할 수 있는 **운영 도구들(endpoints)**을 제공하는 라이브러리 build.gradle 의존성 추가dependencies {implementation 'org.springframework.boot:spring-boot-starter-actuator'}Actuator 관련 빈(Bean)들이 등록되고, 여러가지 모니터링/관리용 Endpoint가 생성기본 Endpoint/actuator/health애플리케이션의 헬스 상태 확인 (예: UP, DOWN, OUT_OF_SERVICE)/actuator/info버전, 작성자, 빌드 시점 등 커스텀 애플리케이션 정보 노출 가능/actuator/metrics힙 메모리 사용량, GC 횟수, ..
250326 TIL
·
TIL
Nginx빠르고 가벼운 웹 서버이자 리버스 프록시, 로드 밸런서, 정적 파일 서버 기능을 수행하는 웹서버역할 설명🌐 웹 서버정적 파일(html/css/js) 서비스🔁 리버스 프록시클라이언트 요청 → 백엔드 API로 전달외부 클라이언트 요청을 내부 서버로 중계, 서버 IP/포트를 감추고 보안을 강화🔃 로드 밸런서여러 서버(API)로 트래픽 분산🔐 HTTPS SSL 게이트웨이인증서 붙여서 보안 연결 처리🚪 게이트웨이Spring, Node 등 앱 앞단에 둬서 전체 진입점 역할실습[사용자 브라우저] | ▼ [NGINX 1] [NGINX 2] | \\ / | | ▼ ▼ | | [Spring Boot ..
250325 TIL
·
TIL
Docker 두 컨테이너 간 네트워크 통신1️⃣ 사용자 정의 브리지 네트워크 생성docker network create --driver bridge spring-netspring-net 이라는 새 브리지 네트워크를 만든다 2️⃣ MySQL 컨테이너 실행Dockefile# 1) MySQL 공식 이미지FROM mysql:8# 2) 환경 변수 설정ENV TZ=Asia/Seoul \\ DEBIAN_FRONTEND=noninteractive# 3) tzdata 설치 (microdnf)RUN microdnf -y install tzdata && \\ ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \\ echo $TZ > /etc/timezone && \\ ..
250324 TIL
·
TIL
docker-compose up 실행했을 때 자동으로 컨테이너 안 Spring Boot서버 실행 시키기디렉터리 구조📂 spring-docker-lecture├── Dockerfile├── docker-compose.yml├── start.sh├── .env└── README.md컨테이너 실행 흐름도+-------------------------+| docker-compose up 실행 |+-------------------------+ | v+------------------------------+| Dockerfile 기반 이미지 빌드 |+------------------------------+ | v+------------------------------------+| 컨테이너 내부에서 start...
250321 TIL
·
TIL
리눅스 환경에서 서버 실행 하기🐳Docker 사용docker-compose.ymlservices: amazonlinux-ssh: build: . container_name: amazonlinux-ssh ports: - "2222:22" - "9090:8080" volumes: - "./data:/workspace" restart: always포트 포워딩 설정ports: - "2222:22" - "9090:8080"컨테이너의 포트를 호스트(내 컴퓨터)와 연결해주는 설정호스트 포트 → 컨테이너 포트2222→22 (SSH)9090→8080 (웹 앱)[내 컴퓨터] | | 2222 9090 ↓ ↓[컨테..