본문 바로가기

프로젝트

(9)
Kubevirt를 활용한 VM 및 컨테이너 통합 관리 프로젝트 9 / 프로젝트 의의 프로젝트 의의 지금까지 oVirt 클러스터에서 마이그레이션한 DB VM과 컨테이너에 포함된 워드프레스 웹서비스를연동하는 프로젝트를 보여주었다. 이 프로젝트를 통해서 기술적으로 소개해드리고자한 것은 PaaS 솔루션인 OKD 와 같은 일반적인 쿠버네티스 환경위에서 VM과 컨테이너를 동시에 통합하여 운용 및 관리할 수 있다는 것이다. VM을 컨테이너처럼 운용할 수 있다면 보다 더 유연하게 인프라를 관리할 수 있고, CI/CD를 통해 자동화를 가능하게 해주고, MSA 환경에 맞추어 애플리케이션을 효율적으로 개발하고 배포할 수 있다. 결과적으로 효율적인 클라우드 환경 구축을 가능하게 하는 것이다. 기존에 구축되어 있는 VM기반의 워크로드를 일순간에 컨테이너 기반의 플랫폼에 맞추어 변환하는 것은 불가능에 가깝다. ..
Kubevirt를 활용한 VM 및 컨테이너 통합 관리 프로젝트 8 / Web 컨테이너와 DB VM 연결 1) Web 컨테이너와 DB VM연결 아키텍처 마이그레이션한 DB VM은 local-storage 네임스페이스에 존재하고, OKD에서 생성한 웹 컨테이너는 default 네임스페이스에 존재한다. 이렇게 네임스페이스가 다르면 둘을 연결할 수가 없다는 문제가 생긴다. 따라서 default 네임스페이스에 mariaDB 서비스를 하나 더 생성하여 externalName으로 local-storage에 있는 mariaDB 서비스와 연결될 수 있도록 구성했다. 즉, 사용자가 워드프레스 서비스인 wp-svc에 NodePort를 통해 접속을 하면, default의 mairaDB 서비스가 externalName을 통해 실제 DB-VM이 있는 네임스페이스의 서비스로 연결되어, 웹 컨테이너와 DB VM을 연동시킬 수 있다. ..
Kubevirt를 활용한 VM 및 컨테이너 통합 관리 프로젝트 7 / VM Migration (Forklift) 1) Forklift 제품 소개 Forklift는 가상 머신을 KubeVirt로 마이그레이션하기 위한 Konveyor 커뮤니티의 오픈소스 도구이다. OKD 콘솔에서 제공하는 오퍼레이터 허브에서 쉽게 설치해서 사용할 수 있으며, VM에 네트워크 및 스토리지 리소스를 매핑하고, 디스크 이미지를 이동 또는 변환하여 마이그레이션을 수행하는 역할을 한다. forklift로 마이그레이션할 때 vm을 제공하는 프로바이더를 선택할 수 있다. 프로바이더는 레드햇의 주요 프로젝트인 oVirt, KubeVirt 뿐 아니라 대표적인 가상화 소프트웨어인 VMware가 있으며, openStack 또한 추가될 예정이라고 한다. 저희는 oVirt 클러스터의 VM을 가져오는 것으로 프로젝트를 진행했지만, 이처럼 현재 엔터프라이즈에서 ..
Kubevirt를 활용한 VM 및 컨테이너 통합 관리 프로젝트 6 / OKD 1) OKD 소개 OKD는 Openshift의 오픈 소스 커뮤니티 버전이다. Openshift는 컨테이너 기반의 소프트웨어의 배포와 관리를 위한 PaaS 플랫폼이다. 데브옵스를 위한 다양한 오픈소스 도구들이 추가된, RedHat사에서 개발하는 쿠버네티스 배포판이다. OKD를 사용하면 GUI 콘솔에서 컨테이너뿐 아니라 operator, 서비스, PV, PVC 같은 리소스를 관리할 수 있어 매우 편리하고, 프로메테우스, 그라파나 같은 모니터링 툴이 포함되어 있어서 클러스터의 자원이나 이슈 등을 손쉽게 확인할 수 있다. 또한 애플리케이션을 빌드하고 배포, 확장, 상태 관리까지 내장되어 있는 CI/CD 도구등을 이용하여 자동화할 수 있다는 장점이 있다. 2) OKD Cluster 아키텍처 OKD 클러스터 구성도..
Kubevirt를 활용한 VM 및 컨테이너 통합 관리 프로젝트 5 / Kubevirt를 사용하여 VM 생성하기 'kubevirt'는 쿠버네티스로 컨테이너 뿐 아니라 가상머신까지 관리할 수 있는 virtual machine management 애드온이다. KubeVirt 기술은 Kubernetes 를 채택했거나 채택하고자 하지만 쉽게 컨테이너화 할 수 없는 기존 가상 머신 기반 워크로드를 보유 하고 있는 개발 팀의 요구 사항을 해결한다 . 보다 구체적으로, 이 기술은 개발자가 공통의 공유 환경에서 가상 머신과 애플리케이션 컨테이너에 있는 애플리케이션을 구축, 수정 및 배포할 수 있는 통합 개발 플랫폼을 제공한다. 이점은 광범위하지만 중요하다. 기존 가상 머신 기반 워크로드에 의존하는 팀은 애플리케이션을 신속하게 컨테이너화할 수 있다. 개발 워크플로에 직접 배치된 가상화된 워크로드를 사용하여, 개발팀은 원하는 대로 ..
Kubevirt를 활용한 VM 및 컨테이너 통합 관리 프로젝트 4 / VM 및 컨테이너 비교 가상화 클러스터는 마이그레이션, 고가용성 등의 여러 장점들 때문에 현재까지 주요한 엔터프라이즈 아키텍처로 활용되고 있다. 하지만, 클라우드 컴퓨팅에서 이미 널리 쓰이는 서버 가상화 기술이 있는데 왜 컨테이너가 인기를 끄는 것일까. 가장 큰 이유는 가볍다는 것이다 컨테이너는 VM과 달리 게스트OS와 하이퍼바이저가 없다는 측면에서 차별성을 보인다. 일반적으로 컨테이너에는 게스트 OS가 포함되지 않아 수십 MB에 불과하지만 VM은 게스트 OS가 포함되므로 보통 수 GB가 넘는다. 이처럼 컨테이너 방식은 기존의 가상머신 방식보다 시스템이 경량화 되어 있기 때문에 더 많은 응용프로그램을 하나의 물리적 서버에서 구동시키는 것이 가능하며, 쉽게 확장 또는 축소할 수 있다. 또한, 컨테이너는 운영체제 부팅이 필요 없기..
Kubevirt를 활용한 VM 및 컨테이너 통합 관리 프로젝트 3/ Wordpress Cluster 1) Wordpress Cluster 아키텍처 DB 3대는 갈레라 클러스터로, 웹 2대는 GlusterFS로 묶어 데이터를 동기화하고, DB와 WEB 사이에 HA프록시 서버를 두어 DB의 데이터를 워드프레스에 연결되도록 하여 서비스의 중단을 최소화 하기위한 고가용성을 확보했다. 2) Wordpress Cluster 동기화 (1) Galera Cluster 갈레라 클러스터는 동기방식의 복제 구조를 사용하는 오픈 소스다. 함께 묶여 있는 클러스터 노드 중에 한 군데에 업데이트가 발생하면, 데이터를 쓰기 전에 다른 노드에 복제 요청을 보내고 모두 OK 응답을 받았을 때 데이터를 저장한다. 따라서 전체 노드에 데이터가 항상 일관성있게 저장되고, 모든 노드가 마스터 노드로 작동하기 때문에 특정 노드에 장애가 발생..
Kubevirt를 활용한 VM 및 컨테이너 통합 관리 프로젝트 2 / oVirt 1) oVirt 소개 oVirt는 하나 이상의 엔터프라이즈 데이터 센터에 걸쳐 호스트, 가상 서버, 데스크탑을 한 곳에서 관리할 수 있는 오픈소스 가상화 플랫폼이다. oVirt는 현재까지 꾸준히 지속개발 되어 신뢰할 수 있는 KVM 하이퍼바이저를 사용하며, libvirt, Gluster, PatternFly 및 Ansible을 포함한 여러 다른 커뮤니티 프로젝트를 기반으로 구성되어 벤더락인이 걸리지 않는 점이 있다. 또한 다양한 가상머신의 하드웨어적 구성요소의 관리가 간편하다는 장점이 있다. 호스트간 자동 마이그레이션 기능을 통해 고가용성을 달성할 수 있다. 따라서 가상머신 상의 서비스를 지속적으로 제공가능한다. 2) oVirt 구성 오버트 클러스터는 엔진, 호스트, 스토리지로 구성된다. 엔진은 그래픽 ..