PaaS-TA 로고

  • github
    PaaS-TA github
    수백만명의 개발자가 Github을 사용하여 개인 프로젝트를 구축하고 비즈니스를 지원하며 오픈 소스 기술을 함께 사용합니다.
  • paasta incubator
    PaaS-TA Incubator
    기업들이 파스-타를 활용할 수 있도록 지원 하고 있습니다.
  • cloudfoundry
    Cloud Foundry
    Cloud Foundry는 기업이 애플리케이션을 쉽고 빠르게 개발하고 배포하는데 필요한 속도, 단순성 및 제어 기능을 제공합니다.
  • youtube
    Youtube
    개방형 클라우드 플랫폼 파스-타 관련 동영상을 지원하고 있습니다.
닫기

컨테이너 플랫폼 - v1.4.0 단독 배포

개방형 클라우드 플랫폼 파스-타의 컨테이너 플랫폼 구성도 입니다.

아키텍처

클러스터는 기본 1개의 MasterNode와 n개의 WorkerNode로 구성된다. 
					구성된 클러스터에는 영구한 볼륨으로 사용할 수 있는 외부 스토리지가 추가로 연결된다.
					컨테이너플랫폼을 구성하는 요소는 클러스터내의 논리적인 그룹인 namespace로 구분하여 Pod로 배포된다.
					인증에 필요한 KeyCloak, 볼륨 프로비져닝을 위한 NFS-Provisioner,데이터 저장을 위한 MariaDB, 이미지 및 차트 저장소인 Harbor, 클러스터를 관리할수 있는 포탈로 구성된다.

구성 요소의 기능 및 역할

쿠버네티스 환경 (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를 파스타에서 서비스로 등록하여 사용할 수 있게 해주는 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 형태로 구성한다.

배포 흐름도

클러스터는 기본 1개의 MasterNode와 n개의 WorkerNode로 구성된다. 
					구성된 클러스터에는 영구한 볼륨으로 사용할 수 있는 외부스토리지가 추가로 연결된다.
					컨테이너플랫폼을 구성하는 요소는 클러스터내의 논리적인 그룹인 namespace로 구분하여 Pod로 배포된다.
					인증에 필요한 KeyCloak, 볼륨 프로비져닝을 위한 NFS-Provisioner, 데이터 저장을 위한 MariaDB, 이미지 및 차트 저장소인 Harbor, 클러스터를 관리할수 있는 포탈로 구성된다.

오픈소스 목록

오픈소스 목록
서비스 그룹 서비스 명 오픈소스 명 라이선스 비고
Container
Platform
- kubernetes Apache 2.0  
kubespray Apache 2.0  
harbor Apache 2.0  
mariadb GPL v2  
keycloak Apache 2.0  
terraform MLP 2.0  
ingress-nginx-controller Apache 2.0  
istio Apache 2.0  
kubeflow Apache 2.0  
vault MLP 2.0  
rook Apache 2.0