CI/CD란?CI/CD는 Continuous Integration(지속적 통합)과 Continuous Delivery/Deployment(지속적 제공/배포)의 약자입니다. 코드는 마치 공장의 컨베이어 벨트처럼, 개발에서 테스트를 거쳐 배포까지 매끄럽게 흘러가는 자동화된 프로세스입니다.CI/CD는 기존에 수동으로 처리했던 작업을 자동화하여 다운타임을 최소화하고 코드 릴리스 주기를 단축합니다. 또한 코드의 업데이트와 변경 사항을 더 빠르게 통합할 수 있어, 사용자 피드백을 더 자주 효과적으로 반영함으로써 사용자 만족도를 향상시킬 수 있습니다. 예를 들어, 전통적인 개발 방식에서는 한 달에 한 번 배포가 일반적이었으나, CI/CD를 통해 하루에도 여러 번(심지어 시간 단위로) 업데이트가 가능해집니다. 실제 많..
안녕하세요. CKA 개정이후 CKA(Certified Kubernetes Administrator) 자격증을 취득했습니다.이 글을 통해 2025년 2월 18일부로 개편된 시험준비과정에서 겪은 시행착오를 공유하고자 합니다.CKA 준비를 위해 학습하던, 뭄샤드(Mumshad)의 Udemy, 따배씨만으로는 더 이상 합격이 어렵습니다.왜냐하면, 개편 후 70~80% 문제 유형이 바뀌었기 때문입니다.저는 뭄샤드, 따배씨를 모두 수강하고, 첫 시험에 불합격의 쓴맛을 본 후, 두 번째 도전 만에 합격할 수 있었습니다.(참고) CKA는 2번의 응시 기회가 주어집니다. 무엇이, 어떻게 바뀌었을까요?가장 큰 변화는 단연 '실무에 가까워진 문제 유형' 입니다. 과거 시험이 kubectl 명령어를 정확히 암기하고 특정 리소스..
변경불가능한 인프라(Immutable Infrastructure)란전통적인 서버 운영 방식(Mutable Infrastructure)은 종종 애완동물(Pets)에 비유됩니다. 반면, Immutable Infrastructure는 가축(Cattle)에 비유되며, 이 비유는 클라우드 네이티브 환경에서 서버를 어떻게 관리하는지에 대한 철학적 차이를 잘 보여줍니다. 변경가능한 인프라(Mutable Infrastructure) = 애완동물전통적인 인프라 운영 방식, 즉 서버에 접속해서 직접 패치를 하고 설정을 수정하는 Mutable Infrastructure는 애완동물에 비유할 수 있습니다. 애완동물은 하나하나가 고유한 존재이며, 이름도 있고 문제가 생기면 정성을 다해 돌보게 됩니다. 서버도 마찬가지로, 문제가 ..
NetworkPolicy란NetworkPolicy는 Kubernetes에서 Pod 간 네트워크 트래픽을 제어하는 리소스입니다.이는 마치 AWS의 보안 그룹(Security Group)과 비슷한 개념으로, Ingress(수신) 및 Egress(송신) 트래픽을 제한할 수 있습니다. NetworkPolicy 기본규칙1. NetworkPolicy가 없을 경우 ➝ 모든 트래픽 허용2. 하나 이상의 NetworkPolicy가 적용되면 ➝ 명시된 Pod, 네임스페이스, IP 블록에서의 트래픽만 허용 (화이트리스트 방식) NetworkPolicy의 구조NetworkPolicy는 Label Selector를 통해 적용 대상 Pod를 지정하고,spec 하위에 Ingress 또는 Egress 정책을 정의하여 허용할 트래픽 ..
쿠버네티스를 처음 공부할 때 가장 어려웠던 점은 바로 익숙하지 않은 '새로운 용어'들이었습니다.그래서 쿠버네티스란 무엇인지, 그리고 자주 등장하는 핵심 용어들을 정리해보았습니다. 컨테이너 오케스트레이션의 세계로 첫걸음을 내딛는 분들께 도움이 되길 바랍니다. 쿠버네티스란쿠버네티스는 컨테이너 오케스트레이션 플랫폼입니다. 컨테이너는 가상머신과 달리 호스트 OS를 공유하는 구조로 인해, 가상머신보다 가볍고 빠르며, 동시에 가상머신처럼 실행 환경의 독립성도 제공합니다. 이러한 특성 덕분에 가벼움과 이식성을 갖춘 컨테이너는 점점 더 많이 사용되고 있습니다.하지만 수백에서 수천 개에 이르는 컨테이너를 운영자가 수동으로 관리하는 데에는 한계가 있습니다. 이에 따라, 컨테이너의 배포, 확장, 스케줄링, 네트워크설정 등..
왜 서비스를 만들어서 통신할까?쿠버네티스의 파드에는 이미 IP가 부여돼서, 통신이 가능합니다. 그러면 파드에 직접 통신하지 왜 굳이 서비스라는 것을 하나 더 만들어서 이걸로 통신하는 걸까요? 그 이유는 파드의 특징 때문입니다.파드는 일회용품처럼 쓰다 버리는 리소스입니다. 따라서 해당 IP를 등록했더라도 언제 파드가 삭제후 다시 생성될지 모르기 때문에 파드의 IP는 수시로 바뀔수있어 안정적인 통신이 어렵습니다. 그와 반대로 서비스는 안정적인 통신이 가능합니다.파드가 죽더라도 새로운 파드가 기존에 있던 서비스에 붙어있으니 동일한 서비스 IP로 접근이 가능합니다. 이외에도 서비스는 아래와 같은 기능도 제공해 줍니다. 1. 로드밸런서처럼 서버의 부하분산2. DNS처럼 서비스이름을 통해서 통신(서비스 디스커버리)..