본문 바로가기

전체 글

[K8S] CKA 시험 정리 시험범위 (2025.02.18 부터 변경된 내용): https://github.com/cncf/curriculumhttps://blog.techiescamp.com/cka-exam-updates/  Storage – 10%Implement storage classes and dynamic volume provisioning: StorageClassConfigure volume types, access modes and reclaim policies: StorageManage persistent volumes and persistent volume claims: PV-PVC  Troubleshooting – 30%Troubleshoot clusters and nodes: Worker-Node-Failure.. 더보기
[K8S] StorageClass StorageClass는 동적인 스토리지 프로비저닝(Dynamic Provisioning)을 관리하는 방식을 정의하는 리소스이다.즉, PVC(PersistentVolumeClaim)가 요청할 때 어떤 유형의 스토리지를 사용할지 결정하는 역할을 한다. Public Cloud 환경에서 필수 항목이다. (on-premise 환경에서는 필수가 아님) ✅ 스토리지 동적 생성 가능 (수동으로 PV를 생성할 필요 없음)✅ 다양한 스토리지 백엔드를 지원 (AWS EBS, Google Persistent Disk, NFS 등)✅ 리소스 자동 할당 가능 (PVC가 요청하면 자동으로 스토리지 생성)✅ 스토리지 종류에 따라 성능 및 정책을 다르게 설정 가능 StorageClass에는 해당 StorageClass에 속하는 PV.. 더보기
[K8S] Gateway API Gateway API는 Kubernetes 네트워크 트래픽을 제어하는 새로운 표준 API로, 기존의 Ingress 및 Service Mesh를 대체하거나 보완하는 역할을 한다. Ingress보다 더 강력한 기능 제공 (다양한 트래픽 라우팅 기능) L4 (TCP, UDP) + L7 (HTTP, HTTPS) 트래픽 제어 가능클러스터 내외부 트래픽을 유연하게 관리 가능여러 Gateway 구현체(NGINX, Envoy, Traefik 등)와 호환됨rf. 기존 Kubernetes의 Ingress는 L7(HTTP/S) 트래픽만 처리 가능rf. Gateway API는 L4(Layer 4)와 L7(Layer 7) 모두 지원 Gateway API는 기존 Ingress보다 더 많은 리소스 개념을 도입하여 트래픽을 유연하게.. 더보기
[K8S] Autoscaling - VPA 🍀 In-place Resize of Pod Resource kubernetes v1.27 의 alpha버전부터 사용 가능하며, pod나 container를 restart 하는 것 없이 CPU와 memory를 resizing 하는 방법이다. InPlacePodVerticalScaling feature gate $ FEATURE_GATES=InPlacePodVerticalScaling=trueYAMLspec: containers: - name: qos-demo-ctr-5 image: nginx resizePolicy: - resourceName: cpu restartPolicy: NotRequired - resourceName: memory restartPoli.. 더보기
[K8S] Autoscaling - HPA Manually scale기존의 Manual Scaling  방식은 실시간으로 리소스 사용량을 모니터링해야하고, 스케일 업/다운을 위해 매뉴얼로 명령을 실행해야 한다. 하지만 이는 트래픽 급증에 빠르게 대응하지 못할 가능성이 존재한다.→ 이를 해결하기 위해 AutoScaling을 사용하기 시작했다.# kubectl scale 명령어$ kubectl scale deployment my-app --replicas=3kubectl scale 명령어는 Deployment와 Statefulset을 모두 scaling하는 데 사용할 수 있다.  🍀 AutoScaling AutoScaling은 클러스터의 리소스 사용량과 트래픽 변화에 따라 자동으로 Pod 또는 노드를 확장하거나 축소하는 기능이다.  Horizont.. 더보기
[K8S] Mutating/Validating Admission Controller Validating Admission Controller는 kube-apiserver에서 클러스터로 들어오는 요청을 검토하여 정책에 부합하지 않는 요청을 거부하는 기능을 수행하는 플러그인이다. 즉, 잘못된 설정이 적용되는 것을 사전에 차단하여 클러스터의 보안과 안정성을 유지할 수 있다.  Admission Webhook Server는 API 서버의 요청 처리 과정 중에 개입하여 요청을 검증하거나 변환하는 확장 메커니즘이다. Mutating Webhooks: API 서버가 최초 요청을 수신한 후, 인증 및 권한 부여가 완료된 다음 가장 먼저 호출된다. (이 단계에서 요청 객체가 수정 될 수 있다.)Validating Webhooks: 모든 변이(Mutating)가 완료된 후, 최종 객체에 대한 유효성을 검.. 더보기
[K8S] Admission Controller Admission Controller는 kube-apiserver에서 요청을 가로채어 정책을 적용하거나 변경을 가할 수 있는 플러그인 시스템이다. 즉, 클러스터 내부에서 실행될 리소스(Pod, Deployment 등)를 검토하고 승인(또는 거부)하는 역할을 한다.✅ 보안, 정책 관리, 리소스 제어 등에 사용됨 보안 정책 적용 → root 권한 제한, 특정 네임스페이스 제어자동화된 정책 관리 → Pod 자동 라벨링, 사이드카 자동 추가리소스 관리 최적화 → 특정 리소스 사용량 제한하지만 어떠한 authenticate 관련 기능도 하지 않는다.✅ Kubernetes API 요청이 etcd에 저장되기 전에 실행됨✅ Mutating(수정)과 Validating(검증) 컨트롤러로 구분됨 📖 Admission C.. 더보기
[K8S] Kustomize Overlay/Components OverlaysOverlays(오버레이)는 기본 배포 설정(Base)을 유지하면서 환경별(개발/운영 등)로 일부 설정을 변경할 수 있도록 도와주는 기능으로, 기본 YAML을 직접 수정하지 않고 환경별로 변경 사항만 적용하는 방법이다. [실습 1 ]📄base/# kustomization.yamlresources: - api-deployment.yaml - db-configMap.yaml - mongo-depl.yaml # mongo-depl.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: mongo-deploymentspec: replicas: 1 selector: matchLabels: component: mongo temp.. 더보기