Programmable API
Wave Core의 REST API와 14가지 Custom Resource로, 콘솔 대신 스크립트나 Git 저장소에서 Wave 설정을 바꿉니다.
Deployment 40개에 Autopilot을 켜려면 콘솔을 40번 오가야 합니다
Wave Architecture 문서; Wave CRD Mode 문서; Wave API 레퍼런스(v3). Deployment 40개는 설명용 수치입니다.
콘솔은 워크로드를 한 번에 하나씩 바꿉니다. Deployment 40개에 Autopilot을 켜려면 하나씩 열고, 설정을 바꾸고, 저장하는 일을 40번 해야 합니다.
Wave Core는 이미 포트 3024에서 "Web Console과 외부 연동을 위한" REST API를 제공합니다(Wave Architecture 문서). 콘솔이 보내는 호출을 스크립트도 그대로 보낼 수 있습니다.
CRD Mode에서는 설정이 Custom Resource로 Git에 있으므로, 같은 YAML을 모든 클러스터에 적용합니다(Wave CRD Mode 문서).
엔드포인트: Wave API 레퍼런스(v3). Wave Core의 REST API와 포트 3024: Wave Architecture 문서. Deployment 40개와 그 이름, 스크립트는 설명용입니다.
Wave가 하는 일
- Wave Console클러스터 선택, 목록 열기
- 열기Deployment이름으로 찾아 상세 페이지 열기
- 수정Autopilot다이얼로그에서 켜고 저장
- 반복다음 Deployment목록으로 돌아가기, 39개 남음
- 내 스크립트CI 작업이나 셸 루프
- PUTWave Core포트 3024의 REST API
- 적용Deployment콘솔과 똑같이 Autopilot 켜짐
- 다음40개 전부다이얼로그 없이 한 번에 변경
REST API를 호출합니다
Wave API 레퍼런스(v3)에 엔드포인트마다 파라미터와 응답이 정리되어 있습니다. 예를 들어 Deployment의 autopilot-enabled 엔드포인트에 PUT을 한 번 보내면, 그 Deployment의 Autopilot이 켜지거나 꺼집니다.
또는 설정을 Git에 둡니다
CRD Mode에서는 14가지 wavek8s.com Custom Resource가 설정을 담습니다. kubectl이나 ArgoCD로 적용하면, Wave가 콘솔과 같은 설정을 적용합니다. 이 설정들은 콘솔에서 읽기 전용이 됩니다.
적용됐는지 확인합니다
각 Custom Resource는 .status에 Synced 조건과 AsExpected, TargetNotFound, ValidationFailed 같은 사유를 보고합니다. 아직 없는 대상은 생기는 시점에 적용됩니다.