Tôi đang cố gắng khởi chạy hai các biểu đồ Helm khác nhau có chung một phụ thuộc (cơ sở dữ liệu MySQL trong trường hợp này).
Hãy xem xét hai biểu đồ điều khiển khác nhau với thiết lập sau trong Biểu đồ.yaml
:
Dịch vụ A:
phụ thuộc:
- tên: mysql
phiên bản: ^8.0.20
kho lưu trữ: https://charts.bitnami.com/bitnami
Dịch vụ B:
phụ thuộc:
- tên: mysql
phiên bản: ^8.0.20
kho lưu trữ: https://charts.bitnami.com/bitnami
Mặc dù cả hai dịch vụ đều độc lập nhưng chúng chia sẻ cùng một cơ sở dữ liệu. Tuy nhiên, vấn đề phát sinh khi quá trình triển khai bắt đầu, vì điều này cũng sẽ kích hoạt hai cơ sở dữ liệu độc lập.
Thay vào đó, tôi cũng đã cố gắng theo đuổi cách tiếp cận ô được tham chiếu đây, bằng cách xác định mọi thứ dưới cùng biểu đồ lái phụ huynh với một thiết lập tương tự như thế này:
Bảng điều khiển dành cho phụ huynh:
phụ thuộc:
- tên: dịch vụ_a
phiên bản: 0.1.0
kho lưu trữ: repo_for_service_a
- tên: dịch vụ_b
phiên bản: 0.1.0
kho lưu trữ: repo_for_service_b
Vấn đề là, mặc dù cùng một cơ sở dữ liệu được chia sẻ dưới dạng phụ thuộc một lần nữa, nhưng mã trùng lặp được tạo cho cơ sở dữ liệu khi thử triển khai, dẫn đến trạng thái triển khai không thành công.
Như một giải pháp cho nó, tôi đã tận dụng Helm --post-renderer
cờ, thông qua chết.
Mặc dù thực tế là điều này hoạt động, tôi đang tìm kiếm một giải pháp khả thi hơn.