CKA 도전 후기와 스포 없는 팁 공유

2020년 한 해 목표를 세울 때 CKA(Certified Kubernetes Administrator) 취득도 계획했었다. 사실 이 자격 증명을 갖는다는 것에 어떤 큰 의미를 둔 것은 아니지만, 2년 넘게 쿠버네티스에서 서비스를 운영해오면서 항상 아직도 많이 모른다고 생각했다. 회사에서 나름 이 시스템을 운영하는 데 중요한 역할을 하고 있고, 그에 따른 책임감과 부담도 많았기 때문에 항상 더 잘하고 싶다는 강한 의지가 있었다. 그렇게 내가 CKA를 통해 얻고자 했던 것은 나 스스로 쿠버네티스에 대해 어느 정도 알고 있는지 파악하고, 관리자로써 어느정도 필요한 능력을 갖추고 있는지 확인하고 싶었다.
Read more →

Kubernetes의 사용자들

쿠버네티스 API에 접근할 수 있는 사용자는 어떤 종류가 있으며, 역할 기반으로 접근을 제어할 수 있는 방법을 알아본다.
Read more →

Kubernetes의 DNS, CoreDNS를 알아보자

쿠버네티스의 DNS 서버인 CoreDNS에 대해 살펴보고 POD에서 보내는 도메인 요청이 어떤 원리로 목적지 IP를 찾게 되는지 살펴본다.
Read more →

도커 이미지 잘 만드는 방법

도커 이미지가 빌드될 때 어떤 방식으로 저장 되는지 알아보고, 이미지를 만들 때 주의해야 할 점과 더 작은 사이즈로 만들 수 있는 방법을 소개한다.
Read more →

Varnish 캐시 히트 효율을 높이는 방법

이 글은 웹 서버 또는 API 서버의 응답 결과를 캐시하기 위한 Reverse Proxy로서 활용되는 Varnish 캐시 서버에 대해서 다룬다. 하지만 설치와 실행 방법은 다루지 않으며 Varnish 캐시 서버가 어떤 방식으로 요청에 대한 캐시 데이터 생성하는 지 원리를 이해하고, 캐시 효율을 높일 수 있는 방법에 대해 이야기 한다. 실습을 통해 캐시가 히트되는 원리를 이해하는 과정이 조금 길게 느껴질 수 있다. “캐시 히트 효율을 높이는 방법”을 먼저 확인하려면 마지막 “결론” 부분을 참고하면 된다.
Read more →

AWS EC2에서 kubeadm으로 쿠버네티스 클러스터 만들기 - (2) 쿠버네티스 클러스터 구성

쿠버네티스 클러스터를 직접 구축 해보면서 쿠버네티스 컴포넌트가 어떻게 구성되는지 살펴본다. 쿠버네티스를 이해하는데 클러스터 구축 능력이 반드시 필요한 것은 아니지만, 쿠버네티스의 다양한 오브젝트들을 활용하는 과정에서 좀 더 깊게 이해하는데 도움이 될 수 있다.
Read more →

AWS EC2에서 kubeadm으로 쿠버네티스 클러스터 만들기 - (1) AWS 인프라 구축

쿠버네티스 클러스터를 직접 구축 해보면서 쿠버네티스 컴포넌트가 어떻게 구성되는지 살펴본다. 쿠버네티스를 이해하는데 클러스터 구축 능력이 반드시 필요한 것은 아니지만, 쿠버네티스의 다양한 오브젝트들을 활용하는 과정에서 좀 더 깊게 이해하는데 도움이 될 수 있다.
Read more →

쿠버네티스 파드 네트워크 정리 (Kubernetes Pod Networking)

Pod 안에 있는 모든 컨테이너들은 localhost로 서로 통신할 수 있고, 쿠버네티스 클러스터내 모든 Pod는 CNI 네트워크 플러그인을 이용해 서로 통신할 수 있다. Flannel을 이용한 오버레이 네트워크를 통해 Pod가 서로 통신하는 방식을 알아본다.
Read more →

도커 네트워크 요약 (Docker Networking)

도커를 설치하게 되면 생기는 일 Docker를 설치한 후 Host의 네트워크 인터페이스를 살펴보면 docker0라는 가상 인터페이스가 생긴다. docker0는 일반적인 가상 인터페이스가 아니며 도커가 자체적으로 제공하는 네트워크 드라이버 중 브리지(Bridge)에 해당한다. 도커에서 사용할 수 있는 네트워크 종류는 브리지(bridge), 호스트(host), 논(none) 등이 있다.
Read more →

Github Action 빠르게 시작하기

Github Action이란? Github Action은 Github 저장소를 기반으로 소프트웨어 개발 Workflow를 자동화 할 수 있는 도구이다. 간단하게 말하자면 Github에서 직접 제공하는 CI/CD 도구라고 할 수 있다. Workflow는 Github 저장소에서 발생하는 build, test, package, release, deploy 등 다양한 이벤트를 기반으로 직접 원하는 Workflow를 만들 수 있다. Workflow는 Runners라고 불리는 Github에서 호스팅 하는 머신의 Linux, macOS, Windows 환경 그리고 컨테이너에서 실행할 수 있다. 물론 Runners를 사용자 호스팅 환경에서 직접 구동시킬 수도 있다.
Read more →