Helm 차트 전체에서 종속성을 공유합니다.

Helm 차트 전체에서 종속성을 공유합니다.

런칭하려고 하는데공통 종속성을 공유하는 다양한 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플래그를 활용했습니다.데드. 이것이 효과가 있다는 사실에도 불구하고 저는 보다 실행 가능한 솔루션을 찾고 있었습니다.

관련 정보