본문 바로가기
Infra & Cloud/DevOps

[Kubernetes] CKA(Certified Kubernetes Administration) 자격증 후기/접수 방법/출제 범위/할인바우처 (+CKAD, CKS 소개)

by newstellar 2022. 11. 26.
반응형
CNCF(Cloud Native Computing Foundation) 재단에서 주관하는 CKA(관리), CKAD(개발), CKS(보안) 세 자격증 가운데, 가장 대표적인 CKA 자격증에 대해 알아봅니다. 접수 및 시험 예약 방법, 추천하는 강좌 그리고 무지막지한 시험 접수비('22년 11월 기준 375$)에서 조금이나마 할인받을 수 있는 방법을 알아봅시다.

 

1. CNCF 주관 자격증 소개
2. CKA 접수 및 예약
3. CKA 준비 및 쿠버네티스 공부 방법
4. CKA/CKAD/CKS 할인 바우처

CNCF 자격증 3대장 : CKA, CKAD, CKS

1. CNCF 주관 자격증 소개

  1) CKA(Certified Kubernetes Administrator)

    - 설명 / 역량

  • 공인 쿠버네티스 관리자
  • 쿠버네티스 관리자 직무을 수행할 수 있는 기술, 지식과 역량을 갖추고 있는지를 평가
  • Kubernetes 기반 시스템을 운영/관리할 수 있는 지식 및 기술을 평가
  • 프로덕션 등급의 쿠버네티스 클러스터를 구성하고 관리

 

    - 출제 범위 / 비중

  •   Storage (10%)
    - Understand storage classes, persistent volumes
    - Understand volume mode, access modes and reclaim policies for volumes
    - Understand persistent volume claims primitive
    - Know how to configure applications with persistent storage

  •   Troubleshooting (30%)
    - Evaluate cluster and node logging
    - Understand how to monitor applications
    - Manage container stdout & stderr logs
    - Troubleshoot application failure
    - Troubleshoot cluster component failure
    - Troubleshoot networking

  • Workloads & Scheduling (15%)
    - Understand deployments and how to perform rolling update and rollbacks
    - Use ConfigMaps and Secrets to configure applications
    - Know how to scale applications
    - Understand the primitives used to create robust, self-healing, application deployments
    - Understand how resource limits can affect Pod scheduling
    - Awareness of manifest management and common templating tools

  • Cluster Architecture, Installation & Configuration (25%)
    - Manage role based access control (RBAC)
    - Use Kubeadm to install a basic cluster
    - Manage a highly-available Kubernetes cluster
    - Provision underlying infrastructure to deploy a Kubernetes cluster
    - Perform a version upgrade on a Kubernetes cluster using Kubeadm
    - Implement etcd backup and restore

  • Services & Networking (20%)
    - Understand host networking configuration on the cluster nodes
    - Understand connectivity between Pods
    - Understand ClusterIP, NodePort, LoadBalancer service types and endpoints
    - Know how to use Ingress controllers and Ingress resources
    - Know how to configure and use CoreDNS
    - Choose an appropriate container network interface plugin

