PaaS-TA

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

아키텍처

1. Kubernetes cluster
						1-1 Master node API server는 1-2 Worker nodes의 API로 상호작용
						1-2 Work nodes는 DASHBOARD, SERVICE-BROKER, API, COMMON API를 포함
						DASHBOARD는 SERVICE-BROKER, API와 상호작용, API는 COMMON API와 상호작용
						SERVICE-BROKER는 최종 3. SEMINI(Open PaaS PaaS-TA 5.5)와 상호작용
						2. BOSH release
						2-1 Private registry는 2-2 HAProxy와 상호작용, 2-2 HAProxy는 1-1Master node API server, 1-2 Worker nodes의 COMMON API와 상호작용, 또한 2-3 Database와 상호작용
						
						1.Kubernetes cluster의 더보기
						1영역 Developer/Operator는 2영역 Kubernetes Master의 API Server과 상호작용, API Server는 같은 영역 중 Controller Manager, Scheduler과 상호작용, 그 외 etcd 있음.
						2영역의 API Server는 하단 Kubernetes Node들의 Kublet과 상호작용, 이 Kubernetes Node는 Kubelet, cAdvisor, Kube-Proxy, 그 하위 Pod들을 포함, Kube-Proxy는 3영역 User와 상호작용.
						맨 하위 Plugin Network(eg Flannel, Weavenet, etc) 양쪽화살표 표시

구성 요소의 기능 및 역할

쿠버네티스 환경 (Control Plane, Worker Node)
  • 1 kube-apiserver
    쿠버네티스 API를 노출하는 쿠버네티스 컨트롤 플레인 컴포넌트이다.
  • 2 kube-controller-manager
    컨트롤러를 구동하는 마스터 상의 컴포넌트이다.
  • 3 cloud-controller-manager
    클라우드 별 컨트롤 로직을 포함하는 쿠버네티스 컨트롤 플레인 컴포넌트이다.
  • 4 kube-scheduler
    노드가 배정되지 않은 새로 생성된 Pod를 감지하고, 실행할 노드를 선택하는 컨트롤 플레인 컴포넌트이다.
  • 5 etcd
    모든 클러스터 데이터를 담는 쿠버네티스 저장소로 사용되는 고가용성 키-값 저장소이다.
  • 6 kubelet
    클러스터의 각 노드에서 실행되는 에이전트로 Pod에서 컨테이너가 정확하게 동작하도록 관리한다
  • 7 cAdvisor
    쿠버네티스에서 사용하는 기본적인 모니터링 에이전트로 모든 노드에 설치되어 노드에 대한 정보와 Pod에 대한 지표를 수집한다.
  • 8 kube-proxy
    클러스터의 각 노드에서 실행되는 네트워크 프록시이다.
  • 9 Pod
    쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위이다.
미들 환경
  • 1 HAPROXY
    HAPROXY는 소프트웨어 로드 밸런서로, API 서버 및 COMMON API 서버에 로드 밸런서를 제공한다
  • 2 API
    컨테이너 플랫폼에서 필요한 REST API를 제공한다.
  • 3 COMMON API
    컨테이너 플랫폼의 DBMS 메타 데이터 제어에 필요한 REST API를 제공한다.
  • 4 USER PORTAL
    사용자 포털은 웹 인터페이스를 통해 컨테이너 플랫폼을 사용할 수 있도록 하는 웹 애플리케이션이다.
  • 5 ADMIN PORTAL
    운영자 포털은 웹 인터페이스를 통해 컨테이너 플랫폼의 데이터를 관리 할 수 있도록 하는 웹 애플리케이션이다.
  • 6 DATABASE
    컨테이너 플랫폼 관련 메타 데이터를 관리하는 MariaDB DBMS이다.
  • 7 PRIVATE REGISTRY
    Docker 이미지를 저장하고 배포할 수 있는 Private Docker Registry 서버이다.

배포 흐름도

1.Kubernetes 배포는 1-1.Kubernetes Cluster로 보낸 후 1-2.KubeEdge배포와 Kubernetes Cluter 정보로 상호작용 1-3. CloudCore EdgeCore는 2.KubeEdge cluster영역으로 보냄 또한 1-3 CloudCore EdgeCore는 1-4. 컨테이너 플랫폼 프로젝트 배포(Docker image)로 KubeEdge cluster 정보를 통해 보낸 후 2.KubeEdge cluster영역으로 보냄. 
						2.KubeEdge cluster의 영역은 컨테이너 플랫폼 운영자포털과 컨테이너 플랫폼 사용자 포털 포함. 
						3.BOSH release배포는 3-1. BOSH VMs로 보냄. 3-1 BOSH VMs는 Private registry와 Database를 포함. 이 두 가지를 2. KubeEdge cluster영역으로 보냄.

오픈소스 목록

오픈소스 목록
서비스 그룹 서비스 명 오픈소스 명 라이선스 비고
Container
Platform
- kubernetes Apache 2.0  
kubespray Apache 2.0  
haproxy GPL v2  
mariadb GPL v2  
docker registry Apache 2.0  
대화