JSON 스키마를 사용한 값의 유효성 검사
Helm 3에서는 스키마 파일을 사용하여 값의 유효성을 검사하는 기능을 소개했습니다. 이 스키마 파일은 JSON 스키마를 따릅니다. 이 리포지토리의 Helm 차트들도 각 하위 차트에 대한 values.schema.json
파일을 정의하는 등 이 기능을 활용합니다.
스키마 파일 사용에 대한 개발자 가이드:
- 하위 차트의
values.yaml
파일에 새 항목을 추가하거나 기존 항목을 수정하는 경우, 해당 변경 사항에 맞게 해당values.schema.json
파일을 업데이트해아 합니다. - 첫 번째 반복 작업은 모든 하위 차트에 스키마 파일이 구비되었을 때 완료될 것으로 예상됩니다. 첫 번째 반복의 진행 상황은 관련 에픽에서 확인할 수 있습니다. 이후 반복 작업은 이러한 스키마 파일을 개선하고 다듬고 효율성과 사용성을 향상시킬 것입니다.
-
values.yaml
를 통해 구성 가능한 모든 설정은values.schema.json
파일에 구현된 유형 유효성(값으로 올바른 데이터 유형만 허용)을 가져야 합니다. 이는 첫 번째 반복에서 완료되어야 합니다. - 첫 번째 반복에서 필요한 필드의 유효성 검사는 사용자가
values.yaml
파일에서 정의한 설정이 해당 구성요소만으로 pod를 구동하는 데 충분한지 확인하는 데로 제한될 수 있습니다. 로그에 오류가 보고되지 않은 상태로 pod가 기능하는지 확인하기 위해 향후 반복에서 이를 확장해야 합니다. 이에는 심층적인 테스트가 포함됩니다.
변경 불가능한 필드의 유효성 검사
Kubernetes 스펙의 일부 필드는 변경할 수 없습니다. 변경 불가능한 필드에 대한 변경이 고객 업그레이드에 영향을 미치지 않도록 해야 합니다.
Statefulset
Statefulset에는 변경할 수 없는 일련의 필드가 포함되어 있습니다. 변경할 수 없는 필드가 변경되지 않았는지 확인해야 합니다. 이는 업그레이드를 수행하는 데 부정적으로 영향을 미칩니다. 예외 에러 메시지:
오류: 업그레이드 실패: "a-gitaly"를 종류인 StatefulSet으로 패치할 수 없음
StatefulSet.apps "a-gitaly"가 잘못되었습니다
spec: 금지됨:
'replicas', 'template' 및 'updateStrategy' 이외의 statefulset spec에 대한 업데이트는 금지됨