Polaris được giới thiệu để giữ cho các cụm Kubernetes khỏe mạnh

Ghi chú. bản dịch.: Bản gốc của văn bản này được viết bởi Rob Scott, kỹ sư SRE hàng đầu tại ReactiveOps, người đứng sau sự phát triển của dự án đã công bố. Chúng tôi rất gần với ý tưởng xác thực tập trung những gì được triển khai trong Kubernetes, vì vậy chúng tôi đang quan tâm theo dõi các sáng kiến ​​​​như vậy.

Polaris được giới thiệu để giữ cho các cụm Kubernetes khỏe mạnh

hân hạnh giới thiệu Polaris là một dự án nguồn mở giúp duy trì "sức khỏe" của cụm Kubernetes. Chúng tôi đã xây dựng Polaris để tự động hóa một số phương pháp hay nhất được ReactiveOps sử dụng để giữ cho các cụm hoạt động an toàn và đáng tin cậy cho một số lượng lớn khách hàng. Đã đến lúc mã nguồn mở.

Hết lần này đến lần khác, chúng tôi đã chứng kiến ​​các lỗi cấu hình dường như nhỏ lại dẫn đến các sự cố nghiêm trọng khiến các kỹ sư mất ngủ vào ban đêm. Một cái gì đó rất đơn giản - ví dụ: cấu hình yêu cầu tài nguyên bị bỏ qua do quên (yêu cầu tài nguyên) - có thể phá vỡ tính năng tự động thay đổi quy mô và thậm chí dẫn đến thực tế là khối lượng công việc bị bỏ lại mà không có tài nguyên. Nếu như trước đây, những sai sót nhỏ về cấu hình dẫn đến gián đoạn sản xuất thì giờ đây, Polaris cho phép bạn ngăn chặn hoàn toàn chúng.

Polaris giúp bạn tránh các vấn đề về cấu hình ảnh hưởng đến tính ổn định, độ tin cậy, khả năng mở rộng và bảo mật của các ứng dụng của bạn. Nó giúp dễ dàng xác định các điểm yếu trong cấu hình triển khai và ngăn ngừa các sự cố trong tương lai. Với Polaris, bạn có thể ngủ ngon khi biết rằng các ứng dụng được triển khai bằng cách sử dụng một bộ tiêu chuẩn đã được kiểm tra kỹ lưỡng.

Polaris được tạo thành từ hai thành phần chính:

  1. bảng điều khiển cung cấp thông tin về mức độ hiệu quả của các triển khai hiện tại trong cụm;
  2. một webhook thử nghiệm thử nghiệm ngăn triển khai triển khai không đáp ứng tiêu chuẩn được chấp nhận.

Bảng điều khiển Polaris

Bảng điều khiển Polaris được tạo để cung cấp một cách đơn giản và trực quan để xem trạng thái hiện tại của việc triển khai Kubernetes và nhận các đề xuất cải tiến. Nó cung cấp một cái nhìn tổng quan đầy đủ về cụm và chia nhỏ kết quả theo danh mục, không gian tên và triển khai.

Polaris được giới thiệu để giữ cho các cụm Kubernetes khỏe mạnh

Các tiêu chuẩn mặc định do Polaris đặt ra khá cao, vì vậy đừng ngạc nhiên nếu điểm số thấp hơn bạn mong đợi. Mục tiêu chính của Polaris là thiết lập các tiêu chuẩn cao và cố gắng đạt được cấu hình mặc định tuyệt vời. Nếu cấu hình được đề xuất có vẻ quá cứng nhắc, nó có thể được sửa trong quá trình cấu hình triển khai, tối ưu hóa cho khối lượng công việc cụ thể.

Là một phần của ấn phẩm Polaris, chúng tôi quyết định không chỉ trình bày bản thân công cụ mà còn mô tả chi tiết các thử nghiệm có trong đó. Mỗi đánh giá bao gồm một liên kết đến tài liệu liên quan giải thích lý do tại sao chúng tôi cho rằng nó quan trọng và liên kết đến các tài nguyên bổ sung về chủ đề này.

Polaris webhook

Nếu trang tổng quan giúp bạn có cái nhìn tổng quan về cấu hình triển khai hiện tại, thì webhook sẽ thực thi các tiêu chuẩn cho tất cả các triển khai sẽ chỉ được triển khai cho cụm.

Sau khi các vấn đề được xác định bởi bảng điều khiển được khắc phục, webhook có thể được sử dụng để đảm bảo rằng cấu hình không bao giờ giảm xuống dưới tiêu chuẩn đã thiết lập nữa. Webhook sẽ không cho phép triển khai các triển khai trong cụm có cấu hình chứa các sai lệch đáng kể (về mức độ “lỗi”).

Tiềm năng của webhook này rất đáng khích lệ, nhưng nó vẫn cần thử nghiệm rộng rãi để được coi là sẵn sàng sản xuất. Nó hiện là một tính năng thử nghiệm và là một phần của dự án Nguồn mở hoàn toàn mới. Vì nó có thể can thiệp vào các bản cập nhật triển khai, hãy thận trọng khi sử dụng nó.

Bắt đầu

Tôi hy vọng rằng trong khi bạn vẫn đang đọc thông báo này, Polaris là một công cụ mà bạn có thể thấy hữu ích. Bạn muốn tự mình thử Trang tổng quan? Triển khai một bảng điều khiển trong một cụm rất dễ dàng. Nó được cài đặt với các quyền tối thiểu (chỉ đọc) và tất cả dữ liệu vẫn còn bên trong. Để triển khai Bảng điều khiển bằng kubectl, hãy chạy:

kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml

Bây giờ, bạn cần thiết lập chuyển tiếp cổng để truy cập Bảng điều khiển thông qua cổng cục bộ 8080:

kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80

Tất nhiên, có nhiều cách khác để sử dụng và triển khai Polaris, bao gồm cả Helm. Bạn có thể tìm hiểu về điều này và nhiều hơn nữa từ Kho lưu trữ Polaris trên GitHub.

Điều này chỉ là khởi đầu

Chúng tôi hài lòng với những gì chúng tôi đã tích hợp vào Polaris, nhưng câu chuyện chưa kết thúc ở đó. Có nhiều thử nghiệm mới trên đường mà tôi muốn thêm vào để mở rộng chức năng. Chúng tôi cũng đang tìm kiếm một cách tốt hơn để triển khai các quy tắc kiểm tra ngoại lệ ở cấp độ không gian tên hoặc tài nguyên. Để biết thêm thông tin về các kế hoạch của chúng tôi, vui lòng xem bản đồ đường đi.

Nếu bạn có ấn tượng rằng Polaris có thể hữu ích, vui lòng dành thời gian để dùng thử. Chúng tôi hoan nghênh mọi ý tưởng, phản hồi, câu hỏi hoặc yêu cầu kéo. Bạn có thể liên hệ với chúng tôi tại trang web dự ánTrong GitHub hoặc Twitter.

Tái bút từ người dịch

Đọc thêm trên blog của chúng tôi:

Nguồn: www.habr.com

Thêm một lời nhận xét