프로비저닝없이 VM 프로비저닝 스크립트를 테스트하는 방법


10

현재 테스트에 돈과 시간이 많이 소요되는 주에 있습니다.

배경 : softlayer에 VM을 배포하고 있으며 VM이 준비된 후 필요한 모든 소프트웨어를 설치하는 배포 후 스크립트 (bash)를 사용하고 있습니다. 문제는 하나의 VM을 배포 하여이 스크립트 만 테스트 할 수 있으며 현재 스크립트를 완료하는 데 약 4 시간이 걸리는 것입니다. 스크립트가 깨 졌는지 아닌지 확인하기 위해 4 시간.

이런 종류의 상황에 접근하고 매번 새로운 VM을 배포 할 필요없이 프로비저닝 스크립트를 더 빠르게 테스트 할 수있는 새로운 방법이 필요합니다.

이 시나리오에서 나를 도울 수있는 도구를 알고 있습니까?


4
프로비저닝 (bash) 스크립트를 로컬 dev VM에서 로컬로 실행하여 테스트 할 수 없습니까?
Rekovni

3
이곳은 프라이빗 클라우드가 빛을 발하는 곳입니다. 하나를 구입하고 설정하면 현재하고있는 것보다 비용이 적게들 수 있습니다. 숫자를 실행하십시오. 당신에게 어떤 의미가 있는지보십시오.
병아리

답변:


10

몇 가지 옵션을 볼 수 있습니다.

  • Vagrant를 사용하여 VM을 만듭니다. VM (기본 OS 포함)을 만드는 프로세스와 실제 프로비저닝을 분리합니다. 또한 특정 상황에서만 특정 프로비저닝 단계를 실행하는 몇 가지 옵션이 있습니다.
  • Ansible, Puppet 또는 이와 유사한 것을 사용하여 매번 동일한 작업을 수행하지 않고 필요한 작업 만 수행하는 프로비저닝 모드로 전환하십시오. 즉, 작업을 시작하고 첫 번째 실패한 부분에서 중지 할 수 있습니다. 해당 부분을 수정 한 다음 계속하십시오.
  • Docker를 사용하십시오. 이것은 컨테이너를 생성한다는 점에서 Vagrant / Ansible 접근법과 약간 다릅니다 (실제로 필요하지 않은 한). Ansible 방식을 뛰어 넘어 매우 정교한 단계별 개발 프로세스를 제공한다는 이점이 있습니다. 즉, 한 단계가 실패해도 여전히 모든 이미지를 얻을 수 있으므로 개발 과정에서 약간의 훈련을 받으면 실제로 매우 빠릅니다.

이러한 도구는 모두 필요한 것보다 훨씬 많은 기능을 수행하지만 점진적으로 작업을 수행 할 수있는 방법을 제공합니다. 방랑자, Ansible 및 Docker는 내가 염려하는 한 (배우기 / 테스트 모드에있는 한 생산에 갈 때 "흥미로운"부품이 시작됨) 배우기 매우 쉽습니다. Ansible은 매우 미니멀하며 ssh 연결을 제외하고는 아무것도 필요하지 않습니다. 당신의 인프라에서 유랑자와도 커가 실현 가능하지 않을 수도 있습니다.


6

http://www.vagrantup.com

vagrant를 사용하여 로컬 랩톱에 VM을 배포 할 수 있습니다.

스크립트를 작은 부분으로 나눌 수 있는지 여부를 검사하여 테스트하는 데 4 시간이 걸리지 않습니다.


5

로컬 테스트가 옵션이 아닌 경우 가장 간단한 방법은 디스크 볼륨 스냅 샷 / 백업을 활용하는 것입니다. 이것들은 여전히 ​​$$$이지만, 장기적으로 시간을 절약 할 수 있습니다. 그런 다음 bash 스크립트를 개별적으로 테스트 할 수있는 다른 작업 세그먼트 / 스크립트로 분리해야합니다. 서버가 프로비저닝되면 스크립트를 실행 한 다음 스냅 샷을 작성하십시오. 성공한 경우 다음 스크립트를 실행하고 스냅 샷을 작성한 다음 헹구고 반복하십시오. 스크립트가 실패하면 스크립트를 수정하고 마지막으로 성공한 스냅 샷으로 되 돌린 다음 다시 시도하십시오.

참고 : IBM Cloud / Softlayer에서 가상 머신 디스크의 스냅 샷을 작성할 수 있는지 확실하지 않지만 VM 이미지를 매우 쉽게 작성할 수 있습니다.

가상 머신 이미지 백업

인스턴스에서 가상 머신 이미지를 백업 할 수 있습니다. 이 기능은 나중에 복원 할 수있는 가상 머신 이미지 및 클라우드 구성의 사본을 만듭니다. 또한 이러한 백업 이미지를 관리 할 수 ​​있습니다. 백업 이미지에 대한 자세한 내용은 다음과 같습니다.

백업 이미지는 가상 머신 이미지와 클라우드 구성의 정확한 사본입니다. 이미지 정리가 수행되지 않습니다.

  • 백업 이미지를 새 인스턴스로 배포 할 수 없습니다. 연결된 가상 머신 이미지 및 클라우드 구성을 복원하는 데만 사용할 수 있습니다.

  • 프로젝트 소유자 (또는 관리자) 만 백업 가상 머신 이미지 및 백업 가상 머신을 복원 할 수 있습니다.

  • OpenStack 클라우드를 사용하는 경우 동시에 하나의 인스턴스 백업 조작 만 허용됩니다. 다른 사용자가 백업을 실행 중이고 동일한 인스턴스에서 백업을 시작하면 충돌하는 요청이 있다는 오류가 표시됩니다. 백업을 수행하려면 다른 백업이 완료 될 때까지 기다려야합니다.

  • OpenStack PowerVM® 및 z / VM® 인스턴스는이 조치를 지원하지 않습니다.

  • OpenStack과 함께 IBM® Cloud Manager를 사용하여 인스턴스를 삭제하면 연관된 백업도 삭제됩니다.

https://www.ibm.com/support/knowledgecenter/en/SST55W_4.1.0/liacb/liacbsaverestorevsvmw.html

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.