쿠버네티스
12. CKA udemy 강의 정리 - Section 6 [Cluster Maintenance]
0. OS Upgrades "pod-eviction-timeout" kube-controller-manager에 전달된 인수(default=5분) 보다 더 길게 Unknown 또는 False로 유지되는 경우, 노드 상에 모든 파드는 노드 컨트롤러에 의해 삭제되도록 스케줄 되는 것 유지 관리의 목적으로 클러스터의 일부 소프트웨어를 업그레이드 하거나 패치를 적용할 때 등의 이유로 노드가 다운되었을 때 노드 안에 있는 파드에 접근할 수 없게 된다. 이때 노드가 죽어있는 시간이 5분 이상일 경우, 쿠버네티스는 노드가 죽었다고 판단하여 노드 안에 있는 파드는 종료 된다. 만일 replicaset의 자동복구화 기능 때문에 파드 수가 유지된다면 해당 파드는 다른 노드에서 파드를 기동시켜주기 때문에 영향 받지 않는다...
11. CKA udemy 강의 정리 - Section 5 [Application Lifecycle Management]
0. 디플로이먼트 업데이트 전략 (Recreate, RollingUpdate) 업데이트를 지정하는 spec.strategy.type의 기본값은 RollingUpdate이나, 또 다른 방법으로는 Recreate가 있다. 먼저 디플로이먼트는 여러 레플리카셋을 관리하여 롤링 업데이트나 롤백 등을 구현하는 리소스이다. 디플로이먼트가 레플리카셋을 생성하고 레플리카셋이 파드를 생성하는 순으로 동작한다. Recreate recreate는 모든 파드를 한번 삭제하고 다시 생성하기 때문에 다운타임이 발생하지만, 추가 리소스를 사용하지 않고 전환이 빠른 장점이 있다. deployment.yaml 파일의 spec.strategy.type: Recreate로 지정해주면 된다. 업데이트 구조) 기존의 레플리카셋을 0으로 바꾼 ..
10. CKA udemy 강의 정리 - Section 4 [Logging&Monitoring]
쿠버네티스는 여러 노드에 걸쳐 대량의 컨데이터가 작동한다. $ kubelet top 명령어 로 메트릭을 볼 수는 있지만 이것만으로 실제 쿠버네티스 클러스터를 운영하기에는 부족하기 때문에 모니터링 도구 SaaS(software as a service)를 사용한다. 예) Prometheus, Elastic Stack, Datadog, Dynatrace 모니터링 컴포넌트 소개 더보기 cAdvisor: kubelet에 포함되어 노드, 파드, 컨테이너의 리소스 사용률을 수집하는 모듈 metrics server: cAdvisor로부터 정보를 수집하는 도구로, 리소스 메트릭 파이프라인은 metrics server의 정보를 활용함 (이 역할을 수행하던 heapster는 쿠버네티스 버전 1.11부터 더 이상 사용되지 않..
9. CKA udemy 강의 정리 - Section 3 [Scheduling]
1.Manual Scheduling 스케쥴러가 없을 시에 파드를 직접 노드에 수동으로 할당해야한다. nodeName nodeName은 어피니티 또는 nodeSelector보다 더 직접적인 형태의 노드 선택 방법이다 pod 파일에 nodeName을 설정 해주면 파드를 생성하는 동안 파드가 지정된 노드에 할당된다. 또다른 방법 > 이미 배포한 pod를 직접 스케줄링하려면 Binding 리소스를 만들고 직접 api 요청을 해야 한다 nodeName 을 사용해서 노드를 선택할 때의 제한 사항 몇가지 nodeName에 해당하는 node가 없다면, 파드가 실행되지 않고 따라서 자동으로 삭제될 수 있다. nodeName에 해당하는 node에 파드를 수용할 수 있는 리소스가 없는 경우 파드가 실패하고, 그 이유는 다음..