Tôi vẫn quấn đầu quanh Kubernetes và làm thế nào để nó hoạt động. Hiện tại, tôi đang cố gắng tìm hiểu cách mô hình hóa một thứ gì đó giống như một cụm PostgreSQL với nhân bản trực tuyến, mở rộng quy mô và tự động chuyển đổi dự phòng/lỗi (pgpool-II
, repmgr
, chọn chất độc của bạn).Làm cách nào để tạo mô hình cụm chuyển đổi dự phòng PostgreSQL với Docker/Kubernetes?
Vấn đề chính của tôi với cách tiếp cận là bản chất kép của một cá thể PostgreSQL, cấu hình khôn ngoan - đó là chế độ chờ chính hoặc lạnh/nóng/nóng. Nếu tôi tăng số lượng bản sao, tôi hy vọng tất cả chúng sẽ xuất hiện dưới dạng standbys, vì vậy tôi sẽ tưởng tượng tạo một bộ điều khiển nhân rộng postgresql-standby
riêng biệt với một vỏ postgresql-master
. Tuy nhiên tôi cũng mong đợi một trong những standbys để trở thành một bậc thầy trong trường hợp chủ hiện tại là xuống, do đó, nó là một bộ điều khiển nhân rộng postgresql
phổ biến sau khi tất cả.
Ý tưởng duy nhất tôi đã có cho đến nay là đặt cấu hình sao chép trên ổ đĩa ngoài và quản lý trạng thái và trạng thái thay đổi bên ngoài vùng chứa.
(trong trường hợp của PostgreSQL cấu hình có lẽ đã được trên một khối lượng bên trong thư mục data
của nó, mà tự nó rõ ràng là một cái gì đó tôi muốn trên một khối lượng, nhưng đó là bên cạnh điểm)
Là đúng approaach, hoặc là có cách nào khác sạch hơn?
Tôi có thể giúp xem Kelsey Hightower's [talk] (https://youtu.be/9W-ngbpBSMM) ... – errordeveloper
@errordeveloper: funny, 40% thời gian giới thiệu được dành cho việc Kubernetes hoạt động như thế nào - - cũng đại diện cho trải nghiệm của tôi. Các tl; dr từ video là: PostgreSQL không được xây dựng để được thu nhỏ theo chiều ngang mà không cần tái cấu hình nỗ lực, do đó, nó phải là một nhóm và không phải là một bộ điều khiển nhân rộng. –
Đó là sự thật, mặc dù có thể được tối ưu hóa với hình ảnh VM được nướng trước và một vài phím tắt khác. – errordeveloper