K-PaaS 로고

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

전체 구성도

개방형 클라우드 플랫폼 K-PaaS의 전체구성도입니다.
K-PaaS는 컨테이너 플랫폼, 어플리케이션 플랫폼, 사이드카, 서비스 뿐만 아니라 개발도구, 운영도구를 제공합니다.

전체 구성도

컨테이너 플랫폼 동작원리

컨테이너플랫폼은 Kubernetes Cluster 및 운영에 필요한 Storage 서버 로 구성하고, Description을 기반으로 컨테이너화 된 어플리케이션을 배포하는 방식으로 동작됩니다. 이렇게 배포된 어플리케이션은 최적의 노드로 배치하고, Description에 정의된 상태를 유지합니다.

컨테이너 플랫폼 동작원리 및 구성 이미지
K-PaaS 컨테이너플랫폼은 쿠버네티스 클러스터와 클러스터 사용을 지원할 3개의 VM으로 구성되어 있습니다. 클러스터는 Master Node한개와 서비스 규모에 따라 워커노드 N개 로 구성되며, 클러스터 내에는 클러스터 운영에 필요한 관리자포탈/사용자포탈 및 포탈지원을 위한 API가 컨테이너형태로 배포됩니다. 그리고 클러스터를 지원하는 3개의 VM으로는 클러스터에서 사용할 이미지를 관리할 수 있는 Private Image Repogitory와 클러스터 관리용 Meta데이터를 관리하는 Database, 그리고 이 두개의 VM의 GateWay 역할을 하는 HAProxy로 구성되어 있습니다. K-PaaS 컨테이너플랫폼은 Description 기반의 컨테이너화된 어플리케이션을 최적의 노드로 배치하고 Description에 정의된 상태를 유지합니다.

어플리케이션 플랫폼 동작원리

어플리케이션 플랫폼은 IaaS 자원 위에 여러 인스턴스(VM)들의 유기적인 조합으로 동작합니다.

어플리케이션 플랫폼 동작원리 및 구성 이미지
어플리케이션 플랫폼은 IaaS 자원 위에 여러 인스턴스(VM)들의 유기적인 조합으로 동작합니다. 물리서버(Hypervisor,Host Operating System,Intrastructure)에서 Hypervisor로 가상화를 통해 어플리케이션 플랫폼 VM들을 생성합니다. 어플리케이션 플랫폼은 router,api,diego-api와 metrics agent,route emitter,rep을 모함하여 Garden을 이용하여 app과 runtime, framework로 이루어진 Container들을 가상화 후 생성하여 앱을 실행합니다.

사이드카 동작원리

K-PaaS 사이드카는 컨테이너 플랫폼을 이용하여 Kubernetes Cluster 환경을 구성하고,
어플리케이션 플랫폼 사용자 경험 기반의 매우 심플한 명령어 "cf push"를 통해 어플리케이션을 배포할 수 있습니다.
이렇게 배포된 어플리케이션은 어플리케이션 플랫폼의 Garden 대신에 Kubernetes 최적의 노드에 Pod 형태로 배포됩니다.

사이드카 동작원리 및 구성 이미지
K-PaaS 사이드카는 컨테이너 플랫폼을 이용하여 Kubernetes Cluster 환경을 구성합니다 Kubernetes Cluster는 System Components 부분과 App workloads 부분으로 분리되어 있습니다 System Components는 Cloud Controller, Routing Controller, Logging, Eirini, Istio, Fluentd, UAA, Metrics, PostgresDB, kpack, Paketo buildpacks, Minio blobstore로 구성되어 있습니다 App workloads는 App Staging tasks, App Instance로 구성되어 있습니다.

구성 요소의 기능 및 역할

  • 컨테이너 플랫폼
    어플리케이션 플랫폼
    사이드카
    애플리케이션의 개발 및 배포, 실행/운영 관리를 위한 서비스를 제공합니다. 이 서비스는 Java, PHP, Ruby, Go 등 다양한 언어팩을 지원하여 애플리케이션 실행을 위한 컨테이너를 제공하며, 서비스 환경과 연계하여 데이터베이스, 메시지 큐 등 PaaS 내부 및 외부 서비스를 사용할 수 있도록 지원합니다. 또한, PaaS 기능 사용을 위한 계정 등록 및 접근 인증, 인증 후 사용할 수 있는 API나 제어가 가능한 리소스에 대한 제어를 수행하는 권한 관리, 애플리케이션에 접근하기 위한 접근관리 서비스를 제공합니다.
  • 서비스
    서비스는 응용애플리케이션 실행 시 RDBMS, NoSQL, 메시징 서비스 등 다양한 대외 백엔드 플랫폼 서비스와 연계를 위한 대외 서비스 브로커를 제공하며 내외의 API 관리 및 연계를 위한 API 관리 서비스를 제공합니다.
  • 운영도구
    운영도구는 인프라 제어 및 연동과 애플리케이션 플랫폼을 위한 관리 서비스를 정의하고 있습니다. 관리자를 위한 운영 대시보드와 개별 테넌트 및 모니터링 대시보드와 로그 관리, 미터링 플러그인 서비스를 제공합니다.
  • 개발도구
    PaaS 플랫폼을 활용하여 응용애플리케이션을 개발 및 배포, 운영하기 위한 셀프서비스 포털과 개발도구를 제공합니다.
대화