Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Kubernetes Operators: Mở rộng Kubernetes quản lý workload stateful phức tạp

Kubernetes Operator là một phương pháp triển khai ứng dụng mở rộng khả năng của Kubernetes để quản lý các workload stateful (có trạng thái) phức tạp hơn. Ví dụ về các workload này bao gồm cơ sở dữ liệu (databases), hệ thống phân tán sử dụng cơ chế quorum (quorum mechanisms) và ứng dụng không thể dễ dàng cấu hình lại trong một bước duy nhất. Ngay cả với workload stateless (không trạng thái), Operators giúp định hình một định nghĩa nhất quán của một "ứng dụng" trên Kubernetes.

Để hoàn thành tất cả điều đó, Kubernetes Operators mã hóa (codify) các thực hành tốt nhất (best practices) và thủ tục vận hành tích lũy vào phần mềm chạy trên Kubernetes. Những gì trước đây được quản lý bởi script và kỹ sư độ tin cậy trang web (Site Reliability Engineers – SRE) bên ngoài cụm (cluster) hiện được quản trị bởi các extension Kubernetes tùy chỉnh (custom Kubernetes extensions) chạy trên cụm cùng với workload được quản lý. Một số khả năng của Operators bao gồm: quy trình cài đặt và cập nhật phức tạp, sự kiện vòng đời như backup, restore, failover hoặc failback và mở rộng quy mô dựa trên metrics (metrics-driven scaling).

Trong khi hầu hết phát triển Kubernetes tập trung vào ứng dụng stateless, front-end, API-centric, Operators cho phép phần còn lại của stack được đưa vào môi trường cũng. Điều này đơn giản hóa cấu hình và quản lý khi Kubernetes trở thành khía cạnh then chốt của tính di động (portability) cho bộ phận IT và kỹ thuật. Ngoài ra, Operators hỗ trợ uptime cao hơn và lao động vận hành thấp hơn với khắc phục tự động sự trôi cấu hình (configuration drift). Điều này có thể đạt được với các cơ chế extension riêng của Kubernetes, làm cho phương pháp này độc lập nền tảng (platform-independent) và được điều khiển bởi cộng đồng Kubernetes.

Cách Kubernetes Operators hoạt động

Operators kết nối đến Kubernetes master API và theo dõi các sự kiện liên quan. Chúng đóng vai trò như các Kubernetes controller tùy chỉnh (custom Kubernetes controllers), giới thiệu các loại đối tượng (object types) riêng trên cụm, liên tục so sánh trạng thái mong muốn (desired state) với trạng thái thực tế (actual state). Trạng thái mong muốn được khai báo trong YAML và được biểu đạt bởi người dùng tạo ra các đối tượng Kubernetes.

Operator theo dõi các Custom Resource Definitions (CRD) hoặc sự kiện này, và bắt đầu chạy qua vòng lặp của nó bất cứ khi nào các đối tượng xuất hiện, được cập nhật hoặc bị xóa. Operators chạy dưới dạng Kubernetes Pods trên cụm.

Operators được cài đặt bởi quản trị viên cụm nhưng được xây dựng để hỗ trợ người dùng cuối. Cách Operators tích hợp với Kubernetes cho phép người dùng tiếp tục sử dụng công cụ kubectl và xử lý phần mềm phức tạp tiềm ẩn như với bất kỳ tài nguyên Kubernetes built-in nguyên thủy nào khác.