이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

Kubernetes/Kubernetes 이론

Kubernetes Addon

이쿠우우 2020. 8. 5. 21:52
반응형

Kubernetes Addon 이란?

Kubernetes Cluster는 크게 Master Node, Worker Node로 구성되지만 추가로 Addon 도 존재함

Addon 은 Kubernetes Cluster 에서 기능을 구현 및 확장하는 역할을 담당함

Kubernetes Cluster가 필요한 기능을 실행하기 위해 pod와 service 형태로 존재함

Addon이 사용하는 Namespace 는 kube-system이며

Addon에 사용되는 Pod는 Deployment, Replication controlller 등에 의해 관리됨.

외부 연동 라이브러리라고 보면 됨.

 

Addon의 종류

네트워킹 Addon (CNI)

CNI : Container Network Interface

컨테이너 간의 네트워킹을 제어할 수 있는 플러그인을 만들기 위한 표준

Kubernetes Cluster 내부는 Master Node에 의해 여러 컨테이너가 생성 삭제 복구를 반복하고 있음

그에 따라 각 컨테이너의 고정적이지 않고 재할당이 빈번함

이러한 특징을 해결하기 위해 Kubernetes Cluster는 가상 네트워크가 구성되어 있는데 

기본적으로는 Worker Node의 kube-proxy 가 네트워크를 관리하지만

보다 효율적인 네트워크 환경을 구성하기 위해

다양한 네트워크 관련 Addon 이 제공됨

종류 : Ingress, Flannel, ACI, Calico, Canal, Cilium, CNI-Genie, Contiv, Multus, NSX-T, Nuage, Romana, Weave Net

 

 

DNS Addon

다른 Addon 은 필수적이지 않지만 DNS Addon 만큼은 필수적임.

실제로 Kubernetes Cluster 내에서 작동하는 DNS Server.

Kubernetes Service Object에게 DNS 레코드를 제공하는 역할을 수행함.

kubernetes 내부에서 실행된 컨테이너들은 자동으로 DNS 서버에 등록되어 자동 탐색이 가능해짐

종류 : CoreDNS, kube-dns

 

 

대시보드 Addon

kubernetes Cluster를 위한 Web 기반 UI.

일반적으로 kubernetse Cluster에 명령을 내릴 때 CLI에서 kubectl을 사용하는데 

가시화하여 관리의 편의성을 제공하기 위해 대시보드를 제공함

종류 : kubernetes Dashboard, Weave Scope, NexClipper(국산), 

 

 

컨테이너 자원 모니터링 Addon

어떤 시스템이던 가장 중요한 부분 중 하나는 바로 모니터링.

Kubernetes 환경에서도 모니터링을 제공하는 Addon이 존재함.

Cluster 내부에서 실행 중인 Container의 CPU, 메모리와 같은 리소스 데이터를 

저장하고 볼 수 있는 방법을 제공하는 Addon.

종류 : Prometheus, Grafana, heapster, cAdvisor 

 

 

Virtual Machines Addon

Kubernetes는 Container Orchestration이지만

Container 영역을 벗어나서 VM 도 Kubernetes 가 관리할 있도록 해주는 Addon.

종류 : kubeVirt

 

 

클러스터 로깅 Addon

Kubernetes Cluster 내부에서 생성되는 모든 Log를 중앙화 하여 관리할 수 있음.

Master Node, Worker Node, Worker Node 내부의 Container 등 모든 로그를 중앙화 된

로그 수집 시스템에 모아서 볼 수 있도록 해주는 Addon.

클라우드 서비스를 이용 중이라면 각 클라우드 벤더에서 제공해주는 로깅 서비스를 사용하면 되지만

직접 kubernetes를 설치한 경우에는 Log 부분도 고려해야함 

해당 addon 은 직접 kubernetes 를 설치한 경우에 사용하는 Addon.

종류 : ELK

 

 


 

네트워크 Addon 종류

Flannel

쿠버네티스와 함께 사용할 수 있는 오버레이 네트워크 제공자이다.

 

Weave Net

네트워킹 및 네트워크 폴리시를 제공하고, 

네트워크 파티션의 양면에서 작업을 수행하며, 

외부 데이터베이스는 필요하지 않음.

 

Canal

Flannel과 Calico를 통합하여 네트워킹 및 네트워크 폴리시를 제공함.

 

CNI-Genie

사용하면 쿠버네티스는 Calico, Canal, Flannel, Romana 또는 Weave와 같은 CNI 플러그인을 완벽하게 연결할 수 있음.

 

ACI

