일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- MySQL
- APM
- 정보처리기사 실기 기출문제
- 공부
- 코틀린 코루틴의 정석
- Java
- 정보처리기사 실기
- IntelliJ
- Kubernetes
- kotlin querydsl
- Elasticsearch
- 기록으로 실력을 쌓자
- CKA
- 티스토리챌린지
- Spring
- kotlin spring
- AWS EKS
- CloudWatch
- Linux
- aws
- mysql 튜닝
- PETERICA
- 정보처리기사실기 기출문제
- 오블완
- kotlin
- Pinpoint
- minikube
- kotlin coroutine
- CKA 기출문제
- AI
- Today
- Total
목록Kubernetes/기초공부 (37)
피터의 개발이야기
[kubernetes] 쿠버네티스 목차ㅁ 들어가며ㅇ 지난 글, [Kubernetes] Pod의 건강 상태 체크 방법, Readiness Liveness Startup probe설정, Lifecycle Hook에서 Pod의 생명 주기에 따라 발생하는 lifecycle hook과 Probe라는 기능에 대해서 알아보았다.ㅇ 이번 글에서는 쿠버네티스(Pod)의 생명 주기에 대해서 정리해 보았다.ㅁ 간략한 Pod의 생명주기 생성 (Creation): Pod를 생성하고, 필요한 리소스를 할당한다.준비 (Ready): Pod가 서비스에 제공할 수 있는지를 확인하는 데 사용되는 Readiness Probe의 결과에 따라 Pod가 준비되어 있는지 여부를 결정한다.실행 (Running): Pod는 정상 작동하여 컨테이너..
ㅁ 들어가며 마이크로서비스의 패턴 중 CQRS에 대해 공부하면서 B마트 전시 도메인 CQRS 적용하기 영상을 보았고, 관련 내용을 정리해 보았다. CQRS 패턴을 구성하게 된 이유를 설명하며, 아키텍처 구성까지 세부적으로 설명하고 있다. ㅁ 데이터 구조는 어떻게 될까?ㅇ 고객의 의식 순서대로 데이터구조는 전개되지 않는다. ㄴ 다르게 말해 데이터의 일관성 구조을 유지할 수 없다.ㅇ 실제 데이터는 지역과 영업적 이유로 복잡한 구조를 가니다. ㄴ 지점: 고객의 위치에 따른 지점 ㄴ 지점에서 제공가능한 카탈로그 ㄴ 카탈로그에 종속되는 상품과 아이템 ㄴ 실물 배송 담당인 물류센터와 연계 ㄴ 유통기한 및 업체 알고리즘에 따른 실물 선택 ㅁ 정규화 -> 비정규화ㅇ 실질적인 물류를..
1. API 게이트웨이 패턴 마이크로서비스에 대한 외부 액세스를 중앙 집중화하여 통신을 간소화하고 클라이언트 요청에 대한 단일 진입점을 제공합니다. 2. 서비스 검색 패턴 마이크로서비스가 서로 동적으로 검색하고 통신할 수 있도록 하여 서비스 오케스트레이션을 간소화하고 시스템 확장성을 향상시킵니다. 3. 회로 차단기 패턴 마이크로 서비스에 대한 내결함성 메커니즘을 구현하여 결함이 있는 서비스를 자동으로 감지하고 격리하여 연속 오류를 방지합니다. 4. 부하 분산 패턴 들어오는 트래픽을 마이크로 서비스의 여러 인스턴스 간에 분산하여 시스템 성능, 복원력 및 리소스 사용률을 개선합니다. 5. Bulkhead 패턴 마이크로 서비스를 별도의 파티션으로 격리하여 한 파티션의 오류가 전체 시스템에 영향을 미치지 않도록..
ㅁ 들어가며 지난 글, [MSA] 마이크로서비스란? - 배민 마이크로서비스 여행기를 보고...을 정리하였는데, MSA란 무엇인지 핵심적 내용을 정리해 보왔다. ㅁ 마이크로서비스란? MSA(Microservices Architecture)는 작은 기능 단위로 독립적인 서비스를 모듈로 구성하는 소프트웨어 아키텍처이다. 분리된 서비스는 독립적인 프로세스로 구성되며, 서로 다른 서비스끼리 여러 패턴을 이용하여 통신과 데이터 동기화를 한다. ㅁ 장점 ㅇ 서비스 간의 독립성, 오케스트레이션 각 서비스는 모듈화되어 개발, 배포가 분리된다. 이를 통해 확장이 가능하므로 클라우드 환경과 더불어 전체 시스템의 유연성과 다양성을 높일 수 있다. ㅇ 빠른 시장 출시 분리된 서비스를 개별적으로 배포하면, 전체 서비스에 대한 종..
ㅁ 관련 글 ㅇ [MSA] 12가지 마이크로서비스 패턴 ㅇ [MSA] 마이크로서비스 - 분산 트랜잭션 처리를 위한 Saga 패턴 ㅁ 들어가며 마이크로서비스의 패턴 중 CQRS에 관한 글을 작성하면서 [우아콘2020] 배달의민족 마이크로서비스 여행기 유튜브 동영상을 다시 보게 되었다. MSA에 대해 고민하면서 많이 공감이 되고 도움이 되는 동영상이다. 이번에 이 동영상을 다시 보면서 마이크로서비스를 구축하는 좋은 경험들을 글로 정리를 해 보았다. 주의: 동영상을 보면서 마이크로서비스를 공부하는 상황이라 동영상의 내용과 나의 생각이 혼합되어 있다. ㅁ 마이크로서비스 이해를 위한 핵심 질문들 동영상을 통해 마이크로서비스를 이해하는 핵심적 내용은 다음 질문으로 귀속된다. 왜 나누어야 하고, 나누었을 때 상호 통..
ㅁ 들어가며ㅇ 예전 글인 [MSA] 12가지 마이크로서비스 패턴에서 Saga 패턴에 대해서 간략히 이야기 하였다. ㄴ 여러 마이크로서비스에서 분산 트랜잭션을 관리하여 서비스의 자율성을 유지하면서 데이터 일관성을 보장한다.ㅇ Saga 패턴에 대해 구체적으로 정리해 보았다. ㅁ 데이터베이스와 마이크로서비스의 딜레마데이터베이스와 마이크로서비스는 일관성과 분리 격리성이라는 구조적 딜레마를 내포하고 있다. ㅇ 데이터베이스 - 원자성: 모두 발생하거나 발생하지 않아야 하는 불가역적이고 돌이킬 수 없는 작업 세트 - 일관성: 같은 시간에 조회하는 데이터는 항상 동일한 데이터임을 보증 ㅇ 마이크로서비스 - 격리성: 서비스 단위를 분리를 통한 장애 분리 및 보안성 강화 이전에 이러한 딜레마를 손쉽게 처리할 수 있..
ㅁ 관련글 ㅇ [kubernetes] 쿠버네티스 목차 ㅇ 쿠버네티스 Docs - 애플리케이션에 데이터 주입하기 ㅁ 들어가며 쿠버네티스를 공부하면서 command와 env의 쓰임새와 문법이 다양함을 알 수 있었다. 그래서 예제를 중심으로 문법이 어떻게 쓰일 수 있는지 정리해 보았다. command와 env를 설명해 주는 쿠버네티스 Docs - 애플리케이션에 데이터 주입하기를 토대로 정리해 보았다. ㅁ 기본 command - 파드를 생성할 때 커맨드와 인자를 정의하기 # 기본 command: 인자값은 String이어야 한다. command: - sleep - "5000" # Array 형태 command: 환경변수를 프린트 command: ["printenv"] args: ["HOSTNAME", "KUBER..
ㅁ 관련 글 ㅇ [kubernetes] 쿠버네티스 목차 ㅇ [Kubernetes] Kubernetes환경에서 graceful shutdown이란 ㄴ Pod가 종료 시 서비스는 50X등의 기타 에러가 발생하면 안된다. ㄴ 기타 오류를 방지 하기 위한 graceful shutdown에 대해서 정리하였다. ㅇ [DevOps] 청록색 배포, A/B 테스트 및 카나리아 배포 ㄴ 클러스터 환경에서 배포의 방식을 이야기 할 때에 흔이 이야기되는 용어에 대해서 설명한 글이다. ㄴ 카나리, 블루그린 배포 방식에 대해서 기본적으로 알아두면 좋다. ㄴ 카나리는 일정비율로 배포한다는 점에서 RollingUpdate에 상응하고, 블루그린은 A와 B 그룹 중 하나를 통으로 배포한다는 점에서 Restart에 상응한다. ㅁ 들어가며..
[kubernetes] 쿠버네티스 목차 [kubernetes] 모니터링 방법 정리 ㅁ 들어가며 Pod의 애플리케이션의 로그를 분석하는 방법을 정리하였다. ㅁ 로그 분석 방법 # Pod 조회 $ k get po NAME READY STATUS RESTARTS AGE webapp-1 1/1 Running 0 8m22s # webapp-1 로그 조회 $ k logs webapp-1 .......... [2024-01-20 13:59:34,517] INFO in event-simulator: USER3 is viewing page2 [2024-01-20 13:59:35,518] INFO in event-simulator: USER4 is viewing page1 [2024-01-20 13:59:36,519] I..
[kubernetes] 쿠버네티스 목차 ㅁ Pod 삭제 $ kubectl delete po redis pod "redis" deleted ㅇ Pod를 삭제하는 명령어이다. ㅇ 다량의 Pod를 삭제할 경우 하나씩 하기가 번거러울 수 있다. ㅁ Pod 전체 삭제 $ kubectl get pods --no-headers | awk '{ print $1};' | xargs kubectl delete pods pod "nginx" deleted ㅇ Pod 정보를 조회하여 awk로 인수를 필터하고 xargs도 Pod별로 삭제 명령을 주면 전체 삭제가 가능하다. ㅇ 명령어가 어떻게 구동하는지 풀어서 설명하면... ㅁ 명령어 빌드업 과정 ## 테스트를 위한 minikube 기동 $ minikube start 😄 Dar..