- 리소스 할당
-- requests: 구동에 필요한 최소 리소스. 만족하는 node가 없는 경우 대기
-- limits: 최대로 사용 가능한 리소스. 초과하는 경우 pod가 종료되면 다시 스케줄링됨
-- overcommit: 리소스 limit의 합계가 해당 node의 리소스를 초과할 수 있음
- 리소스 상태 검사
-- stuck 상태: 프로세스가 실행중이나 요청을 처리하지 못하는 상태
--- initialDelaySeconds: container 시작 직후의 health check를 피하기 위한 딜레이 설정
--- periodSeconds: 검사 주기
-- liveness probe: container에 대한 health check, 재실행
--- httpGet: http 요청의 응답 코드 체크
--- tcpSocket: tcp 연결 여부 체크
-- readiness probe: 대기 시간이 긴 경우 사용. 완료되지 않으면 container가 pod에서 제거. zero downtime upgrade에 사용
--- exec: 명령어 리턴 코드 체크
--- minReadySeconds: 일정 시간동안 ready 상태가 되지 않음. 수 초 후 생기는 오류 예방
-- grpc probe: 구글의 바이너리 네트워크 프로토콜
-- PodDisruptionBudgets: 한번에 제거 가능한 pod의 양 설정
--- minAvailable: 실행이 보장되어야 하는 최소 개수
--- maxUnavailable: 퇴출 가능한 최대 개수 및 비율
- namespace: 삭제 시 모든 리소스 삭제. 리소스는 별도로 관리되나 각 서비스를 통해 통신은 가능
-- ResourceQuota: namespace별 리소스 제한
--- LimitRange: namespace 내 모든 container의 리소스 제한 기본값 설정 (안전장치)
-- vertical pod autoscaler: 자동으로 pod 리소스를 조절하는 애드온
. metadata에 annotation을 설정하여 리소스 소유자를 명시하면 좋다
'Infra > [도서] Cloud Native DevOps with Kubernetes' 카테고리의 다른 글
4. 쿠버네티스 오브젝트 (0) | 2022.12.02 |
---|---|
3. 쿠버네티스 구축하기 (0) | 2022.12.01 |