융무의 기술블로그
article thumbnail
Certified Kubernetes Application Developer (CKAD) 합격 후기

쿠버네티스로 실무를 할 수 있을 거 같아서 미리 연초에 CKA를 준비하였고 쿠버네티스 관련된 책을 읽으면서 기본적인 지식은 있었습니다. 현재 내부사정으로 쿠버네티스 실무를 하고 있지는 않지만 gke 상에서 쿠버네티스를 활용해서 데이터 파이프라인 환경을 구성하면서 CKAD를 병행하면서 개념을 다시 잡으면 좋을 거 같아 시험을 보게 되었습니다. 11월 말에 사이버먼데이를 활용해 시험 50% 할인을 받았습니다. CKAD 시험과 관련된 후기를 남기고자 합니다. 시험 준비 시험 준비 기간은 3주 정도 소요되었으며 쿠버네티스 실무 경험은 없지만 CKA 자격증이 있었고 쿠버네티스 관련된 서적을 읽어서 기본적인 지식이 있는 상태였습니다. 또한 쿠버네티스 기반 사이드 프로젝트를 하고 있어서 시험을 준비하는데 많은 시간은..

article thumbnail
쿠버네티스 인 액션 - 마르코 룩샤
책 리뷰 2023. 5. 7. 21:52

이 책은 Mumshad Mannambeth의 Certified Kubernetes Administrator (CKA) with Practice Tests 강의를 수강하고 CKA 시험에 합격한 뒤에 쿠버네티스에 대해 딥다이브하기 위해 읽게 되었습니다. 책과 관련된 주요 개념의 내용은 Kubernetes 정리에서 확인할 수 있습니다. 이 책은 크게 3 부분으로 구성되어 있습니다. 도커와 쿠버네티스를 간략하게 소개하고 쿠버네티스 클러스터를 설치하는 방법과 간단한 애플리케이션을 실행하는 방법, 쿠버네티스에서 애플리케이션을 실행하기 위해 반드시 이해해야 하는 핵심 개념, 쿠버네티스 클러스터의 내부를 깊이 들여다보며 몇 가지 추가적인 개념을 소개로 구성되어 있습니다. 이 책은 파드와 레플리케이션컨트롤러, 레플리카셋..

article thumbnail
[kubernetes] 쿠버네티스와 오브젝트 모델

CKA 자격증 획득 이후 추후 실무를 위한 개념정리를 위해 포스팅된 글입니다. 쿠버네티스와 오브젝트 모델 마스터와 노드 쿠버네티스는 크게 마스터와 노드 두개의 컴포넌트로 분리 쿠버네티스 마스터 전체 쿠버네티스 시스템을 제어하고 관리하는 쿠버네티스 컨트롤 플레인을 실행합니다. 즉 쿠버네티스의 설정 환경을 저장하고 전체 클러스터를 관리하는 역할입니다. etcd, kube-apiserver, kube-scheduler, kube-controller-manager 쿠베네티스 노드 실제 배포되는 컨테이너 애플리케이션을 실행합니다.실제 사용자가 사용하는 컨테이너들은 대부분 노드에서 실행합니다. 노드나 파드나 컨테이너처럼 쿠버네티스 위에서 동작하는 워크로드를 호스팅 하는 역할 노드에서 kubelet, kube-pro..

article thumbnail
[kubernetes] Deployment

CKA 자격증 획득 이후 추후 실무를 위한 개념정리를 위해 포스팅된 글입니다. 디플로이먼트: 선언적 애플리케이션 업데이트 쿠버네티스에서는 일반적으로 Replication Controller(RC)를 이용해서 배포하지 않고 Deployment라는 개념을 사용합니다. 복제된(replicated) 애플리케이션을 관리하는 API 객체입니다. ReplicatSet(+Pod)을 생성합니다. 롤릴 업데이트 등을 할 때 RC를 두 개를 만들어야 하고 하나씩 Pod의 수를 수동으로 조정해야 하기 때문에 이를 자동화 해서 추상화한 개념이 Deployment입니다. 기본적으로 Replication Controleer (RC)를 생성하고 이를 관리하는 역할입니다. 특징 쿠버네티스가 애플리케이션의 인스턴스를 어떻게 생성하고 업..

