kubernetes

GCP VPC, GKE Networking docs 정리

이 글을 왜 쓰게되었나? GKE 와 관련해서 VPC를 포함한 네트워크 쪽을 고도화하는 작업이 조금씩 이루어지고 있다. 이전에는 부분적인 문서들을 읽으며 문제를 해결해왔다. 그래서 계속 알고 있는 개념들 중에 빈 곳이 몇 개 있다는 것을 느끼고 있었고 언제 한번 전체에 대한 그림을 살펴보는 것이 좋겠다고 생각하였다. 그리고 그게 이번 주말이었다. 아래 링크에서 확인할 수 있는 내용은… 더 보기 »GCP VPC, GKE Networking docs 정리

Kubernetes Pod Memory Monitoring — RSS, Working Set

이 글은 Kubernetes Pod의 memory 를 모니터링할 때 어떤 메트릭을 봐야하는가에 대한 글이다. 컨테이너의 memory 와 관련된 메트릭이 여러가지가 있으며 각각은 어떤 것이며 어떤 메트릭을 살펴봐야하는지에 대해서 정리한다. 이 글을 보기 전에 Virtual Memory 에 대해서 먼저 이해를 하고 읽으면 좋다. cgroup 가장 먼저 살펴볼 부분은 cgroup에 대한 것이다. 리눅스의 프로세스들은 fork를 하면서 자식 프로세스들을… 더 보기 »Kubernetes Pod Memory Monitoring — RSS, Working Set

memory leak 원인 찾기 – 어플리케이션이 가지는 상태를 생각하자

이 글은 어떤 글인가요? 최근에 어떤 서비스에서 메모리 사용량이 지속적으로 증가했고 모니터링 알람으로 그 사실을 알게되었다. 이번 포스팅에서는 어떻게 memory leak 문제를 해결했는지 그 과정을 기록으로 남기고 싶어 정리해보고자 한다. 어느날 갑자기 어떤 서비스의 메모리 사용량이 높다고 알람이 왔다. 그래프 추세를 보았을 때 느낌이 좋진 않았지만 다른 일을 우선 순위를 높여 처리하고 있었기 때문에 우선… 더 보기 »memory leak 원인 찾기 – 어플리케이션이 가지는 상태를 생각하자

Kubernetes docs 정리 — Workload

Intro ‘Kubernetes docs 정리‘에서는 Kubernetes docs를 읽으며 필요한 부분들에 대해 스스로가 이해할 수 있는 단어로 유연하게 의역하여 정리한다. 이번 포스팅에서 정리할 섹션은 Kubernetes Workload 부분이다. Workload workload는 Kubernetes에서 돌아가는 어플리케이션을 말한다. workload의 가장 작은 단위는 Pod이다. Pod를 기본으로하여 더욱 복잡한 컴포넌트들을 만들어낼 수 있다. Pod는 클러스터에서 운용되는 container들의 묶음을 나타낸다. Pod는 라이프사이클이 존재한다. 예를 들어… 더 보기 »Kubernetes docs 정리 — Workload

Kubernetes Resource and QoS Concept

이번 포스팅에서는 Kubernetes에서 사용하는 resource에 대한 개념과 resource와 관련해서 잘 알고 있지 못하면 큰 문제를 일으킬 수도 있는 Quality of Service라는 것에 대해서 알아본다. Managing Resources for Containers Pod를 띄울 때 우리는 Pod에 속해있는 Container가 얼마만큼의 resource를 가질지 선택적으로 명시할 수 있다. resource 종류에는 다른 것들도 있지만 가장 대표적인 것은 CPU와 메모리이다. Container의 resource request를… 더 보기 »Kubernetes Resource and QoS Concept

Kubernetes Controller 구현해보기

이전에 다른 포스팅에서 Kubernetes CRD와 Controller에 대해서 개념적인 글을 작성하였다. 이번 포스팅은 시간이 꽤 지났지만 코드 레벨에서 어떤 식으로 CRD와 Controller를 만들 수 있는지에 대해서 작성해보려고 한다. Requirements & Decisions 앞으로 다룰 이야기가 수월하게 흘러가고 현실감있게 받아들여질 수 있도록 가상의 요구사항을 하나 만들어보자. 시스템 장애 상황에 대비해서 주기적으로 유저 활동 로그를 찍어서 파일로 저장하는 Logger를… 더 보기 »Kubernetes Controller 구현해보기

Kubernetes CRD와 Operator에 대해서

최근에 Kubernetes를 통해서 프로젝트를 진행했었다. Kubernetes의 기본적인 사용법과 어떻게 쓰는지는 시간이 지나면서 자연스레 익혀지지만 Kubernetes의 전체적인 철학이나 어떻게 Kubernetes가 동작하는지 원리에 대해서 개념이 머리에 명확하지 않은 것 같아서 시간을 내어 따로 정리해보려고 한다. 그 중에서도 CRD와 Operator 위주로 정리해보려고 하는데 이 두 개의 개념이 Kubernetes의 전반적인 개념과 동작 원리를 가장 잘 보여준다고 생각하기 때문이다. updated… 더 보기 »Kubernetes CRD와 Operator에 대해서