Playce Kube 란?
Playce Kube는 CNCF의 Kubernetes를 기반으로 하는 Enterprise환경을 쉽게 구성해주는 All in One Package Solution입니다.
Open Source Consulting에서 배포하고 있으며, Kubernetes라는 Paas기반에 MSA시스템에 필수적인 CI/CD, Service Mesh, EFK, Monitoring, Backup, Dashboard 등의 소프트웨어를 연동된 상태로 설치할 수 있게 지원하는 패키지입니다.
(엔터프라이즈 환경을 기준으로 하므로 전체 설치를 할 경우, 고 사양의 시스템 환경을 요구합니다. Kubernetes만 설치도 가능합니다.)
*github : https://github.com/playcecloud/playcekube
기존 레거시 환경 그리고, Kubernetes를 이용하여 구성하는 Paas환경 중, 현업 혹은 DevOps 환경 등에서 Opensource를 사용하여 제공하는 패키지는 현재 Playce Kube밖에 없다고 봐야 합니다. Kubernetes를 이용한 System을 구축하려는 사용자 혹은 회사는 서비스를 구성하기 위해 Kubernetes, CI/CD, Service Mesh, EFK, Monitoring, Backup, Dashboard 등은 모두 필요하지만 이를 한 번에 묶어서 제공하는 패키지는 없기에 Playce Kube는 매우 유용한 패키지라고 볼 수 있습니다.
Playce Kube는 물리 서버와 Public Cloud 그리고 Private Cloud를 모두 지원하며, OS는 Debian 계열의 Ubuntu, Redhat 계열 CentOS를 대신할 Rocky Linux를 지원해서 원하는 환경에 편하게 구성 할 수 있습니다. 이때 가상 환경인 OIS의 OpenStack을 사용하여, Playce Kube를 구성되는 Placye Cloud 환경이 되는데 Opensource환경에서 최고의 구성이 될 것입니다.
Playce kube를 전체 설치 할 경우는 우리는 좀 더 빠른 Enterprise 환경을 구축할 수 있는데요. 이 패키지를 이용할 경우, 최소한의 하드웨어로, 소규모 DevOps환경 혹은 테스트 용도와 실제 서비스의 운영전 구성확인(Test Bad) 등을 간편하고 손쉽게 구축하여 테스트 할 수 있고, 성능의 확장을 도모한다면 구성의 전환없이 그즉시 운영환경으로 전환이 가능하게됩니다. 물론 하드웨어가 모두 준비되어 있고, 확장에 부담이 없다면 Playce Kube만을 구성하여 네트워크 연결만 된다면, Kubernetes특성상 이관과 전환이 쉽게 진행될 수 있습니다. 구현하는 서비스의 성격에 맞추어 Package를 선택해, 목적에 맞는 시스템을 구성할 수 있는 장점도 있습니다.
( Ex: EFK와 Service Mesh를 제외한 개발된 어플리케이션이 즉시 배포 가능하고 모니터링이 가능한 시스템 구축 가능 )
Playce Kube에서 제공하는 구조는 준비된 하드웨어 환경에 Kubernetes를 구축 하여 플랫폼을 완성 한 후, 필요한 Software를 구축하여 연동하는 방식입니다. 모든 엔지니어 혹은 인프라 관리자들은 하나의 통합된 시스템을 구축하는것은 많은 인원들이 시간과 사전 지식들을 조합하고 구축하는것에 어려움을 격게되죠.
하지만 하나의 패키지로 한번에 엔터프라이즈 환경구성이 마법과 같이 된다면 많은 시간과 노력, 그리고 인적자원을 줄 일 수 있게 됩니다.
이런 부분에서 본다면 Playce Kube는 매우 큰 장점으로 다가올 것입니다. 물론 인프라를 구축하기 위해 많은 자원들이 요구 되지만 우리가 필요로 하게 되는 Kubernetes사용 조합만을 구성한다면, 최소한의 성능을 이용해 사용하고 운영 할 수도 있을 것입니다.
물론 단점도 존재 합니다. 여러번 언급되었지만 Kubernetes의 구성에는 많은 하드웨어 자원이 필요합니다. Kubernetes자체의 하드웨어 자원의 요구도 있지만 Kubernetes에서 운용하고자 하는 소프트웨어들의 성능 요구사항도 높기 때문입니다. 이런 부분은 개인이 서버를 소유하지 않는한 어려움으로 다가올 수 있습니다. 물론 Test 서버를 지원 받을 수 있거나, Amazon의 AWS혹은 Google의 GCP를 이용할 수 있는 환경이라면 좋겠지만 저를 비롯한 많은 분들은 이러한 환경이 아니시겠죠?
사설이 길었습니다만 저는 최소한의 하드웨어 환경에서 구축을 하고 테스트 하고있고, Playce Kube를 사용하여 어디까지 시스템이 구축하능한지 도전해보려고 합니다.
우선 사용하고자 하는 Playce Kube에 대해서 보겠습니다.
위에서 언급한 것처럼 Playce Kube는 Open Source Consulting Inc. 에서 패키징한 Kubernetes기반의 사용자 환경 패키지입니다. github에 공개되어 있는 패키지로 현재(2023/05/06)기준으로 v2.0.0 버전까지 공개되어 있는데요. Kubespary를 통한 Kubernetes구축과 helm을 통한 Add-on ( Add-on 목록 )구축으로 이루어져 있습니다. Kubernetes v1.22.8를 기반으로 하는 Add-on은 CI/CD, Auth, Service Mesh, backup, monitoring 등이 있고 간단한 데모 예제들이 제공됩니다.
제공되고 있는 설치 메뉴얼이 있어서 한번 읽어보면 좋을거 같네요.
*참고 : 설치 메뉴얼
가장 중요한 설치 구조를 한번 보겠습니다.
Cloud Platform 과 하드웨어 플랫폼을 모두 지원하고, CentOS7, Rocky Linux8, Ubuntu 20.04, Ubuntu 22.04의 OS가 지원되네요. 최소 6기의 서버를 요청 하고 있고, Deploy 서버 1ea, Control-plane 3ea, Worker 2ea 를 필요로 합니다.
네트워크는 deploy 서버에서만 최소 2개의 NIC 이 필요해 보입니다만 외부 네트워크용 1ea와 내부 네트워크 1ea라 동일 사용도 가능 할 것으로 보입니다.
설치 구성은 순서를 보자면 1)서버 준비 2)네트워크 환경 생성 3)deploy서버 패키지 다운로드 4)deploy서버 패키지 conf파일 수정 5)deploy패키지 설치 6)클러스터 설치 env파일 수정 7)Kubernetes 설치 7)Add-on 설치 로 나뉠 수 있겠네요.
인터넷이 안되는 환경을 고려하여 각 종 OS의 repository도 따로 제공해주고 있지만 용량이 상당하군요. 만약 따로 OS이미지디스크가 있다면 사용해도 좋은것같습니다.
패키지를 다운 받기위해 경로를 생성하고 해당 경로에 설치 파일과 Repository파일을 다운로드 한 후, Deploy 서버를 구축합니다. 그 이후, 준비된 서버의 정보를 env파일에서 수정하여 Kubernetes를 구축하고 원하는 Add-on을 설치하여 Playce Kube를 완성합니다.
위 내용을 요약하자면, Playce Kube는 Kubespray를 통해 Kubernetes를 구축하여, 주기적으로 발생하는 Kubernetes의 업그레이드를 지원 하는 장점이 있는거 같습니다. 물론 동일한 컨피그로 구축, 업그레이드를 하기때문에 Kubernetes의 테스트 및 동일 환경 구성에 아주 큰 강점으로 보이고, helm차트를 이용해 구축된 환경에 맞는 패키지들을 설치 하는것으로 보입니다. 이렇게 되면 각 구축 환경별로 설치되는 Add-on들을 재 설치나 관리가 쉽게 될 것 같습니다.
이제 실제 환경을 구축하면서, Kubernetes를 이용한 운영환경을 만들어 테스트를 해볼텐데요. 신나는 구축이 되었으면 좋겠네요.
'kubernetes' 카테고리의 다른 글
Playce Kube - 설치 확인 (0) | 2023.05.13 |
---|---|
Playce Kube - 서버 준비 (0) | 2023.02.21 |
Playce Kube - System Design (0) | 2023.01.14 |
Playce Kube - 설치 (0) | 2023.01.14 |
Kubernetes 구조 (2) | 2021.03.03 |