반응형

  2) CKAD(Certified Kubernetes Application Developer)

    - 설명 / 역량

  • 공인 쿠버네티스 애플리케이션 개발자
  • 사용자가 쿠버네티스의 클라우드 네이티브 애플리케이션을 디자인, 구축, 구성과 노출을 할 수 있는지를 평가
  • 애플리케이션 리소스를 정의하고 핵심 기본 요소를 사용하여 쿠버네티스에서 확장 가능한 애플리케이션 및 도구 빌드/모니터링/디버깅

 

 

    - 출제 범위 / 비중

  • Application Design and Build (20%)
    - Define, build and modify container images
    - Understand Jobs and CronJobs
    - Understand multi-container Pod design patterns (e.g. sidecar, init and others)
    - Utilize persistent and ephemeral volumes

  • Application Deployment (20%)
    - Use Kubernetes primitives to implement common deployment strategies (e.g. blue/green or canary)
    - Understand Deployments and how to perform rolling updates
    - Use the Helm package manager to deploy existing packages

  • Application Observability and Maintenance (15%)
    - Understand API deprecations
    - Implement probes and health checks
    - Use provided tools to monitor Kubernetes applications
    - Utilize container logs
    - Debugging in Kubernetes
  • Application Environment, Configuration and Security (25%)
    - Discover and use resources that extend Kubernetes (CRD)
    - Understand authentication, authorization and admission control
    - Understanding and defining resource requirements, limits and quotas
    - Understand ConfigMaps
    - Create & consume Secrets
    - Understand ServiceAccounts
    - Understand SecurityContexts

  • Services and Networking (20%)
    - Demonstrate basic understanding of NetworkPolicies
    - Provide and troubleshoot access to applications via services
    - Use Ingress rules to expose applications

  3) CKS(Certified Kubernetes Security Specialist)

    - 설명 / 역량

  • 공인 쿠버네티스 보안 전문가
  • 빌드, 배포 및 런타임 중에 컨테이너 기반 애플리케이션과 쿠버네티스 플랫폼을 보호하는 기술을 보유
  • CKA 인증을 보유해야 응시 가능

 

    - 출제 범위 / 비중

  • Cluster Setup (10%)
    - Use Network security policies to restrict cluster level access
    - Use CIS benchmark to review the security configuration of Kubernetes components (etcd, kubelet, kubedns, kubeapi)
    - Properly set up Ingress objects with security control
    - Protect node metadata and endpoints
    - Minimize use of, and access to, GUI elements
    - Verify platform binaries before deploying

  • Cluster Hardening (15%)
    - Restrict access to Kubernetes API
    - Use Role Based Access Controls to minimize exposure
    - Exercise caution in using service accounts e.g. disable defaults, minimize permissions on newly created ones
    - Update Kubernetes frequently

  • System Hardening (15%)
    - Minimize host OS footprint (reduce attack surface)
    - Minimize IAM roles
    - Minimize external access to the network
    - Appropriately use kernel hardening tools such as AppArmor, seccomp 

  • Minimize Microservice Vulnerabilities (20%)
    - Setup appropriate OS level security domains
    - Manage Kubernetes secrets
    - Use container runtime sandboxes in multi-tenant environments (e.g. gvisor, kata containers)
    - Implement pod to pod encryption by use of mTLS

  • Supply Chain Security (20%)
    - Minimize base image footprint
    - Secure your supply chain: whitelist allowed registries, sign and validate images
    - Use static analysis of user workloads (e.g.Kubernetes resources, Docker files)
    - Scan images for known vulnerabilities

  • Monitoring, Logging and Runtime Security (20%)
    - Perform behavioral analytics of syscall process and file activities at the host and container level to detect malicious activities
    - Detect threats within physical infrastructure, apps, networks, data, users and workloads
    - Detect all phases of attack regardless where it occurs and how it spreads
    - Perform deep analytical investigation and identification of bad actors within environment
    - Ensure immutability of containers at runtime
    - Use Audit Logs to monitor access

  번외) KCNA(Kubernetes and Cloud Native Associate)

쿠버네티스 및 클라우드 네이티브 전문가

  - 전체적인 클라우드 네이티브 생태계, 특히 쿠버네티스에 대한 개념적 지식을 확인

 


2. CKA 접수 및 예약

  1) 시험 소개

 

Hands-on Practical Lab (Online 원격 시험)

 

120분 동안 15~20문제 가량이 출제됩니다. 100점 만점(100%) 중 66점(66%) 이상을 얻어야 합니다.

시험은 항상 최신 버전의 쿠버네티스 환경에서 진행된다. 만약 새 버전이 릴리즈 될 경우 시험 환경에는 4-8주 이내에 반영됩니다. 1회 등록시 1년 이내에 총 2회까지 응시 가능합니다.

 

1차에서 불합격해도 2차 기회가 주어집니다. (1차 시험 결과가 발표난 직후에 2차 retake exam에 응시할 수 있습니다.) 자격 유효기간은 3년입니다. (CKAD도 마찬가지로 3년의 유효기간을 갖지만, CKS는 2년입니다.)

 

  2) 예약

 

https://trainingportal.linuxfoundation.org/learn/course/certified-kubernetes-administrator-cka 이곳에서 예약할 수 있습니다.

 

The Linux Foundation

 

trainingportal.linuxfoundation.org

결제가 완료되면 위 화면에 접속하실 수 있으며, 이곳에서 인적 정보와 시험 일정, PC 환경 설정 등을 확인할 수 있습니다.

 


 