Cisco ACI로 통합 컨테이너 네트워킹 및 네트워크 보안을 제공함.

 

Calico

트워킹 및 네트워크 폴리시 제공자.

Calico는 유연한 네트워킹 옵션을 지원하므로 BGP 유무에 관계없이 

비-오버레이 및 오버레이 네트워크를 포함하여 가장 상황에 맞는 옵션을 선택할 수 있음. 

Calico는 동일한 엔진을 사용하여 서비스 메시 계층(service mesh layer)에서 

호스트, 파드 및 (이스티오(istio)와 Envoy를 사용하는 경우) 애플리케이션에 대한 네트워크 폴리시를 적용함.

 

Cilium

L3 네트워크 및 네트워크 폴리시 Addon으로 

HTTP/API/L7 폴리시를 투명하게 시행할 수 있음. 

라우팅 및 오버레이/캡슐화 모드를 모두 지원하며, 다른 CNI 플러그인 위에서 작동할 수 있음.

 

Contiv

다양한 유스케이스와 풍부한 폴리시 프레임워크를 위해 구성 가능한 

네트워킹(BGP를 사용하는 네이티브 L3, vxlan을 사용하는 오버레이, 클래식 L2 그리고 Cisco-SDN/ACI)을 제공함. 

 

Contrail

Tungsten Fabric을 기반으로 하며, 오픈소스이고, 멀티 클라우드 네트워크 가상화 및 폴리시 관리 플랫폼.

Contrail과 Tungsten Fabric은 Kubernetes, OpenShift, OpenStack 및 Mesos와 같은 오케스트레이션 시스템과 통합되어 있으며, 

가상 머신, 컨테이너/파드 및 베어 메탈 워크로드에 대한 격리 모드를 제공함.

 

Knitter

쿠버네티스 파드에서 여러 네트워크 인터페이스를 지원하는 Addon.

 

Multus

쿠버네티스에서 SRIOV, DPDK, OVS-DPDK 및 VPP 기반 워크로드 외에 

모든 CNI Addon(예: Calico, Cilium, Contiv, Flannel)을 지원하기 위해 쿠버네티스에서 다중 네트워크 지원을 위한 멀티 Addon.

 

OVN4NFV-K8S-Plugin

OVN 기반의 CNI 컨트롤러 Addon.

클라우드 네이티브 기반 서비스 기능 체인(Service function chaining(SFC)), 

다중 OVN 오버레이 네트워킹, 동적 서브넷 생성, 

동적 가상 네트워크 생성, 

VLAN 공급자 네트워크, 직접 공급자 네트워크와 멀티 클러스터 네트워킹의 엣지 기반 클라우드 등 

네이티브 워크로드에 이상적인 멀티 네트워크 Addon.

 

NSX-T 

컨테이너 플러그인(NCP)은 VMware NSX-T와 쿠버네티스와 같은 

컨테이너 오케스트레이터 간의 통합은 물론 

NSX-T와 PKS(Pivotal 컨테이너 서비스) 및 OpenShift와 같은 컨테이너 기반 CaaS/PaaS 플랫폼 간의 통합을 제공함.

 

Nuage

가시성과 보안 모니터링 기능을 통해 쿠버네티스 파드와 

비-쿠버네티스 환경 간에 폴리시 기반 네트워킹을 제공하는 SDN 플랫폼.

 

Romana

네트워크폴리시 API도 지원하는 파드 네트워크용 Layer 3 네트워킹 솔루션.

 

 

 

 


제 글을 복사할 시 출처를 명시해주세요.
글에 오타, 오류가 있다면 댓글로 알려주세요! 바로 수정하겠습니다!


 

 

참고

https://kubernetes.io/ko/docs/concepts/cluster-administration/addons/

https://arisu1000.tistory.com/27828

https://kubernetes.io/ko/docs/concepts/overview/components/

https://judo0179.tistory.com/57

 

해당 글을 보면 ingress 또한 addon 임을 알 수 있음

https://medium.com/humanscape-tech/kubernetes-%EB%8F%84%EC%9E%85-%EC%A0%84-minikube-%EC%82%AC%EC%9A%A9%EA%B8%B0-2eb2b6d8e444

 

 

 

 

반응형

'Kubernetes > Kubernetes 이론' 카테고리의 다른 글

Kubernetes Secret  (0) 2020.08.17
Kubernetes ConfigMap  (0) 2020.08.17
Kubernetes Pod 더 자세히 알아보기  (2) 2020.08.07
Kubernetes 설치 과정  (0) 2020.08.07
Kubernetes 이론  (8) 2020.08.05