컨테이너 플랫폼 - v1.4.0 단독 배포
개방형 클라우드 플랫폼 K-PaaS의 컨테이너 플랫폼 구성도 입니다.
구성 요소의 기능 및 역할
쿠버네티스 환경 (Control Plane, Worker Node)
-
1
kube-apiserver
쿠버네티스 API를 노출하는 쿠버네티스 컨트롤 플레인 컴포넌트이다.
-
2
kube-controller-manager
컨트롤러를 구동하는 마스터 상의 컴포넌트이다.
-
3
kube-scheduler
노드가 배정되지 않은 새로 생성된 Pod를 감지하고, 실행할 노드를 선택하는 컨트롤 플레인 컴포넌트이다.
-
4
etcd
모든 클러스터 데이터를 담는 쿠버네티스 저장소로 사용되는 고가용성 키-값 저장소이다.
-
5
kubelet
클러스터의 각 노드에서 실행되는 에이전트로 Pod에서 컨테이너가 정확하게 동작하도록 관리한다
-
6
cAdvisor
쿠버네티스에서 사용하는 기본적인 모니터링 에이전트로 모든 노드에 설치되어 노드에 대한 정보와 Pod에 대한 지표를 수집한다.
-
7
kube-proxy
클러스터의 각 노드에서 실행되는 네트워크 프록시이다. 기본적으로 IPVS 모드로 설정되어 있다.
-
8
Pod
쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위이다.
컨테이너플랫폼 어플리케이션
-
1
Portal-API
컨테이너플랫폼에서 필요한 REST API를 제공한다.
-
2
Common-API
컨테이너플랫폼의 DBMS 메타 데이터 제어에 필요한 REST API를 제공한다.
-
3
Portal-UI
컨테이너 플랫폼 포탈은 웹 인터페이스를 통해 컨테이너 플랫폼을 사용할 수 있도록 하는 웹 어플리케이션이다.
-
4
Portal-Broker
Portal-UI를 K-PaaS에서 서비스로 등록하여 사용할 수 있게 해주는 Broker이다.
-
5
Harbor
Docker 이미지 및 helm Chart를 저장할 수 있는 저장소 이다.
-
6
NFS-provisioner
NFS Volume을 자동으로 binding하도록 지원하는 역할을 한다.
-
7
Mariadb
컨테이너플랫폼 관련 메타 데이터를 관리하는 MariaDB DBMS 이다.
-
8
Keycloak
컨테이너플랫폼 서비스간 SSO를 위한 인증기능을 담당한다.
-
9
Terraman
멀티 클러스터 배포 및 관리 기능을 사용할 수 있도록 하는 어플리케이션이다.
-
10
Metric-API
클러스터, 노드의 상태를 체크하는데 필요한 REST-API를 제공한다.
-
11
Ingress-nginx-controller
인그레스 리소스가 작동하기 위한 Nginx 기반 인그레스 컨트롤러이다.
-
12
Istio
컨테이너의 연결, 모니터링 및 보안을 클러스터에서 실행하는 구성 가능한 서비스 메시이다.
-
13
Kubeflow
머신러닝 워크플로를 쉽게 배포할 수 있게 해주는 툴킷이다.
-
14
Vault
컨테이너플랫폼의 Secret 정보를 안전하게 저장하고 관리한다.
-
15
Rook
Ceph 스토리지를 Pod 형태로 구성한다.
배포 흐름도
오픈소스 목록
서비스 그룹 | 서비스 명 | 오픈소스 명 | 라이선스 | 비고 |
---|---|---|---|---|
Container Platform |
- | kubernetes | Apache 2.0 | |
kubespray | Apache 2.0 | |||
harbor | Apache 2.0 | |||
mariadb | GPL v2 | |||
keycloak | Apache 2.0 | |||
terraform | MPL 2.0 | |||
ingress-nginx-controller | Apache 2.0 | |||
istio | Apache 2.0 | |||
kubeflow | Apache 2.0 | |||
vault | MPL 2.0 | |||
rook | Apache 2.0 |