컨트롤러

컨트롤러란? 컨트롤러는 파드를 제어한다. 파드에게 부여할 워크로드의 타입, 즉 처리에 따라서 적절한 컨트롤러를 선택해야 한다. 워크로드 타입 프런트엔드 처리 스마트폰, IoT기기, 컴퓨터 등의 클라이언트로부터 요청을 직접 받아들이는 워크로드를 총칭한다. 이 타입의 워크로드는 대량의 클라이언트 요청에 대해 짧은 시간에 응답을 반환하는 것이 중요하다. 실시간으로 반응해야 하고 사용자들이 답답합을 느껴선 안된다. IoT 기기로부터의 요청은 기기로 부터 끈임없이 만들어지는 데이터를 받아들여서 처리해야 한다. 이러한 워크로드 특성에 대응하기 위해서는 요청에 대응하는 처리를 복수의 파드에 분담하도록 설계해야 한다. 또한, 24시간 무정지로 서비스를 제공하면서도 빠르게 신기능을 배포할 수 있어야 한다. 백엔드 처리 ..
클러스터 네트워크란? 클러스터 네트워크는 쿠버네티스 클러스터 내부에서 사용되는 네트워크다. 파드는 이 네트워크상의 IP 주소를 부여받아 다른 노드에 있는 파드와 서로 통신한다. 서비스의 IP 주소나 포트번호를 클러스터 외부 네트워크에서 접근할 수 있게 하려면, 서비스 타입을 NodePort 혹은 LoadBalancer로 설정하거나 인그레스를 함께 사용하면 된다. Flannel 간단한 L3 네트워크를 노드 간에 구축한다. 각 노드 위에 서브넷을 구성해서 한 노드 위에 파드가 다른 노드 위에 파드랑 통신할 수 있도록 한다. Flannel의 파드는 데몬셋 컨트롤러에 의해 배포된다. 그래서 클러스터에 새로운 노드가 추가되면 자동적으로 파드 네트워크가 확장된다. Flannel은 네트워킹 기능만을 갖추고 있으며, ..
파드란? 파드는 쿠버네티스에서 컨테이너를 실행하는 최소 단위로 한개 혹은 여러 개의 컨테이너를 포함한다. 하나의 파드에 속하는 모든 컨테이너들은 같은 노드에서 동작한다. 파드는 다음과 같은 특징을 가진다. 컨테이너 재사용 촉진을 위한 플랫폼 파드는 하나의 목적을 위해 만들어진 컨테이너를 부품처럼 조합할 수 있도록 설계되었다. 파드 내부의 컨테이너들은 파드의 IP 주소와 포트번호를 공유한다. 파드의 내부 컨테이너들은 localhost로 서로 통신할 수 있다. 파드의 내부 컨테이너들은 System V 프로세스 통신이나 POSIX 공유 메모리를 사용하여 서로 통신할 수 있다. 파드의 내부 컨테이너들은 파드의 볼륨을 마운트하여 파일 시스템을 공유할 수 있다. 이 기능들은 같은 파드 내의 컨테이너 사이에서만 가능..
쿠버네티스 API란? 쿠버네티스의 대한 조작은 모두 API를 통해 이뤄진다. 커맨드 라인 유저 인터페이스인 kubectl은 마스터 노드상의 kube-apiserver에게 쿠버네티스 API 규약에 맞게 기술된 목표 상태 선언서인 매니페스트를 YAML 형식 혹은 JSON 형식으로 전송하여 오브젝트를 만들고, 바꾸고, 제거하는 일을 한다. 이 API 규약은 새로운 버전이 공개될 떄마다 추가나 변경된 점이 반영된 API 래퍼런스가 공개된다. 오브젝트란? 쿠버네티스 오브젝트란 클러스터 내부의 엔티티로서, 이후 설명할 파드, 컨트롤러, 서비스 등의 인스턴스를 의미한다. 각각의 오브젝트는 쿠버네티스 API의 리소스 종류에 맞게 설정되고 생성된다. 오브젝트는 지정된 상태가 유지되도록 쿠버네티스에 의해 제어된다. 각 오..
beekei
'컨트롤러' 태그의 글 목록