기타/기타

쿠버네티스(K8S) 오브젝트 등 여러 용어들(작성중)

pymin 2023. 1. 23. 22:59
반응형

 

쿠버네티스의 기본 오브젝트에는 4가지가 있다.

 

1. 파드

 - 쿠버네티스의 최소 단위. 서비스를 구동하는데 필요한 최소 단위

 - 1개의 파드는 한 개 이상의 컨테리너를 가질 수 있지만 보통 1개의 파드에 1개의 컨테이너를 사용

 

2. 네임스페이스

 - 쿠버네티스 클러스터에서 사용되는 리소스들을 구분해서 관리하는 그룹

 

3. 볼륨

 - 파드가 생성될 때 파드에서 사용할 수 있는 디렉토리를 제공

 

4. 서비스

 - 파드의 접속 정보가 고정이지 않기 때문에 새로 파드가 생성될 때 부여되는 새로운 IP를 기존에 제공하던 기능과 연결 (GW와 비슷한 역할)

 

 

추가적인 용어들

5. 디플로이먼트

 - 레플리카셋 오브젝트를 합쳐놓은 형태 (레플리카셋을 포함하는 오브젝트의 상태 감시)

 - 다수의 파드 생성시 하나씩 생성하면 비효율적이므로 레플리카셋 오브젝트로 다수의 파드를 생성 (+ 롤링 업데이트 등의 기능 추가)

 - 파드의 동작을 보장하기 위한 조건 (self-healing)

 

6. cordon

 - cordon을 적용하면 해당 node에 더이상 pod가 할당되지 않도록 함. kubectl get nodes로 검색했을 때 SchedulingDisabled 상태로 표기됨

 

7. drain

 - 지정된 node의 pod를 전부 다른 곳으로 이동시킴 (--ignore 옵션은 강제로 이동)

 - cordon하고 delete pod 하는것과 유사함

 

8. 서비스

 - 외부에서 쿠버네티스 클러스터에 접속하는 방법

 - NodePort

 

9. Ingress

 - 여러 개의 디플로이먼트가 있을 때 그 수만큼 노드포트 서비스를 구동하게 해줌

 - 고유한 주소를 제공해 사용 목적에 따라 다른 응답을 제공할 수 있고, L4/L7 로드밸런서와 보안 인증서 처리

 - NGINX Ingress Controller

 - 사용자가 접속하는 경로에 따라 다른 결과값을 제공

 

10. MetalLB

 - 온프레미스에서 로드밸런서를 사용하기 위해 내부에 로드밸런서 서비스를 받아주는 구성을 지원

 - Bare Metal로 구성된 쿠버네티스에서도 로드밸런서를 사용할 수 있게 고안된 프로젝트

 - MetalLB 컨트롤러 : protocol을 정의하고 external IP를 부여

 - MetalLB 스피커 : 정해진 작동 방식에 따라 경로를 만들 수 있도록 네트워크 정보를 광고 하고 수집하여 각 Pod에 경로를 제공

 

11. HPA

 - 부하에 따라 자동으로 파드 수를 조절

 

12. Metrics-Server

 - HPA가 자원을 요청할 때  Metrics-Server를 통해서 계측값을 전달받음

 

13. DaemonSet

 - 디플로이먼트의 replicas가 노드수만큼 정해져 있는 형태, Node 1개당 Pod 1개만을 생성

 - Node를 관리하는 Pod(1개 이상 필요하지 않음)는 데몬셋으로 만드는 것이 효과적

 

14. ConfigMap

 -  config를 목적으로 함

 

15. PV / PVC (Persistent Volume Claim)

 - PV는 볼률을 사용할 수 있게 준비하는 단계이고, PVC는 준비된 볼륨에서 일정 공간을 할당받음

 

16. Stateful Set

 - Pod가 만들어지는 이름과 순서를 예측해야 할 때

 - Redis, Zookeeper, Cassandra, MongoDB 등의 Master-slave 구조 시스템에 필요

 

17. Helm

 - kubectl을 좀 더 확장해서 복잡한 오브젝트와 구성 환경을 자동으로 맞추는 도구

 - 패키지를 손쉽게 배포할 수 있도록 패키지를 관리하는 쿠버네티스 전용 패키지 매니저

 - Helm으로 프로메테우스 grafana 등 쉽게 설치 가능

 

18. taint / tolerations

 - taint 설정 시 쉽게 접근하지 못하고, tolerations라는 키가 있어야 접근 가능

 - 마스터노드, GPU 노드, DB 전용 등에 사용

 

 

 

작성중..

반응형