article thumbnail
[kubernetes] Configmap & Secret

CKA 자격증 획득 이후 추후 실무를 위한 개념정리를 위해 포스팅된 글입니다. 컨피그맵과 시크릿: 애플리케이션 설정 쿠버네티스에서는 설정 옵션을 컨피그맵이라 부르는 별도 오브젝트로 분리할 수 있습니다. 컨피그맵은 짧은 문자열에서 전체 설정 파일에 이르는 값을 가지는 키/값 쌍으로 구성된 맵입니다. 컨테이너에서 필요한 환경설정 내용을 컨테이너와 분리해서 제공해 주기 위한 기능 : 클라우드 네이티브 아키텍처에서 컨테이너는 변하지 않는 자원 비기밀 데이터를 키-값 쌍으로 저장하기 위해 사용하는 API 객체 컨테이너 이미지에서 설정 데이터를 분리(decouple)시키기 위한 것 컨테이너 이미지에서 사용하는 환경변수와 같은 세부 정보를 분리하고, 그 환경변수에 대한 값을 외부로 노출 시키지 않고 내부에 존재하는 ..

article thumbnail
[kubernetes] Volume

CKA 자격증 획득 이후 추후 실무를 위한 개념정리를 위해 포스팅된 글입니다. 볼륨: 컨테이너에 디스크 스토리지 연결 스토리지 볼륨은 파드와 같은 최상위 리소스는 아니지만 파드의 일부분으로 정의되며 파드와 동일한 라이프사이클을 가집니다. 파드가 시작되면 볼륨이 생성되고, 파드가 삭제되면 볼륨이 삭제된다는 것을 의미합니다. 볼륨 쿠버네티스 볼륨은 파드의 구성 요소로 컨테이너와 동일하게 파드 스펙에서 정의됩니다. 볼륨은 독립적인 쿠버네티스 오브젝트가 아니므로 자체적으로 생성, 삭제될 수 없습니다. 데이터를 담는 디렉터리로 Pod 내 컨테이너들이 접근가능합니다. Pod에 소속되는 동안 유지됩니다. Pod 내에서 구동되는 컨테이너들보다 오래 유지되며, 그 데이터는 컨테이너가 재시작되더라도 계속 보존됩니다. iS..

article thumbnail
[kubernetes] Service

CKA 자격증 획득 이후 추후 실무를 위한 개념정리를 위해 포스팅된 글입니다. 서비스: 클라이언트가 파드를 검색하고 통신을 가능하게 함 서비스 Pod 집합과 같은 애플리케이션들에 접근하는 방법을 기술하는 API 객체 쿠버네티스의 서비스는 동일한 서비스를 제공하는 파드 그룹에 지속적인 단일 접점을 만들려고 할 때 생성하는 리소스로 각 서비스는 서비스가 존재하는 동안 절대 바뀌지 않는 IP 주소와 포트가 있습니다. 클라이언트는 해당 IP와 포트로 접속한 다음 해당 서비스를 지원하는 파드 중 하나로 연결됩니다. Service의 Cluster IP를 통해 유동적으로 생성되고 사라지는 Pod에 접근하기 위한 방법으로 사용합니다. ClusterIP , NodePort , LoadBalancer 타입 제공하며 기본 ..

article thumbnail
[kubernetes] ReplicationController & ReplicaSet

CKA 자격증 획득 이후 추후 실무를 위한 개념정리를 위해 포스팅된 글입니다. 레플리케이션과 그 밖의 컨트롤러: 관리되는 파드 배포 레플리케이션 컨트롤러(rc) apiVersion: v1 kind: ReplicationController metadata: name: kubia spec: replicas: 3 selector: app: kubia template: metadata: labels: app: kubia spec: containers: - name: kubia image: luksa/kubia ports: - containerPort: 8080 레플리케이션 컨트롤러는 쿠버네티스 리소스로서 파드가 항상 실행되도록 보장합니다. 클러스터에서 노드가 사라지거나 노드에서 파드가 제거된 경우, 레플리케이션..