목록2022/09/12 (3)
devops
서비스와 인그레스는 같은 네트워크 관련 오브젝트로, 쿠버네티스의 각 컨테이너의 네트워크 포워딩과 설정에 관여한다고 볼 수 있다. 서비스(Service) 위 이미지에서 보는 것처럼, 서비스는 같은 역할과 서비스를 하는 여러 POD를 하나로 묶어서 관리하는 오브젝트라고 볼 수 있다. 파드가 새로 생성될 때마다 동적으로 IP를 할당할 수 있다. 간단히 말해서 서비스는 트래픽을 파드로 전달만하는 역할을 한다. 여기서 서비스는 여러 종류를 가진다. 1) ClusterIP 내부에서만 접근할 수 있는 IP를 할당한다. 그래서 외부에서 접속이 불가능하다. 그러나 kubeproxy를 활용하면 접근할 수 있다 2) NodePort 클러스터의 모든 노드로 외부에서 접근할 수 있는 포트를 개방한다. NodePort가 설정되면..
쿠버네티스의 오브젝트는 컨테이너 워크로드를 처리하는데 사용되는 1) 워크로드용 객체, 네트워크 및 보안을 처리하는 2) 인프라 객체와 구분할 수 있다. 오브젝트 생성을 위해서는 YAML을 활용하고, API 서버를 통해서 요청된다. 그리고 생성전에 유효성 검증이 진행된다. Workload 1) Pod 파드는 작업의 기본 단위면서, k8s에서 생성하고 관리할 수 있는 가장 작은 단위의 유닛이다. 파드는 하나 이상의 컨테이너들의 그룹이며, 모두 스토리지와 네트워크 리소스를 공유한다. 굳이 비유를 하자면 '하나 혹은 여러 컨테이너들을 감싼 얇은 wrapper'다. 2) Deployment 디플로이먼트는 파드와 레플리카셋의 선언적인 설정을 제공한다. Deploy하여 레플리카셋보다 한 단계 높은 관리 오브젝트를 생..
쿠버네티스의 아키텍처는 크게 Control Plane, Node로 나뉜다. 아래 이미지를 보면 클러스터의 아키텍처를 쉽게 파악할 수 있다. Control Plane '마스터노드(Master Node)' 라고 불린다. Control Plane은 클러스터의 Work Node와 Pod를 관리한다. 프로덕션 환경에서, Control Plane은 일반적으로 여러 PC에서 실행되며 하나의 클러스터가 여러 노드들을 관리하여 고가용성과 내결함성을 제공한다. Control Plane CLI와 UI를 통해서 API 서버를 통해 Input 요청받는다. 또한, 마스터 노드에서는 사용자 workload를 사용하지 않는것이 좋다. Node '작업자 노드(Worker Node)'라고 불린다. 컨테이너화된 어플리케이션을 실행하는데 ..