클러스터 > 노드 > Object
Pod
파드 안에 컨테이너들이 있음.
각 컨테이너는 서로 다른 포트를 가지고 있음
파드에 할당된 IP를 통해서 컨테이너로 접근
파드에 라벨을 설정할 수 있음 db, web, 개발, 운영 등
용도에 맞게 라벨을 서비스를 통해 나눠줄 수 있음
파드는 노드에서 생성됨 즉, 노드의 자원을 나누어가짐
노드의 자원을 어떻게 가져갈지 설정을 할 수 있음
Service
주요 타입 Cluster IP, Node Port, Load Balancer 세 개로 구분
-Cluster IP : 클러스터 내의 파드들에 접글할때 사용
파드에 바로 접근하지 않는 이유는 파드는 쉽게 죽을 수 있도록
설계되고 IP가 자주 바뀌어 Cluster IP Service를 이용
주로 파드들의 상태, 대시보드 등을 볼 때 사용 (Admin의 접근)
그러나 클러스터 밖에서 접근 X
-Node Port : 클러스터 밖에서 접근이 가능
노드들 간의 연결에 사용
주로 내부망 연결에 이용 또는 임시로 외부에 노출할때 사용 (내부망 유저의 접근)
하지만 보통 내부IP를 외부에 노출하지 않기 때문에 권장X
-Load Balancer : 외부 IP플러그인과 연결되어 외부 노출에 사용 (외부망의 접근)
Volume
크게 emptyDir, hostPath, PVC/PV 세 개로 구분
-emptyDir : 파드안에 생성되어 컨테이너들이 사용하는 저장공간
파드가 죽으면 사라진다
삭제되어도 상관없는 컨테이너간 공통 저장공간으로 사용
-hostPath : 노드에 생성되어 파드들이 사용하는 저장공간
노드의 정보를 파드에서 이용할때 주로 사용
파드가 죽고 다른 노드에서 생성될 시 새로운 노드에 마운트 수작업 필요
-PVC/PV
PV(Persistent Volume) : aws, git 등 외부저장 공간을 쿠버네티스에서 사용하도록
생성해 놓은 것
PVC(Persistent Volume Claim) : 사용자는 PVC를 활용해 PV를 할당 받아서 사용
PV생성 -> PVC생성 -> PV와PVC연결 -> 사용
Namespace
Node와 유사 파드들이 들어잇는 공간
서로 다른 네임스페이스로 서비스를 통해 접근이 가능
Networkpolicy 오브젝트를 통해 통신제어
ResourceQuota
Namespace에 자원을 할당
기존에 있던 파드는 고려하지 않기 때문에 기존 생성된 파드 체크 필요
LimitRange
Namespace에 들어올 수 있는 오브젝트의 자원 한계 설정
ConfigMap, Secret
파드에 환경변수 주입을 도와줌. ex> ssh='false'
Secret은 암호화를해 보안이 좋음
참고
'Container > kubernetes' 카테고리의 다른 글
[쿠버네티스] volume - Dynamic Provisioning, StorageClass, ReclaimPolicy (0) | 2021.07.10 |
---|---|
[쿠버네티스] Service - Headless, Endpoint, ExternalName (0) | 2021.07.04 |
[쿠버네티스] QoS(Quality of Service), Node Scheduling (0) | 2020.06.16 |
[쿠버네티스] Pod Lifecycle (0) | 2020.04.21 |
[쿠버네티스]컨트롤러 (0) | 2020.04.13 |
댓글