쿠버네티스(5) : CTL

NOHHYEONGJUN·2024년 9월 7일

쿠버네티스

목록 보기
6/23

Liveness-probes

  • K8S는 liveness Probe를 통해 컨테이너의 Health Check를 수행
  • Health Check가 실패할 경우, POD를 다시 시작

 

Probe Type

  1. HTTP GET : 지정된 IP/PORT에 HTTP GET을 수행
  2. TCP Socket : 지정된 IP/PORT에 TCP 연결을 수행
  3. EXEC : 컨테이너 내부에서 명령어를 실행, 종료 코드를 확인

 

공통 설정 (기본값)

  • initialDelaySeconds : pod 가 시작되고 최초의 liveness probe가 수행되기 까지 대기시간 (0s)
  • periodSeconds: probe가 수행 되는 간격 (10s)
  • timeoutSeconds : 지정된 시간 안에 응답을 반환 해야 성공으로 간주 (1s)
  • successThreshold : probe가 실패한 이후에 지정된 횟수 만큼 성공 할 경우 성공으로 간주 (1s)
  • failureThreshold : probe가 지정한 개수 만큼 연속으로 실패하는 재가동 실행 (3s)

 

HTTP 추가 설정 (기본값)

  • host : 접속할 호스트명. httpHeaders 에 설정 해도 무방 (POD IP)
  • scheme : 접속 방법 선택. HTTP 또는 HTTPS (HTTP)
  • path : HTTP 서버 접속 경로
  • httpHeaders : request 의 커스텀 헤더. 설정
  • port : 접속할 컨테이너의 포트 넘버 또는 이름 (1~ 65536 사이값)

 

 

 


Replication Controller

Replication Controller는 어떠한 이유로 POD가 사라지게 되면 대체 할 POD를 생성

  1. RC는 사라진 Pod B를 대체할 새로운 Pod B2를 다른 노드에 생성
  2. RC가 없는 Pod A는 완전히 사라짐
  3. RC는 지속적으로 모니터링하고 지정된 개수가 맞는지 지속적으로 체크

 

RC 구성 요소

• RC 범위에 있는 포드를 결정하는 라벨 셀렉터를 사용
• 실행해야 하는 POD의 원하는 수를 지정하는 복제본 수
• 새로운 POD 복제본을 만들때 사용해야 하는 POD Template

 

Pod Template 변경

  • Pod Template 은 언제든지 수정 가능
  • Pod 수정 시점이 아니라 새로운 Pod 가 생성 되는 시점에 적용

 

RC 장점

  • Pod가 없을 경우, 새 Pod를 시작해 항상 실행 되도록 유지
  • 특정 노드에 장애가 발생하더라도 해당 노드의 모든 Pod를 다른 노드에서 동일한 개수로 재 실행
  • 손 쉬운 스케일링 가능

 

RC 생성


 

 

 


ReplicaSet

  • Replication Controller 를 대체 하기 위해 등장
  • 일반적으로 ReplicaSet을 직접 생성 하기 보다 Deployment 를 이용해서 생성
  • Replication Controller 와 동일하게 동작 하지만 풍부한 표현 식을 통해 POD를 선택 가능
  • 표현식에는 matchLabelsmatchExpressions

 

연산자

  1. In : 라벨값이 지정된 값 중 하나와 일치해야 함
  2. NotIn : 라벨 값이. 지정된 값과 일치해서는 안됨
  3. Exists : Pod에 지정된 키가 있는 라벨이 포함 되야 함(값은 중요하지 않음)
  4. DoesNotExist : Pod에 지정된 키다 있는 라벨이 포함 되면 안됨(Value 속성 지정 하면 안됨)

 

RC vs RS

 

RS LifeCycle

 

RS 조회 및 삭제

조회

$kubectl get rs

 

세부 사항 조회

$kubectl describe rs <ReplicaSet-Name>

 

삭제 (Pod 포함 삭제)

$kubectl delete rs <ReplicaSet-Name>

 

삭제 (Pod 미 포함 삭제)

$kubectl delete rs <ReplicaSet-Name> --cascade=orphan

profile
Cloud/DevOps & Network Virtualization에 관심 있는 Engineer입니다. 🐳⚓️👨‍✈️

0개의 댓글