데모 구축, 프로토타입 실험, 일일 빌드, 버그 검증, 화이트박스, 블랙박스, 퍼즈, 성능, 규모 및 스트레스 테스트... 저는 매일 꽤 많은 Couchbase Server 클러스터를 생성하고 파괴합니다. 이러한 실험을 위해 요즘 제가 주로 사용하는 클라우드는 Azure입니다. Azure 팬을 위해 제가 OS-X El-Capitan에서 사용하는 github 프로젝트를 공유해 드립니다. 이 프로젝트는 일반 couchbaselabs 리포지토리에 있습니다: https://github.com/couchbaselabs/couchbase-azure
이 모든 작업을 완료하는 데 필요한 스크립트는 몇 가지뿐입니다.
- 전제 조건
- install_prereqs.sh - 더 간단한 스크립트를 통해 노드 및 azure-cli를 사용하여 OSx에서 설정할 수 있습니다. 물론 나머지 스크립트를 사용하기 전에 이 스크립트를 한 번 실행하세요. 설치하는 동안 몇 가지 경고가 표시될 수 있습니다. 모든 것이 제대로 작동하는지 확인하기 위해 마지막에 "azure 로그인"을 수행합니다. 다음과 같은 메시지와 함께 브라우저에 로그인하라는 메시지가 표시됩니다: "정보: 로그인하려면 웹 브라우저를 사용하여 https://aka.ms/devicelogin 페이지를 엽니다. 인증하려면 --- 코드를 입력하세요." 를 클릭하고 Azure 계정에 로그인할 때까지 기다립니다.
- 설정
- settings.sh - 설정 파일을 사용하여 azure 계정 정보, 구독 ID 및 카우치베이스 서버 설정을 채우세요. 자동화된 스크립트를 실행하기 전에 제공해야 하는 2개의 azure 설정이 있습니다. TODO의 설정 파일을 검색하여 변수를 확인할 수 있습니다. 다음은 설정에 최소한 입력해야 하는 사항입니다.
- Azure 설정:
- Azure 계정 및 구독 ID 제공: 다음을 사용할 수 있습니다. "azure login -u
“ 다음에 "AZURE 계정 쇼" 를 클릭하여 구독 ID를 얻습니다. - 인증서를 생성합니다: 인증서는 비밀번호 없는 연결에 사용됩니다. 자동화가 작동하려면 이 인증서가 필요합니다. 사용 "ssh-keyget" 를 사용하여 인증서를 생성합니다.
- Azure 계정 및 구독 ID 제공: 다음을 사용할 수 있습니다. "azure login -u
- 카우치베이스 설정:
- 또한 azure 관리자 계정 이름 및 암호(http://IP:8091 웹 콘솔에 로그인하는 데 사용)와 jumpbox 관리자 계정 및 암호(Windows 서버 jumpbox에 연결하는 데 사용)를 변경하는 것이 좋습니다.
- Azure 설정:
- settings.sh - 설정 파일을 사용하여 azure 계정 정보, 구독 ID 및 카우치베이스 서버 설정을 채우세요. 자동화된 스크립트를 실행하기 전에 제공해야 하는 2개의 azure 설정이 있습니다. TODO의 설정 파일을 검색하여 변수를 확인할 수 있습니다. 다음은 설정에 최소한 입력해야 하는 사항입니다.
그림: 할 일: 항목 강조 표시 추천 위
- 카우치베이스 서버 클러스터 생성 및 삭제
- create_azure_cluster.sh – 이 스크립트는 가상 머신을 프로비저닝하고, Couchbase Server를 다운로드 및 설치하고, 클러스터를 구성하는 자동화된 스크립트입니다. 먼저 Azure 구독에 로그인해야 합니다. 스크립트는 세 부분으로 구성되어 있습니다. vnet, 점프박스 및 카우치베이스 서버 클러스터 구성.
- VNet 구성 (가상 네트워크): 모든 노드가 10.0.* 주소를 통해 통신할 수 있도록 허용합니다. 이는 네트워크 효율성을 위해 수행됩니다.
- Jumpbox 구성: Couchbase Server 클러스터가 인터넷에 노출되지 않도록 Jumpbox가 필요합니다. Jumpbox는 클러스터와 동일한 vnet에 상주하며 관리를 위해 사설 IP를 통해 클러스터에 접속할 수 있습니다. 기본적으로 Windows 서버 노드입니다. 설정이 끝나면 RDP 주소와 포트가 콘솔에 에코됩니다. 다른 이미지를 지정하거나 disable_jumpbox 설정을 사용하여 점프박스를 아예 사용하지 않도록 설정할 수 있습니다.
- 클러스터 구성: 스크립트는 클러스터의 각 노드에 대해 vnet에 VM을 생성하고, 지정된 Couchbase Server 이미지를 다운로드 및 설치하며, 노드를 사용하여 클러스터를 구성합니다. 각 다운로드+설치 후 스크립트는 첫 번째 노드에 대해 클러스터 초기화, 후속 노드에 대해 추가, 마지막 노드에 대해 재밸런스를 실행합니다. 스크립트는 웹 콘솔 링크와 VM 및 클러스터 관리자 계정 정보를 에코합니다.
- create_azure_cluster.sh – 이 스크립트는 가상 머신을 프로비저닝하고, Couchbase Server를 다운로드 및 설치하고, 클러스터를 구성하는 자동화된 스크립트입니다. 먼저 Azure 구독에 로그인해야 합니다. 스크립트는 세 부분으로 구성되어 있습니다. vnet, 점프박스 및 카우치베이스 서버 클러스터 구성.
출력은 다음과 같이 표시됩니다.
- delete_azure_cluster.sh – 이것은 정리 스크립트입니다! 클러스터, 점프박스 및 vnet을 정리하고 배포합니다. 이 스크립트는 vm_name_prefix를 사용하여 노드를 찾아 삭제하므로 VM 이름에 고유한 접두사를 선택하는 것이 중요합니다. 각 노드에 대해 [예/아니오]로 삭제를 확인합니다. 빠르고 조용한 삭제를 원한다면(안전을 위해 스크립트를 몇 번 실험한 후) 설정 파일에서 fast_delete 모드를 켜면 됩니다.
출력은 다음과 같이 표시됩니다.
전체 스크립트 세트는 github에서 찾을 수 있습니다: https://github.com/couchbaselabs/couchbase-azure.
행복한 해킹!
-cihan