IT/Kubernetes21 [Kubernetes] Ingress 이번 포스팅에서는 Ingress에 대해 알아보겠다. IngressIngress는 Cluster 외부에서 Service로 접근 할 수 있도록 하는 리소스이다. 그런데 Service의 NodePort와 비슷해보이는데 큰 차이점이 있다.NodePort는 L4 (TCP, UDP) 까지만 다룰 수 있지만 Ingress는 L7 (HTTP, HTTPS)를 다룰 수 있다. 때문에 Service는 Ingress를 가상 호스트 및 경로 기반 라우팅(Routing), 로드 밸런싱 등의 역할로 수행 할 수 있다. (아래 그림 1 참조)그림 1. Ingress Overview 그럼 관련 Service, Ingress 매니페스트 파일은 다음과 같다. apiVersion: v1 kind: Service metadata: name:.. 2019. 3. 31. [Kubernetes] Basic Resource - Part 2 Service Service는 아래의 그림 1에서 확인 할 수 있듯이 Pod를 논리적으로 묶은 것이다. 특히 Service는 Pod의 논리적인 묶음이기 때문에 여러 Node에 걸쳐서 Pod를 묶을 수 있다. 이렇게 논리적으로 묶는 이유는 k8s에서 Pod는 lifecycle (scaling out-in 등등에 의해서)이 존재하기 때문에 항상 Pod가 고정적이지 않다. 더욱이 IP를 내부적으로 공유하는 Pod의 특성상 외부에서는 항상 IP만 확인 할 수 없다. (Pod가 다시 생성되면 IP가 재할당되기 때문에) 그래서 Service라는 리소스*를 통해 Pod를 관리한다. * 일반적으로 Label Selector를 통해 서비스를 구분한다. 그림 2를 보면 각 Pod가 nginx라는 label name으로 묶.. 2019. 3. 30. [Kubernetes] Design Pattern 이번 포스팅에서는 k8s에서 자주 등장하는 Pod 디자인 패턴에 대해 알아보려고 한다. Sidecar Pattern그림 1. Sidecar Pattern 그림 1에서 확인 할 수 있듯이 사이드카 패턴은 Pod에 있는 다른 컨테이너를 메인 애플리케이션 컨테이너와 함께 배치하는 것이다. 그림 1을 자세히보면 Pod의 공유 파일시스템으로 메인 컨테이너가 로그 파일을 넣고 추가된 컨테이너(사이드카)에서 데이터를 가져온다. 즉, 메인 컨테이너와 추가 컨테이너의 역할이 구분되어 있다. 일반적으로 해당 패턴은 로깅 시스템을 구축하는데 많이 사용한다. 메인 컨테이너에서는 로그 데이터를 모으는 역할을 하고 추가 컨테이너는 모든 데이터를 바탕으로 통계와 같은 사이드 작업을 한다. 물론 하나의 컨테이너에서 모든 작업을 해도.. 2019. 3. 27. [Kubernetes] Basic Resource 지난 포스팅에서는 k8s의 전체적인 그림을 살펴보고 간단한 개념에 대해 알아보았다.(https://timewizhan.tistory.com/entry/Kubernetes-Overview?category=1035066)이번 포스팅에서는 기본 리소스에 대해 하나씩 알아보려고 한다. Pods그림 1. Pods 그림 1에서 볼 수 있듯이 k8s의 작업 단위로 한개 또는 그 이상의 컨테이너의 그룹화를 의미한다. (그룹화된 컨테이너를 추상화한 표현) 일반적으로 강한 결합을 필요로하는 여러개의 컨테이너들을 하나의 Pod로 묶는다. (물론 하나의 컨테이너를 Pod로 묶기도 한다.) 그림 2. Pod Layout 그래서 그림 2를 확인하면 Pod를 어떤 식으로 묶어서 사용하는지 확인 할 수 있다. 그런데 주의할 사항은 .. 2019. 3. 26. 이전 1 2 3 4 5 6 다음