본문 바로가기

Kubernetes(쿠버네티스)7

[Kubernetes] CKA 자격증 합격후기 (2023/02) 안녕하세요~ 잭피입니다! 2023년 2월 CKA(Certified Kubernetes Administrator) 시험에 응시하였고, 24시간 후 합격 통지를 받았습니다. 간단히 합격 후기를 작성해보겠습니다. CKA(Certified Kubernetes Administrator)? Linux Foundation 산하의 Cloud Native Computing Foundation(CNCF)에서 주관하며, 컨테이너 관리 도구인 쿠버네티스 클러스터의 관리 능력 검증을 목적으로 한다고 합니다 시험은 아래링크에서 신청할 수 있습니다 https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/ Certified Ku.. 2023. 2. 20.
[Kubernetes] Ch2. 워크로드 API 카테고리 - (4) Job, CronJob Job (잡) Jobs 잡은 컨테이너를 사용하여 한 번만 실행되는 리소스다 N개의 병렬로 실행하면서 지정한 횟수의 컨테이너 실행(정상종료)를 보장하는 리소스다 잡과 레플리카셋의 차이점? 가장 큰 차이점은 기동 중인 파드가 정지되는 것을 전제로 만들어졌는지다 기본적으로 레플리카셋 정지는 예상치 못한 에러다 반면 잡의 경우는 파드의 정지가 정상 종료되는 작업에 적합하다 ex) 파일 업로드, 배치처리 잡 생성 apiVersion: batch/v1 kind: Job metadata: name: sample-job spec: completions: 1 parallelism: 1 backoffLimit: 10 template: spec: containers: - image: amsy810/tools:v2.06 na.. 2022. 11. 26.
[Kubernetes] Ch2. 워크로드 API 카테고리 - (3) DaemonSet, StatefulSet 데몬셋(DaemonSet) 레플리카셋의 특수한 형태라고 할 수 있는 리소스다 레플리카셋은 각 노드에 파드를 배치할 때, 상황에 따라 배치된다 (모든 노드에 반드시 배치되지 않는다) 하지만 데몬셋은 각 노드에 파드를 하나씩 배치하는 리소스다 레플리카 수를 지정할 수 없고 하나의 노드에 두 개의 파드를 배치할 수도 없다 만약 배치하고 싶지 않은 노드가 있다면 스케줄링으로 예외 처리를 할 수 있다 쿠버네티스 노드를 늘렸을 때도 데몬셋의 파드는 자동으로 늘어난 노드에서 기동한다 따라서 데몬셋은 호스트 단위로 수집하는 Fluentd나 각 파드 리소스 사용 현황 및 노드 상태를 모니터링하는 Datadog 등 모든 노드에서 반드시 수행해야 하는 프로세스를 위해 사용하는 것이 유용하다 데몬셋 생성 apiVersion:.. 2022. 11. 23.
[Kubernetes] Ch2. 워크로드 API 카테고리 - (2) ReplicaSet, Deployment 레플리카셋 파드의 레플리카를 생성하고 지정한 파드 수를 유지하는 리소스입니다 레플리카셋이 생성하는 파드는 ‘레플리카셋 이름 - 임의의 문자열’로 명명 파드 정지와 자동화된 복구 레플리카셋에서는 노드나 파드에 장애가 발생했을 때, 지정한 파드 수를 유지하기 위해 다른 노드에서 파드를 기동시켜준다 이는 쿠버네티스의 중요한 콘셉트 중 하나로, ‘자동화된 복구’ 기능이다 레플리카셋 레이블 레플리카셋은 쿠버네티스가 파드를 모니터링하여 파드 수를 조정한다 모니터링은 특정 레이블을 가진 파드 수를 계산하는 형태로 이뤄진다 레플리카 수가 부족하면 매니페스트에 기술된 spec.template 파드를 생성하고, 레플리카 수가 더 많은 경우 레이블이 일치하는 파드 중 하나를 삭제한다 # 어떤 레이블을 가진 파드를 계산할지는.. 2022. 11. 21.
[Kubernetes] Ch2. 워크로드 API 카테고리 - (1) 파드 파드 워크로드 리소스의 최소 단위 파드는 1개 이상의 컨테이너로 구성 같은 파드에 포함된 컨테이너들끼리 네트워크적으로 격리되어 있지 않고 IP주소를 공유 즉, 파드 내부 컨테이너는 서로 localhost 통신이 가능하다 (컨테이너별이 아닌 파드 단위로 IP 주소가 할당) 파드 지다인 패턴 사이드카 패턴 (메인 컨테이너에 기능을 추가) 메인 컨테이너 외에 보조적인 기능을 추가하는 서브 컨테이너를 포함하는 패턴 ex1) 특정 변경 사항을 감지하여 동적으로 설정을 변경하는 컨테이너 ex2) 애플리케이션 로그 파일을 오브젝트 스토리지로 전송하는 컨테이너 파드는 데이터 영역을 공유하고 가지고 있을 수 있기 때문에 대부분 설정에 관련된 패턴 앰배서더 패턴 (외부 시스템과의 통신을 중계) 메인 컨테이너가 외부 시스템.. 2022. 11. 19.
[Kubernetes] Ch1. API 리소스와 Kubectl (2) 매니페스트 파일 설계 1개의 매니페스트 파일에 여러 리소스를 정의하거나 여러 매니페스트 파일을 동시에 적용할 수 있다 실행 순서를 정확하게 지켜야 하거나 리소스 간 결합도를 높이고 싶다면 1개의 매니페스트를 사용하는 것이 좋다 하지만 공통으로 사용하는 설정 파일이나 패스워드 등은 여러 리소스에서 사용되는 경우 별도 매니페스트로 분리하는 것이 좋다 어노테이션과 레이블 어노테이션 시스템 구성 요소가 사용하는 메타데이터 metadata.annotations로 설정 쉽게 설명하면, 리소스에 대한 메모 같은 것이다 3가지 용도로 사용된다 시스템 구성 요소를 위한 데이터 저장 모든 환경에서 사용할 수 없는 설정 정식으로 통합되기 전의 기능을 설정 레이블 리소스 관리에 사용하는 메타데이터 metadata.labels.. 2022. 11. 19.
[Kubernetes] Ch1. API 리소스와 Kubectl (1) 쿠버네티스 리소스 카테고리 워크로드 API 카테고리 : 컨테이너 실행에 관련된 리소스 서비스 API 카테고리 : 컨테이너를 외부에 공개하는 엔드포인트를 제공하는 리소스 컨피그 & 스토리지 API 카테고리 : 설정/기밀 정보/영구 볼륨 등에 관련된 리소스 클러스터 API 카테고리 : 보안이나 쿼터 등에 관련된 리소스 메타데이터 API 카테고리 : 클러스터 내부의 다른 리소스를 관리하기 위한 리소 워크로드 API 리소스 총 8가지 종류의 워크로드 리소스가 있으며, 클러스터 위에서 컨테이너를 기동하기 위해 사용되는 리소스이다 [파드, 레플리케이션 컨트롤러, 레플리카셋, 디플로이먼트, 데몬셋, 스테이트풀셋, 잡, 크론잡] 서비스 API 카테고리 컨테이너 서비스 디스커버리와 클러스터 외부에서도 접속이 가능한 엔드.. 2022. 11. 16.