함께 카우치베이스 카펠라완전 호스팅형 DBaaS를 사용하면 몇 분 안에 전체 Couchbase 클러스터를 프로비저닝할 수 있습니다. Couchbase 배포에 대한 전문 지식이 없어도 모든 인프라를 프로비저닝, 구성, 보안, 최종 사용 준비까지 모두 완료할 수 있으니 정말 혁신적입니다! 이전에는 이러한 종류의 관리 작업을 프로젝트 팀에서 수행했으며 성공 여부를 측정하는 데 몇 주가 걸렸지만, 이제 이 모든 작업을 GUI를 통해 몇 분 만에 수행할 수 있습니다.
하지만 사용하기 쉬운 GUI를 구축하는 데 그치지 않고 다양한 목적으로 클러스터를 프로비저닝하는 데 사용할 수 있는 API도 출시했습니다. GUI도 훌륭하지만, 업무를 처리하는 동안 백그라운드에서 스크립트를 실행하거나 xkcd를 읽는 것만큼 좋은 것은 없습니다.
클러스터 프로비저닝을 자동화하면 일시적인 클러스터 환경과 여러 클러스터를 만들어야 하는 사용 사례(예: 지리적 분산 복제) 모두에서 많은 시간을 절약할 수 있습니다. 여기서 핵심은 수고를 줄이는 데에도 도움이 됩니다, SRE 핸드북에 따라이는 빙산의 일각에 불과할 수 있습니다.
자동화된 프로비저닝에 이어 다음과 같은 작업을 시작할 수 있습니다. API를 통해 클러스터 구성 뿐만 아니라 스크립트 프로세스. Capella의 핵심 원칙 중 하나는 Couchbase의 전문성을 자동화하고 활용하여 주요 비즈니스 목표를 전달하고 달성하는 데 집중할 수 있도록 하는 것, 즉 기업의 경쟁 우위를 확보하는 것입니다.
수고를 줄이고 데이터베이스가 아닌 비즈니스 문제를 해결하는 데 시간을 할애하는 것이 어떤 것인지 맛보기 위해, GUI 상호 작용 없이 API를 통해 클러스터를 프로비저닝할 수 있는 Python 스크립트를 만들었습니다. 이 스크립트는 Jon Giffard(Capella의 수석 제품 관리자)가 만든 API 헬퍼를 사용하며, 사용자 지정 가능한 구성을 기반으로 클러스터를 생성합니다.
Python 및 API 키 설정
내 이 저장소이 있으며 README 에 나열된 필수 파이썬 라이브러리를 설치하는 방법과 전제 조건에 대해 설명합니다. 요구 사항.txt. 시스템이 필수 요건을 충족하고 요구 사항을 설치한 경우입니다, 다음 문서를 사용하여 API 키를 생성하세요. 카펠라 테넌트의 경우 ( 조직 소유자 역할이 있어야 키를 생성할 수 있습니다).
생성한 키를 가져와서 API 키를 변수로 내보내거나 환경 변수.py 파일 내의 capellaAPI 폴더에 설명된 대로 README. 실행하여 이러한 단계가 성공적으로 수행되었는지 테스트할 수 있습니다:
1 |
python3 getClouds.py |
를 실행할 때 다음과 유사한 출력이 표시되면 getClouds.py 테스트 스크립트를 실행하면 환경을 성공적으로 설정한 것입니다:
프로비저닝 스크립트 자동화
환경 설정이 완료되었으면 이제 자동화 스크립트를 테스트할 차례입니다. 자동화 스크립트를 python 폴더가 저장소의 자동화.py 파일을 생성합니다. 이 파일은 단 두 개의 인수를 받습니다. 프로젝트 이름과 클러스터 이름 - 스크립트를 실행하기 전에 프로젝트를 생성해야 합니다.
어느 정도 자동화되어 있지만 초기 설정이 필요하지만, 프로젝트를 생성하고 나면 자동화.py 스크립트.
예를 들어 Capella 테넌트에서 이미 다음과 같은 프로젝트를 만든 경우 샘 데모 로 설정하면 해당 프로젝트에 클러스터를 생성할 수 있습니다. 오토 이렇게요:
1 |
python3 자동화.py -pn "sam-demo" -cn "오토 클러스터" |
그러면 다음과 같은 결과물이 표시됩니다(간결성을 위해 편집됨):
1 2 3 4 5 6 7 8 9 10 11 12 |
samredman@LEM0210 python % python3 자동화.py -pn "sam-demo" -cn "오토 클러스터" 2022-03-15 19:02:04,142 - capellaAPI.CapellaAPI - 정보 - /v2/상태 2022-03-15 19:02:04,784 - capellaAPI.CapellaAPI - 정보 - /v2/프로젝트?페이지당=100 2022-03-15 19:02:04,954 - capellaAPI.CapellaAPI - 정보 - /v3/클러스터 2022-03-15 19:02:06,659 - capellaAPI.CapellaAPI - 정보 - /v2/상태 2022-03-15 19:02:06,957 - capellaAPI.CapellaAPI - 정보 - /v3/클러스터/a0e04426-a6cb-4bd9-8bb8-c9232b22b23d/상태 2022-03-15 19:02:12,096 - capellaAPI.CapellaAPI - 정보 - /v3/클러스터/a0e04426-a6cb-4bd9-8bb8-c9232b22b23d/상태 2022-03-15 19:02:17,251 - capellaAPI.CapellaAPI - 정보 - /v3/클러스터/a0e04426-a6cb-4bd9-8bb8-c9232b22b23d/상태 2022-03-15 19:02:22,419 - capellaAPI.CapellaAPI - 정보 - /v3/클러스터/a0e04426-a6cb-4bd9-8bb8-c9232b22b23d/상태 2022-03-15 19:02:27,580 - capellaAPI.CapellaAPI - 정보 - /v3/클러스터/a0e04426-a6cb-4bd9-8bb8-c9232b22b23d/상태 현재 클러스터 상태: 배포 확인 의 카펠라 API, 지금 생성 클러스터 오토-클러스터 |
반복 검사 중 일부를 제거했으므로 5초마다 업데이트를 받을 수 있으며, 필요에 따라 간격을 자유롭게 수정할 수 있습니다. 클러스터를 만드는 데 몇 분이 걸릴 수 있으므로 이 간격이 적절한 간격일 수 있습니다. 더 자주 확인한다고 해서 더 많은 정보가 추가되지는 않지만 이보다 느리면 너무 느리게 느껴질 수 있습니다.
그렇다면 우리는 정확히 무엇을 배포했을까요?
Capella API의 사양 요구 사항을 충족하는 기본 구성을 제공했습니다. 이를 살펴보겠습니다. createHostedClusterInProject.py 파일에 있는 python 폴더로 이동합니다:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
클러스터_구성 = { "환경": "hosted", "클러스터 이름": 클러스터_이름, "설명": "퍼블릭 API에서 호스트 클러스터 생성 예제", "projectId": project_id, "장소": { "singleAZ": True, "hosted": { "공급자": "aws", "CIDR": "10.199.0.0/20", "region": "EU-WEST-2" } }, "서버": [ { "compute": "m5.large", "size": 3, "서비스": ["데이터", "index", "검색", "query"], "storage": { "size": 50, "IOPS": 3000, "type": "GP3" }, } ], "지원 패키지": { "시간대": "GMT", "type": "기본" }, "버전": "최신", } |
다음 단계는 무엇인가요?
이것은 샘플 테스트 구성에 불과하지만 노드 크기(3개), 단일 AZ 및 모든 서비스에 대한 최소 사양을 갖추고 있음을 알 수 있습니다. 모범 사례에는 미치지 못하지만 코드를 테스트하기 위한 클러스터를 시작할 수 있습니다.
구성 GUI를 거치지 않고도 애플리케이션을 이 클러스터에 연결할 수 있습니다. 구성을 조정하기만 하면 됩니다. 데이터베이스 사용자, IP 화이트리스트 등록 를 클릭하고 애플리케이션을 연결합니다.
이를 통해 API를 통한 가능성의 예술에 대한 인식과 각성을 불러일으키는 계기가 되길 바랍니다. 앞으로 API에 더 많은 기능을 추가할 예정입니다. 그렇게 되면 자동 프로비저닝된 Couchbase Capella 클러스터에 대해 몇 가지 회귀 테스트를 실행하는 예제를 공유하도록 하겠습니다.
이 게시물에 언급된 몇 가지 리소스는 다음과 같습니다: