본문 바로가기

분류 전체보기

(644)
[Spring] @Data 어노테이션 @Data - 롬복의 어노테이션 - 모든 필드에 대한 Getter, Setter, equals(), hashCode(), toString() 메서드, 기본 생성자, 모든 필드를 포함한 생성자를 생성 @Data를 사용하지 않았을 때 import java.util.Objects; public class Member { private String name; private int age; public Member() {} public Member(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = na..
[Spring] Filter Filter - 웹 어플리케이션에서 관리되는 영역 - 스프링부트 Framework에서 클라이언트의 요청/응답에 대해 최초/최종 단계의 위치에 존재하므로 요청/응답의 정보를 변경하거나 스프링에 의해 데이터가 변환되기 전의 순수한 클라이언트의 요청/응답 값을 확인할 수 있다. - 유일하게 ServletRequest, ServletResponse의 객체를 변환할 수 있다. - 주로 스프링 프레임워크의 요청/응답 로깅이나 인증과 관련된 로직들을 해당 필터에서 처리한다. => 서비스 비즈니스 로직과 분리시킨다. Filter 사용하기 Filter를 상속 받은 GlobalFilter.java import jakarta.servlet.*; import jakarta.servlet.annotation.WebFilter;..
[따배쿠] 5-2. 쿠버네티스 Pod - livenessProbe를 이용해서 Self-healing Pod 만들기 https://youtu.be/-NeJS7wQu_Q Liveness Probe - 파드가 계속 실행할 수 있음을 보장 - 파드의 spec에 정의 - 아래와 같이 추가할 수 있다. spec: containers: ... livenessProbe: # 추가 httpGet: path: / port: 80 livenessProbe 매커니즘 httpGet probe : 지정한 IP 주소, 포트, path에 HTTP GET 요청을 보내 해당 컨테이너가 응답하는지 확인. 반환 코드가 200이 아니면 오류, 컨테이너 재시작 tcpSocket probe : 지정된 포트에 TCP연결을 시도, 연결되지 않으면 컨테이너 재시작 exec probe : exec 명령을 전달하고 명령의 종료 코드가 0이 아니면 컨테이너 재시작 L..
69일차 - 쿠버네티스 마운트, 설치 및 사용 NCP에서 NAS 볼륨 생성 - Service > Storage > NAS > NAS 볼륨 생성 - 서버 모두 ACL 설정에 넣고 생성 NAS 마운트 아래의 명령어 실행(전체 서버) yum install nfs-utils -y : nfs-utils 설치 mkdir -p /data/share : 마운트할 폴더 생성 mount -t nfs 마운트_정보 /data/share : 마운트 (mount -t nfs -o vers=3 마운트_정보 /data/share : 위 마운트 명령어가 에러날 경우) 영구적인 마운트 설정(전체 서버) vim /etc/fstab > 기존 내용에 '마운트_정보 /data/share nfs defaults 0 0' 추가 (위에서 vers=3 적용한 경우 : 마운트_정보 /data/sh..
[따배쿠] 5-1-2. 쿠버네티스 Pod - Pod 동작 flow https://youtu.be/nvBKnFfiy7M Pending -> Running -> Succeeded or Failed 동작 중인 파드 정보 보기 $ kubectl get pods $ kubectl get pods -o wide $ kubectl describe pod webserver $ kubectl get pods --all-namespaces 동작 중인 파드 수정 $ kubectl edit pod webserver 동작 중인 파드 삭제 $ kubectl delete pod webserver $ kubectl delete pod --all
68일차 - 레디스, 쿠버네티스 준비 레디스(Redis) 레디스란? (챗 GPT 답변) 레디스(Redis)는 인메모리 데이터 스토어(in-memory data store)로서 사용되는 오픈 소스 데이터베이스입니다. 영구적인 데이터 저장이 목적인 전통적인 데이터베이스와 달리, 레디스는 메모리에 데이터를 저장하여 빠른 읽기 및 쓰기 성능을 제공합니다. 레디스는 키-값(Key-Value) 구조를 사용하여 데이터를 저장합니다. 각 데이터는 고유한 키와 연결되어 있으며, 이 키를 사용하여 데이터를 조회하거나 업데이트할 수 있습니다. 레디스는 문자열(Strings), 해시(Hashes), 리스트(Lists), 집합(Sets), 정렬된 집합(Sorted Sets) 등 다양한 데이터 유형을 지원합니다. 또한, Pub/Sub(pub/sub) 메시징 시스템을..
[따배쿠] 5-1-1. 쿠버네티스 Pod - Container 정리와 Single / Multi Container Pod 생성 https://youtu.be/0rYt3PcggzA Pod - 컨테이너를 표현하는 쿠버네티스 API의 최소 단위 - Pod에는 하나 또는 여러 개의 컨테이너가 포함될 수 있음 Pod 생성하기 - kubectl run 명령(CLI)으로 생성 - pod yaml을 이용해 생성 watch 명령어 : 명령어를 2초마다 한 번씩 실행
[따배쿠] 4-3. 쿠버네티스 아키텍처 - yaml템플릿과 API https://youtu.be/9kk_C4nUmWc API version - alpha -> beta -> stable - 쿠버네티스 object 정의 시 apiVersion이 필요 - 쿠버네티스가 업데이트하는 API가 있으면 새로운 API가 생성됨 - API object의 종류 및 버전 - Deployment : apps/v1 - Pod : v1 - ReplicaSet : apps/v1 - ReplicationController : v1 - Service : v1 - PersistentVolume : v1 kubectl explain 오브젝트