ClusterControl 1.7.3 đi kèm với một cải tiến đáng chú ý trong tích hợp đám mây. Có thể triển khai một cụm sao chép MySQL và PostgreSQL lên đám mây, cũng như tự động khởi chạy một phiên bản đám mây và mở rộng quy mô cụm cơ sở dữ liệu của bạn bằng cách thêm một nút cơ sở dữ liệu mới.
Bài đăng trên blog này giới thiệu cách dễ dàng triển khai Cụm Galera bằng ClusterControl trên AWS. Tính năng mới này là một phần của ClusterControl Community Edition, đi kèm với các tính năng giám sát và triển khai miễn phí. Điều này có nghĩa là bạn có thể tận dụng tính năng này mà không phải trả phí!
Kiến trúc cụm cơ sở dữ liệu ClusterControl
Sơ đồ sau đây tóm tắt kiến trúc cụm cơ sở dữ liệu tổng thể của chúng tôi.
Máy chủ ClusterControl nằm bên ngoài cơ sở hạ tầng AWS, cho phép hiển thị hợp lý vào cụm cơ sở dữ liệu của chúng tôi (đặt tại Frankfurt:eu-central-1). Máy chủ ClusterControl PHẢI có địa chỉ IP công cộng dành riêng. Điều này là do địa chỉ IP sẽ được cấp bởi ClusterControl trên máy chủ cơ sở dữ liệu và nhóm bảo mật AWS. Phiên bản cơ sở dữ liệu Galera mà chúng tôi sẽ triển khai là MariaDB Cluster 10.3, sử dụng ClusterControl 1.7.3.
Chuẩn bị Môi trường AWS
ClusterControl có thể triển khai một cụm cơ sở dữ liệu trên các nền tảng đám mây được hỗ trợ, cụ thể là AWS, Google Cloud Platform (GCP) và Microsoft Azure. Điều đầu tiên chúng ta phải định cấu hình là lấy các khóa truy cập AWS để cho phép ClusterControl thực hiện các yêu cầu có lập trình đối với các dịch vụ AWS. Bạn có thể sử dụng khóa truy cập tài khoản gốc, nhưng đây không phải là cách được khuyến nghị. Tốt hơn nên tạo một người dùng Quản lý Danh tính và Truy cập (IAM) chuyên dụng chỉ cho mục đích này.
Đăng nhập vào Bảng điều khiển AWS của bạn -> Thông tin đăng nhập bảo mật của tôi -> Người dùng -> Thêm người dùng . Chỉ định người dùng và chọn "Truy cập có lập trình" làm Loại truy cập:
Trong trang tiếp theo, hãy tạo một nhóm người dùng mới bằng cách nhấp vào "Tạo nút nhóm "và đặt tên nhóm là" Cơ sở dữ liệu ". Chỉ định loại truy cập sau:
- AmazonEC2FullAccess
- AmazonVPCFullAccess
- AmazonS3FullAccess (chỉ khi bạn định lưu trữ bản sao lưu cơ sở dữ liệu trên AWS S3)
Đánh dấu vào hộp kiểm DatabaseAutomation và nhấp vào "Thêm người dùng vào nhóm":
Theo tùy chọn, bạn có thể chỉ định các thẻ trên trang tiếp theo. Nếu không, chỉ cần tiến hành tạo người dùng. Bạn sẽ có được hai thứ quan trọng nhất, ID khóa truy cập và Khóa truy cập bí mật.
Tải xuống tệp CSV và lưu trữ ở nơi an toàn. Hiện tại, chúng tôi đã sẵn sàng để tự động hóa việc triển khai trên đám mây.
Cài đặt ClusterControl trên máy chủ tương ứng:
$ whoami
root
$ wget http://severalnines.com/downloads/cmon/install-cc
$ chmod 755 install-cc
$ ./install-cc
Làm theo hướng dẫn cài đặt và truy cập http://192.168.0.11/clustercontrol và tạo người dùng và mật khẩu quản trị viên cấp cao.
Để cho phép ClusterControl thực hiện triển khai tự động trên đám mây, người ta phải tạo thông tin đăng nhập đám mây cho khu vực đã chọn với ID khóa AWS hợp lệ và bí mật. Đi tới Thanh bên -> Tích hợp -> Nhà cung cấp đám mây -> Thêm thông tin đăng nhập vào đám mây đầu tiên của bạn -> Dịch vụ web Amazon và nhập các chi tiết được yêu cầu và chọn Frankfurt làm khu vực mặc định:
Thông tin đăng nhập này sẽ được ClusterControl sử dụng để tự động hóa việc triển khai và quản lý cụm. Tại thời điểm này, chúng tôi đã sẵn sàng triển khai cụm đầu tiên của mình.
Triển khai Cụm Cơ sở dữ liệu
Đi tới Triển khai -> Triển khai trong đám mây -> MySQL Galera -> MariaDB 10.3 -> Cấu hình cụm để chuyển sang trang tiếp theo.
Trong phần Định cấu hình cụm, đảm bảo số lượng nút là 3 và cung cấp tên cụm và mật khẩu gốc MySQL:
Trong Chọn thông tin xác thực, hãy chọn thông tin xác thực có tên "AWS Frankfurt" và chuyển sang trang tiếp theo bằng cách nhấp vào "Chọn Máy ảo". Chọn hệ điều hành ưa thích và kích thước phiên bản. Chúng tôi khuyên bạn nên chạy cơ sở hạ tầng của mình bên trong một đám mây riêng để chúng tôi có thể nhận được một địa chỉ IP nội bộ dành riêng cho các phiên bản đám mây của mình và các máy chủ lưu trữ không được tiếp xúc trực tiếp với mạng công cộng. Nhấp vào nút "Thêm mới" bên cạnh trường Đám mây riêng ảo (VPC) và cung cấp mạng con 10.10.0.0/16 cho mạng này:
VPC mà chúng tôi đã tạo là một đám mây riêng và không có kết nối internet. Để ClusterControl có thể triển khai và quản lý các máy chủ từ bên ngoài mạng AWS, chúng tôi phải cho phép kết nối internet với VPC này. Để làm được điều này, chúng ta phải làm như sau:
- Tạo một cổng internet
- Thêm định tuyến bên ngoài vào bảng tuyến đường
- Liên kết mạng con với bảng định tuyến
Để tạo cổng internet, hãy đăng nhập vào Bảng điều khiển quản lý AWS -> VPC -> Cổng Internet -> Tạo cổng internet -> chỉ định tên cho cổng này . Sau đó chọn cổng đã tạo từ danh sách và đi tới Hành động -> Đính kèm vào VPC -> chọn VPC cho danh sách thả xuống -> Đính kèm . Hiện chúng tôi đã đính kèm một cổng internet vào đám mây riêng. Tuy nhiên, chúng ta cần cấu hình mạng để chuyển tiếp tất cả các yêu cầu bên ngoài thông qua cổng internet này. Do đó, chúng ta phải thêm một tuyến đường mặc định vào bảng tuyến đường. Đi tới VPC -> Bảng tuyến đường -> chọn bảng tuyến đường -> Chỉnh sửa tuyến đường và chỉ định mạng đích, 0.0.0.0/0 và đích (ID cổng internet đã tạo) như bên dưới:
Sau đó, chúng ta phải liên kết mạng con DB với mạng này để nó gán tất cả các phiên bản được tạo bên trong mạng này cho tuyến mặc định mà chúng ta đã tạo trước đó, chọn bảng tuyến -> Chỉnh sửa Liên kết mạng con -> gán mạng con DB , như hình dưới đây:
VPC hiện đã sẵn sàng được sử dụng bởi ClusterControl để triển khai.
Sau khi được tạo, hãy chọn VPC đã tạo từ menu thả xuống. Đối với SSH Key, chúng tôi sẽ yêu cầu ClusterControl tự động tạo nó:
Khóa SSH được tạo sẽ nằm bên trong máy chủ ClusterControl trong thư mục / var / lib / cmon / autogenerated_ssh_keys / s9s /.
Nhấp vào "Tóm tắt Triển khai". Trong trang này, chúng ta phải gán một mạng con từ VPC cho cụm cơ sở dữ liệu. Vì đây là VPC mới nên nó không có mạng con và chúng tôi phải tạo một mạng mới. Nhấp vào nút "Thêm mạng con mới" và gán 10.10.1.0/24 làm mạng cho cụm cơ sở dữ liệu của chúng tôi:
Cuối cùng, chọn mạng con tạo trong hộp văn bản và nhấp vào "Triển khai cụm":
Bạn có thể theo dõi tiến trình công việc trong Hoạt động -> Công việc -> Tạo cụm . ClusterControl sẽ thực hiện các bước cài đặt trước cần thiết như tạo phiên bản đám mây, nhóm bảo mật, tạo khóa SSH, v.v. trước khi bắt đầu các bước cài đặt thực tế.
Khi cụm đã sẵn sàng, bạn sẽ thấy cụm sau trong bảng điều khiển ClusterControl:
Việc triển khai cụm của chúng tôi hiện đã hoàn tất.
Đăng Triển khai Cơ sở dữ liệu AWS
Chúng tôi có thể bắt đầu tải dữ liệu của mình vào cụm hoặc tạo cơ sở dữ liệu mới để sử dụng ứng dụng của bạn. Để kết nối, chỉ cần hướng dẫn các ứng dụng hoặc máy khách của bạn kết nối với địa chỉ IP riêng hoặc công cộng của một trong các máy chủ cơ sở dữ liệu. Bạn có thể lấy thông tin này bằng cách truy cập trang Nodes, như được hiển thị trong ảnh chụp màn hình sau:
Nếu bạn muốn truy cập trực tiếp vào các nút cơ sở dữ liệu, bạn có thể sử dụng mô-đun ClusterControl web-SSH tại Node Actions -> SSH Console , mang đến cho bạn trải nghiệm tương tự như kết nối qua ứng dụng SSH.
Để mở rộng cụm bằng cách thêm nút cơ sở dữ liệu, bạn có thể chỉ cần đi tới Hành động theo cụm (biểu tượng ngăn xếp máy chủ) -> Thêm nút -> Thêm nút DB trên phiên bản đám mây mới và bạn sẽ thấy hộp thoại sau:
Chỉ cần làm theo trình hướng dẫn triển khai và định cấu hình phiên bản mới của bạn cho phù hợp. Sau khi phiên bản được tạo, ClusterControl sẽ tự động cài đặt, cấu hình và tham gia nút vào cụm.
Đó là nó cho bây giờ, folks. Chúc vui vẻ nhóm trong đám mây!