‫CRD và mẫu Toán tử.
‫Đây là lúc mọi thứ bắt đầu trở nên thực sự
‫thú vị với Kubernetes. Bởi vì khi chúng tôi bắt
‫đầu thêm tất cả các công cụ của bên thứ ba này và có
‫tất cả các API này trong Kubernetes để mở rộng nó.
‫Bản thân Kubernetes trở thành nền tảng của riêng nó để bạn làm những điều
‫mà nó không bao giờ được thiết kế để làm hoặc bạn chưa bao
‫giờ nghĩ rằng nó có thể làm được.
‫Trước hết, nếu bạn vẫn chưa nhận ra trong khóa học
‫này, bạn có thể thêm nội dung của bên thứ ba vào Kubernetes.
‫Nó không chỉ sử dụng API Kubernetes.
‫Giờ đây, với tài nguyên tùy chỉnh và bộ điều khiển tùy chỉnh,
‫bạn có thể thay đổi API.
‫Bạn thực sự có thể sử dụng
‫API để mở rộng nó. Sau đó, ngay cả kubectl,
‫tại dòng lệnh, nhận các lệnh mới và có thể thấy các loại tài
‫nguyên mới và bộ điều khiển mới. Một vài năm trước,
‫CoreOS đã đưa ra một bài báo hay nói
‫về mô hình Operator, đó là cách họ triển
‫khai các tài nguyên tùy chỉnh và bộ
‫điều khiển tùy chỉnh cùng nhau theo cách cho phép
‫bạn sử dụng phần mềm phức tạp trước
‫đây trong Kubernetes, nhưng Kubernetes đó nhận thức về
‫phần mềm đó. Có thể nếu bạn
‫có một hệ thống giám sát phức tạp như Prometheus
‫và bạn muốn triển khai nó, hãy chạy nó để cập
‫nhật và nó chỉ làm tất cả những việc
‫với nó, bạn không nhất thiết phải học tất cả các
‫phần khác nhau về nó và cách chúng hoạt động ở Kubernetes.
‫Một số người trong số họ có thể cần StatefulSet.
‫Một số có thể cần triển khai và dịch vụ.
‫Một số có thể cần một số loại công việc cron trong đó.
‫Ý tôi là có tất cả các loại tài nguyên khác nhau mà
‫nó có thể cần để có một giải pháp giám sát
‫hoạt động đầy đủ.
‫Đó chỉ là một ví dụ.
‫Về cơ bản, có tất cả phần mềm này hiện
‫đang áp dụng mẫu này và triển khai mã tùy chỉnh của
‫riêng họ vào Kubernetes để mở rộng nó.
‫Về cơ bản, nó cung cấp cho bạn các lệnh
‫kubectl để vận hành các công cụ đó như thể chúng
‫nguyên bản là một phần của chính Kubernetes.
‫Điều này đang xảy ra đối với tất cả các loại công cụ nguồn mở là bạn
‫có thể thêm công cụ này vào ... trong các tài nguyên, bạn sẽ thấy một loạt các
‫danh sách và các trang web khác nhau mà bạn thực sự có
‫thể tìm thấy những thứ này.
‫Bạn nghĩ về chúng như các tệp YAML thực sự
‫phức tạp, không chỉ cho phép bạn triển khai một thứ gì
‫đó và sau đó nó chỉ chạy, mà còn thực
‫sự nhận các lệnh và các API khác
‫mở rộng ra khỏi chính Kubernetes.
‫Đó là một lĩnh vực khá thú vị vì nó còn khá
‫mới và nó chỉ cho thấy cách Kubernetes đang tiếp
‫quản mọi thứ. Không có giới hạn
‫cho những gì nó không thể quản lý và kiểm soát.
‫Tôi sẽ nói rằng rõ ràng bạn không muốn thêm mọi
‫thứ vào đây vì mỗi thứ này sẽ
‫thêm thông tin riêng của Kubernetes vào cơ sở dữ liệu ETCD, mở
‫rộng API và mặt phẳng điều khiển, và tất cả những thứ đó.
‫Đó có thể là một lĩnh
‫vực tiềm năng mà nếu bạn thêm quá nhiều, bạn sẽ tạo ra
‫quá nhiều phức tạp trong chính hệ thống của mình.
‫Ngay bây giờ, ít nhất là đối với những thứ
‫như giám sát và cơ sở dữ liệu, sao lưu và ghi
‫nhật ký, đây là những lĩnh vực mà tôi sẽ tập
‫trung vào việc triển khai kiểu CRD và kiểu
‫Operator thay vì chỉ tìm một YAML mà bạn đã thấy trên Internet
‫và nói rằng, tôi muốn triển khai
‫điều này với tệp YAML đó.
‫Điều này mang lại cho nó nhiều thông minh hơn.
‫Có rất nhiều tài nguyên trên mỗi cái này
‫và tất nhiên, mỗi cái sẽ có cách triển khai và
‫sử dụng khác nhau. Tôi chắc chắn khuyên bạn nên kiểm tra chúng ngay bây
‫giờ nếu chúng tồn tại.