3. CKA 준비 및 쿠버네티스 공부 방법

 

1) YouTube 유튜브 무료 강의

따라하면서 배우는 쿠버네티스 (따배쿠) - 이성미 강사님
https://www.youtube.com/watch?v=6n5obRKsCRQ

 

 

2) Udemy 유데미 유료 강의

 

Mumshad Mannambeth 강사님의 Certified Kubernetes Administrator (CKA) with Practice Tests 강의가 가장 유명합니다. (https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/)

 저도 위 CKA 강의를 들으면서 Kubernetes의 개념과 동작 방식, 그리고 실습까지 준비할 수 있었습니다.

(감사합니다 뭄샤드 센세...)

 


4. CKA/CKAD/CKS 할인 바우처

 

블랙프라이데이 또는 상시로 할인받는 프로모션 코드를 검색해봅니다.

 

통상적으로 검색하면 나오는 코드는 15% 정도의 할인율을, 블랙프라이데이 특가는 50%까지 할인하기도 합니다. 특히 2022년 12월 5일까지는 CNCF에서 50% 할인 쿠폰을 뿌리고 있기 때문에 결제하실 분들은 꼭 참고하시면 좋을 것 같습니다. (12/7일까지로 연장되었네요.)

 

내년에는 CKS 공부를 하다가 50% 할인율을 보일 때 재빠르게 구매해봐야겠습니다.

 


5. 시험 합격 후기

 

2022년 12월 15일 21시 시험을 접수했었는데, 약 24시간이 지나서 합격증을 메일로 알려줍니다. 

문제는 총 17문항이었는데, kubectl 명령어로 쉽게 처리할 수 있는 문제 약 10개와 Trouble Shooting 및 Configuration(.yaml 다루기) 문제들과 같은 7점 이상 문제들로 이루어져 있었습니다. 기억나는 문제는 아래와 같습니다.

- etcd 백업/복구

- PV/PVC API 오브젝트를 생성 후 Pod에서 사용하도록 연결

- ClusterRole 정의하여 ServiceAccount에 바인딩

- worker node 문제 상황 트러블 슈팅

- master node의 kubeadm 및 kubectl 업그레이드 (1.5.1 -> 1.5.2)

- Service와 Ingress로 Application 포트 및 url path 노출

- NetworkPolicy를 생성하여 in/outbound 컨트롤

 

 

 


 

 

[Kubernetes] Volume: Pod의 Container 데이터는 어떻게 저장될까? (Volume, PersistentVolume, PersistentVolumeClaim)

1. Volume Kubernetes(쿠버네티스) 환경에서 Container(컨테이너)는 Pod(파드)에 감싸져서 동작합니다. 이때 Container에서 만들어진 데이터는 Docker(도커) 파일 시스템으로서 컨테이너 이미지에서만 제공됩

newstellar.tistory.com

 

 

 

[Kubernetes] Authentication/Authentication(인증/인가) 프로세스 및 User/Role 생성(User, CSR, RBAC, RoleBinding)

1. 쿠버네티스에서의 User 개념 쿠버네티스에서는 User(human)와 ServiceAccount(machine) 두 종류의 사용자가 존재합니다. User에는 클러스터 관리자 및 사용자(일반 개발자)가 있으며, ServiceAccount는 Prometheus

newstellar.tistory.com

 

 

[Kubernetes] NetworkPolicy를 통해 Pod끼리의 트래픽을 통제해보자. (Ingress/Egress, from/to, namespaceSelector, pod

[ NetworkPolicy ] 1. Ingress vs Egress 네트워크 트래픽은 외부로부터 유입되는 Ingress(inbound)와 내부로부터 외부로 나가는 Egress(outbound)로 구분됩니다. 우리가 공부하고 있는 쿠버네티스는 기본적으로 non-

newstellar.tistory.com

 

[Kubernetes] 쿠버네티스 스케쥴러(Scheduler)를 직접 만들어보자. (kube-scheduler 개념/작동방식)

들어가며 쿠버네티스 스케줄링(Kubernetes Scheduling)이란 적절한 node의 kubelet이 Pod를 실행하도록 할당하는 것을 뜻합니다. Kubernetes에서는 master node(control plane)의 kube-scheduler가 위 역할을 담당합니다.

newstellar.tistory.com

 

반응형

댓글