CNCF(Cloud Native Computing Foundation) 재단에서 주관하는 CKA(관리), CKAD(개발), CKS(보안) 세 자격증 가운데, 가장 대표적인 CKA 자격증에 대해 알아봅니다. 접수 및 시험 예약 방법, 추천하는 강좌 그리고 무지막지한 시험 접수비('22년 11월 기준 375$)에서 조금이나마 할인받을 수 있는 방법을 알아봅시다.
1. CNCF 주관 자격증 소개
2. CKA 접수 및 예약
3. CKA 준비 및 쿠버네티스 공부 방법
4. 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 이곳에서 예약할 수 있습니다.
결제가 완료되면 위 화면에 접속하실 수 있으며, 이곳에서 인적 정보와 시험 일정, 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 컨트롤
'Infra & Cloud > DevOps' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 스케쥴러(Scheduler)를 직접 만들어보자. (kube-scheduler 개념/작동방식) (0) | 2022.12.04 |
---|---|
[Kubernetes] StaticPod: Master Node(Control Plane)의 Pod를 삭제하면 어떻게 될까? (Container Runtime, Containerd) (0) | 2022.12.02 |
[Jenkins] Jenkins를 활용한 CI/CD 파이프라인 구축 (4) (0) | 2021.09.10 |
[Jenkins] Jenkins를 활용한 CI/CD 파이프라인 구축 (3) (0) | 2021.09.10 |
[Jenkins] Jenkins를 활용한 CI/CD 파이프라인 구축 (2) (0) | 2021.09.10 |
댓글