전체 글114 [Kubernetes] Internals - Init Pod 이번 포스팅에서는 Pod가 초기화 되는 시점에 발생하는 내부 작업에 대해 알아보려고 한다. ContainerContainer는 엄밀히 따지면 시스템 내부에서 동작하는 여타 Process와 다를게 없다. 그런데 Container로 따로 명명이 되는 이유는 다른 Process와 다르게 리눅스 커널에서 제공하는 namespace와 cgroups 기능을 사용하기 때문이다. 멀리 떠날 것 없이 주변에서 가장 많이 쓰이는 Container인 Docker만 봐도 Container를 구성하는데 namespace와 cgroups이 가장 핵심적인 기능이다.(리눅스의 LXC 이전까지만 해도 전가상화(Full Virtualization) 또는 반가상화(Para Virtualization)와 같은 VM 기술이 주를 이루었다.).. 2019. 5. 16. [Kubernetes] Namespace 이번 포스팅에서는 k8s의 namespace에 대해 알아보자. NamespaceNamespace는 k8s에서 사용하는 가상 클러스터이다. 즉, 리소스를 Namespace 단위로 분리하여 사용할 수 있게 한다.한 예로 여러 사용자들이 사용하는 환경에서 리소스의 Label만 가지고 구분하기가 힘들다. 더욱이 많은 사용자들이 사용하다보면 리소스에 Label에 겹칠 수가 있다. 그렇기 때문에 각각 고유한 Namespace로 구분하여 동일한 Label이라도 Namespace가 다르면 사용할 수 있다.이처럼 k8s는 Multi-tenant 환경에서 리소스를 적절히 분할하는데 큰 역할을 한다. (같은 이치로 복잡한 k8s 내부 사용 환경을 더 작게 분리한다.)(참고로 Versioning을 위해 Namespace를 구.. 2019. 5. 14. 지리의 힘 읽은지 시간이 조금 흘렀지만 돌이켜보면 소설책이 아닌 다른 종류의 책을 읽고 싶어서 과학, 인문학 쪽을 살펴보다가 고르게 되었다. 다른 사람들은 아닐 수 있겠지만 나에게는 제목부터 흥미롭게 생겼다. 그리고 책의 하단부에 드러나있는 베스트셀러 표시. 그래서 뒤도 안돌아보고 인터넷 구매 버튼을 누르게 되었다. 사실 이 책은 제목만 봐도 내용이 대충 짐작이 가능한 책이다. 지정학적 위치에 따라 각 국가가 가지고 있는 한계나 현재 상황, 미래의 변화 등을 집중에서 얘기하지 않을까 생각했었다. 역시나! 책의 목차를 보니 내 생각이 들어 맞았다는 것을 알 수 있었다.총 10장에 걸쳐서 유럽, 아시아, 아메리카 등 굵직굵직한 대륙을 바탕으로 그 안에 속해 있는 여러 나라들에 대해 과거, 현재, 미래에 대해 말하고 있.. 2019. 4. 30. [Kubernetes] Networking - Pods 이번 포스팅에서는 Pod에서 발생하는 Networking에 대해 알아보려고 한다.그런데 k8s는 다양한 모델의 Network 방식을 지원한다. 각 모델 마다 특징이 존재하기 때문에 자세한 부분은 아래 URL을 참조하고 일반적인 Network 방식에 대해 알아 본다.(https://kubernetes.io/docs/concepts/cluster-administration/networking/) Inter Pod Networking 그림 1. Flat Network (No NAT) 일반적으로 Inter-Pod Network의 구성은 그림 1과 같다. NAT 없이 Pod와 Pod, Pod와 Node(Host)의 통신은 그림 1과 같이 구성되어 있다. (설명을 위해 Pod와 Pod 간의 통신으로 제한한다.)NA.. 2019. 4. 27. [Kubernetes] Networking - Kube Proxy 이번 포스팅에서는 Kube Proxy에 대해 알아보려고 한다. kube-proxy그림 1. k8s Architecture 그림 1에서 다시금 k8s의 아키텍처를 들여다보면 각각의 Node에 Proxy가 존재하는 것을 확인 할 수 있다. 즉, Node는 kube-proxy(Proxy)를 실행하고 관리한다. 여기서 kube-proxy의 역할은 k8s Service에 클라이언트가 연결할 수 있도록 한다. (클라이언트가 Service에 묶인 Pod에 연결 할 수 있도록)k8s에서 제공하는 kube-proxy 모드는 3가지가 존재하는데 베타 버전(현재 v1.9이 베타)을 제외한 나머지 모드는 아래와 같다.- Userspace mode그림 2. Userspace Mode 그림 2에서 Userspace Mode 방식.. 2019. 4. 26. [Kubernetes] Liveness & Readiness Probe 이번 포스팅에서는 Pod의 Liveness Probe와 Readiness Probe에 대해 알아보겠다. Liveness ProbeLiveness Probe는 Pod 내의 Container가 살아있는지 죽어있는지 확인 하기 위한 k8s의 방안이다. Pod에 대해 생각해보면, Node에서 실행되는 Pod는 Node의 Kubelet에 의해 정상적으로 수행된다. 즉, Pod가 종료되거나 내부 Container에서 크리티컬한 문제가 생겨 작업이 중단되면 Node의 Kubelet에 의해 다시 실행된다. 그런데 내부 스케줄링에 의해 잘 동작하지만 문제는 Container에서 DeadLock과 같은 무한 대기 상태가 벌어졌을 때는 아무도 알 수 없다는 것이다. (Crash 같은 경우는 프로세스가 강제로 종료되기 때문에.. 2019. 4. 26. 이전 1 ··· 8 9 10 11 12 13 14 ··· 19 다음