런칭하려고 하는데둘공통 종속성을 공유하는 다양한 Helm 차트(이 경우 MySQL 데이터베이스)
다음 설정을 사용하여 두 가지 다른 조타 차트를 고려해 보겠습니다 Chart.yaml
.
서비스 A:
dependencies:
- name: mysql
version: ^8.0.20
repository: https://charts.bitnami.com/bitnami
서비스 B:
dependencies:
- name: mysql
version: ^8.0.20
repository: https://charts.bitnami.com/bitnami
두 서비스가 모두 독립적이더라도 동일한 데이터베이스를 공유합니다. 그러나 배포가 시작되면 두 개의 독립적인 데이터베이스도 트리거되므로 문제가 발생합니다.
대안으로 나는 또한 언급된 우산적 접근 방식을 추구하려고 노력했습니다.여기, 동일한 아래의 모든 것을 정의하여부모 조타 차트다음과 비슷한 설정으로:
부모 투구 차트:
dependencies:
- name: service_a
version: 0.1.0
repository: repo_for_service_a
- name: service_b
version: 0.1.0
repository: repo_for_service_b
문제는 다시 한번 동일한 데이터베이스를 종속성으로 공유하더라도 배포를 시도할 때 해당 데이터베이스에 대해 중복된 코드가 생성되어 배포 실패 상태가 된다는 점이다. 이에 대한 해결책으로 Helm --post-renderer
플래그를 활용했습니다.데드. 이것이 효과가 있다는 사실에도 불구하고 저는 보다 실행 가능한 솔루션을 찾고 있었습니다.