푸잉이의 기술블로그

[Day7] Certified Kubernetes Administrator (CKA) with Practice Tests 본문

IT/Kubernetes

[Day7] Certified Kubernetes Administrator (CKA) with Practice Tests

data고수 2023. 1. 11. 01:34

76강. Multiple Schedulers

여러 스케줄러 배포 가능

어떤 것도 needs를 충족 시키지 못하면 -> pod를 node에 배치하기 위해 사용자 지정 조건을 추가

기본 default-scheduler

 

[Deploy additional scheduler]

Scheduler는 kube-scheduler 바이너리를 다운로드 후 서비스로 실행

addional scheduler를 실행하려면 kube-scheduler.service 파일 copy해서 파일명 바꾸기 --scheduler-name=옵션을 변경

--scheduler-name 옵션에 custom scheduler 이름 지정

--leader-elect=여러 scheduler 중 leader를 고르는데 도움

(여러개 master 존재 => True, 여러개 master 존재 X=> False)

--lock-object-name=leader election프로세스 동안 custom scheduler와 default를 구별하기 위한 옵션 

 

[Use cusom scheduler]

pod 생성 시 yaml spec 부분에 schedulerName으로 scheduler 지정

 

[View scheduler logs]

kubectl logs my-cusom-scheduler --name-space=kube-system

 

79강. Configuring Scheduler Profiles

  • Scheduling Queue에 pod 우선순위대로 쌓아놓기 
  • 가능한 node filtering  
  • Node별 scoring (가중치로 점수 매기기)
  • Binding phase

각 단계별 수행 플러그인 존재/ 각 stage마다 extension point 존재

pre-filter extension post filter pre-score 등 많은 option 존재

scheduler 안에 disabled, enabled로 조절

Scheduler (default or my-scheduler)구축을 돕고 스케줄링 로직의 요소를 공유하기 위해 스케줄링 프레임워크 구현

 

<Default scheduling algorithm>

  • Schedule: PreFilter 최대 NormalizeScore확장 지점 에서 플러그인을 사용하여 (Pod) 스케줄링을 담당하고, 평가된 노드 수 및 스케줄링에 적합한 노드 수와 같은 추가 정보와 함께 스케줄링 결정(가장 적합한 노드)을 포함하는 ScheduleResult 를 제공
  • Extenders: 현재 테스트용으로만 노출

 

Section4:Logging & Monitoring

83강. Monitor Cluster Components

어떻게 resource 소비를 모니터링하는가?

어떤 모니터링을 하고 싶은가?

모니터링하고 그것을 저장하고 이 데이터를 분석한 것을 제공하는 monitoring solution이 필요함

HAPSTER: 모니터링하고, 쿠버네티스를 위해 분석함, Reference online이 많음, 더이상 사용 x (deprecated)

METRICS SERVER: HAPSTER의 슬림다운 모델, 클러스터 하나당 메트릭스 서버 하나, in-memory monitoring solution

kubelet 은 cAdvisor (pod로부터 performance metric를 retrieving하기 위해 사용),  container Advisor가 있음

 

 

*in-memory computing

인-메모리 컴퓨팅 기술은 응용서비스의 클라우드화, 모바일화, 글로벌화로 인하여 발생하는 extreme transaction (빅데이터와 같이 예외적으로 많은 트랜잭션을 처리하는 것) 의 고성능 처리를 지원하기 위한 기반 기술로 활용이 확대됨. 

어떤 일을 하는데 있어서 최고의 성과를 얻기 위해서는 적절한 시점, 즉 실시간성이 중요.

애플리케이션이 운영을 위한 데이터를 하드 디스크가 아닌 메인 메모리에 올려 대량의 데이터를 저장하여 처리하는 서비스를 수행하는 것/ 휘발성 주기억장치로, 정전이나 전력이 끊기면 메모리에 저장된 방대한 데이터가 바로 사라짐. 

 

<View>

kubectl top node

kubectl top pod

 

86강. Managing Application Logs

  • -d : log 보기 싫을 때 사용
  • -f : live log trail
  • pod simulator도 -f를 사용하여 log's life으로 log 확인 가능 

Section5: Application Lifecycle Management

91강 Rolling Updates and Rollbacks

배포에서 updates와 rollback  

 

<Rollout and Versioning>

처음 배포를 하면, rollout이 trigger가 됨-> rollout은 새로운 deployment revision을 생성 (Revision 1)

-> 새로운 deployment revision이 trigger (Revision2))

---> 배포 이전 버전으로 가능하게 함 (Rollbacks)

 

<Rollout Command>

<Deployment strategy>

1. Recreate (삭제 한꺼번에, 업데이트 한꺼번에)

-> All PODS are taken down before upgrading any

2. Rolling update (하나씩 업데이트, 삭제 업데이트, 삭제)

-> PODs are upgraded few at a time

 

<Rollback>

<command 요약>

 

Comments