본문 바로가기

전체 글

(568)
[CKA] 시험 준비 자료 (Summary) 지금까지 CKA를 준비하며 여러 자료들을 참고하고, 여러 글을 작성하게 되었다.이번에는 참고한 자료들과 글을 정리하는 시간을 가져보도록 한다.참고 자료kubectl 치트 시트 (편리한 커맨드 정리) kubectl 치트 시트이 페이지는 일반적으로 사용하는 kubectl 커맨드와 플래그에 대한 목록을 포함한다. Kubectl 자동 완성 BASH source kubernetes.ioLinux Foundation FAQs (공식 FAQs) Important Instructions: CKA and CKAD | T&C DOCS (Candidate Facing Resources)CKA PROGRAM CHANGES PLEASE NOTE: The changes to the Certified Kubernetes Admin..
[CKA] JSON Path JSON Path이번 장에서는 Certified Kubernetes Administrator (CKA) 을 준비하며 "JSON Path를 활용하는 방법"에 대해서 알아보도록 한다.JSON PathJSON Path의 필요성대규모 환경에서의 정보 추출: 수백 개의 노드와 수천 개의 오브젝트(Pod, Deployment, Service 등)가 존재하는 프로덕션 환경에서 필요한 정보를 효율적으로 추출해야 한다.특정 필드 및 조건 기반 데이터 추출: 모든 리소스의 특정 필드 값, 특정 조건에 맞는 리소스의 데이터 등 복잡한 요구사항을 충족해야 한다.데이터 필터링 및 포맷팅: 대량의 데이터를 원하는 형식으로 필터링하고 포맷팅하여 가독성을 높여야 한다.kubectl과 Kubernetes API의 작동 방식kubect..
[CKA] Troubleshooting Troubleshooting이번 장에서는 Certified Kubernetes Administrator (CKA) 을 준비하며 "문제를 해결하는 방법들"에 대해서 알아보도록 한다.Application Failure문제 해결 접근 방식의 중요성체계적인 접근: 장애 발생 시 당황하지 않고 체계적인 문제 해결 과정을 따르는 것이 중요하다.애플리케이션 아키텍처 이해: 애플리케이션의 구성 요소와 연결 관계를 정확히 이해하고 있어야 한다.단계별 검증: 각 구성 요소의 상태를 단계별로 검증하여 문제의 근본 원인을 찾아야 한다.2티어 애플리케이션 예시구성 요소:웹 서버(Web Pod): 사용자 요청을 처리하고 데이터베이스 서버와 통신한다.데이터베이스 서버(DB Pod): 데이터를 저장하고 웹 서버의 요청에 응답한다.웹..
[CKA] Kustomize (Advanced) Kustomize이번 장에서는 Certified Kubernetes Administrator (CKA) 을 준비하며 "Kustomize의 심화 내용들"에 대해서 알아보도록 한다.다중 디렉토리 관리여러 디렉토리의 쿠버네티스 매니페스트 관리초기에는 모든 쿠버네티스 매니페스트 파일이 하나의 디렉토리(예: k8s/)에 있다.파일 수가 증가함에 따라 관리가 어려워져서 관련 파일들을 하위 디렉토리로 분리하게 된다. (예: k8s/api/, k8s/database/)하위 디렉토리로 분리된 매니페스트 파일을 배포하려면 각 디렉토리로 이동하여 kubectl apply -f 명령어를 실행해야 한다.디렉토리 수가 증가하면 배포 및 관리가 번거로워진다.Kustomize를 사용한 해결 방법 (1): 루트 kustomizatio..
[CKA] Kustomize (Basic) Kustomize이번 장에서는 Certified Kubernetes Administrator (CKA) 을 준비하며 "Kustomize의 기본적인 내용들"에 대해서 알아보도록 한다.Kustomize 개요Kustomize의 필요성쿠버네티스 환경에서 애플리케이션을 여러 환경(개발, 스테이징, 프로덕션 등)에 배포할 때 환경별로 다른 설정이 필요하다.기존 방식(환경별 디렉토리 복사)은 설정 중복 및 관리의 어려움을 야기한다.Kustomize는 설정 재사용 및 환경별 맞춤 설정을 위한 솔루션을 제공한다.기존 방식의 문제점환경별 디렉토리 복사:각 환경별로 쿠버네티스 설정 파일(YAML)을 복사하여 관리한다.환경별로 설정 파일의 일부 값(예: replicas)을 수정한다.kubectl apply -f 명령어를 사..
[CKA] Helm Helm이번 장에서는 Certified Kubernetes Administrator (CKA) 을 준비하며 "Helm"에 대해서 자세하게 알아보도록 한다.Helm 개요쿠버네티스의 복잡성쿠버네티스 애플리케이션은 여러 상호 연결된 객체(Deployment, PersistentVolume, Service, Secret 등)로 구성된다.각 객체는 별도의 YAML 파일로 정의되며, kubectl apply를 사용하여 하나씩 생성해야 한다.이 과정은 복잡하고 시간이 오래 걸리며, 특히 대규모 애플리케이션의 경우 더욱 그렇다.YAML 파일 관리의 어려움YAML 파일은 인터넷에서 다운로드한 후 사용자 정의를 위해 수정해야 하는 경우가 많다.여러 YAML 파일에서 값을 변경하는 것은 번거롭고 오류 발생 가능성이 높다.애..
[CKA] 클러스터 설계 Cluster Design이번 장에서는 Certified Kubernetes Administrator (CKA) 을 준비하며 "클러스터 아키텍처를 디자인하는 방법"에 대해서 자세하게 알아보도록 한다.클러스터 설계클러스터 설계 전 고려 사항클러스터의 목적학습, 개발, 테스트, 운영 등클라우드 도입 수준클라우드 제공업체 관리 플랫폼 사용, 자체 호스팅 등워크로드 유형클러스터에서 실행될 워크로드의 종류호스팅 될 애플리케이션의 수웹 애플리케이션, 빅데이터, 분석 등지속적인 트래픽 또는 버스트 트래픽 등 네트워크 트래픽 유형 고려클러스터 유형별 설계학습 목적:Minikube 또는 Kubeadm을 사용한 단일 노드 클러스터 (로컬 VM 또는 클라우드 환경)개발 및 테스트 목적:단일 마스터 및 다중 워커 노드로 구성..
[CKA] Networking (Gateway API) Networking (Gateway API)이번 장에서는 Certified Kubernetes Administrator (CKA) 을 준비하며 "Gateway API"에 대해서 자세하게 알아보도록 한다.Gateway API멀티 테넌시 문제단일 Ingress 리소스: 여러 서비스가 하나의 Ingress 리소스를 공유하는 경우, 각 서비스가 다른 팀이나 조직에 의해 관리된다면 충돌이 발생할 수 있다.협업의 어려움: 예를 들어, wear 서비스는 팀 A가, video 서비스는 팀 B가 관리하는 경우, 단일 Ingress 리소스를 공유하고 수정하는 과정에서 협업이 어려워지고 충돌이 발생할 수 있다.멀티 테넌시 지원 부족: Ingress는 멀티 테넌시 환경을 충분히 지원하지 못한다.규칙 설정의 제한 사항L7 기반..