일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Algorithm
- devops
- MySQL
- MSA
- 클라우드 네이티브
- 헬름
- 쿠버네티스
- cloud native java
- CRD
- java
- 클라우드 네이티브 자바
- spring microservice
- Microservice
- Semaphore
- 마이크로서비스
- Adapter 패턴
- 머신러닝
- 자바
- 익명클래스
- 동기화
- Kotlin
- kubernetes
- Spring
- cloud native
- decorator 패턴
- 코틀린
- Stress test
- nGrinder
- ingress
- ansible
- Today
- Total
목록쿠버네티스 (11)
카샤의 만개시기
컨테이너된 App은 스턱(Stuck) 상태에 빠지곤 하는데, 이러한 상황을 감지하고 재시작하여 문제를 해결할 수 있어야한다. 활성 프로브 (liveness probe) 컨테이너가 정상적으로 작동하는지 확인하기 위해 헬스 체크를 컨테이너 스펙에 지정할 수 있다. App이 HTTP 응답코드에 2xx나 3xx 상태 코드를 반환할 경우 활성 상태로 판단하고 다른 값으로 응답하거나 응답하지 않으면 컨테이너가 죽은 것으로 판단하고 컨테이너를 재시작한다. livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 3 periodSeconds: 3컨테이너가 시작하자 마자 활성 상태를 체크할 경우 어플리케이션은 준비중이기 때문에 응답 코드를 반환하지 못..
헬름은 쿠버네티스 리소스 집합을 나타내는 차트를 관리하기 위한 패키지 매니저이다. 쿠버네티스 서비스를 운영하기 위해서는 Phase(dev,stage,prod 등) 별로 클러스터를 구성하기도 하고 미들웨어를 컨피그맵, 인그레스 등 여러 종류의 리소스를 조합하는 형태로 배포하는데 각 Phase마다 혹은 조합마다 메타 정보들이 많이 달라지게 된다. 그럴때 각 환경마다 매니페스트를 작성하여 관리한다면 관리 포인트가 너무나 많아질 것이기 때문에 배포 환경에 따라 달라지는 설정 값들만 정의하여 배포하는 매커니즘이 헬름이다. Helm 구조 헬름은 클라이언트와 서버(Tiller)로 구성된다. helm client : 사용자를 위한 CLI client tiller : 서버는 클라이언트로부터 전달받은 명령에 따라 클러스터..
컨트롤 플레인 클러스터의 두뇌 역활을 수행하며 컨테이너 스케줄링, 서비스 관리, API 관리 요청 처리 등의 작업을 수행한다. 컨트롤 플레인 컴포넌트는 클러스터 내 마스터 노드에서 실행된다. kube-apiserver 컨트롤 플레인의 프론트엔드 서버로 API 요청을 처리하며 모든 통신은 kube-apiserver가 중심이다. 특히 etcd에는 kube-apiserver만 접근 가능하다. etcd 어떤 노드와 리소스가 존재하는지 저장하는 key-value 데이터베이스. etcd는 서버 하나당 프로세스 1개만 사용할 수 있으므로, 보통 etcd자체를 클러스터링한 후 여러개 마스터 서버에 분산해서 실행해 데이터의 안정성을 보장한다. kube-scheduler 대기열에서 스케줄링되지 않은 파드를 찾아 생성하고 ..