Cách tạo CRD trong Kubernetes

Cach Tao Crd Trong Kubernetes



Hãy để chúng tôi tìm hiểu cách tạo CRD trong Kubernetes trong bài viết này. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách tạo CRD trong Kubernetes, sau đó tạo bộ điều khiển Kubernetes sẽ được sử dụng để xử lý các yêu cầu tạo phiên bản của CRD. Chúng tôi sẽ trình bày từng bước với sự trợ giúp của các ví dụ để giúp bạn hiểu hoàn toàn hoạt động tạo CRD cùng với đối tượng bộ điều khiển để xử lý CRD trong Kubernetes. Vì vậy, chúng ta hãy bắt đầu!

CRD trong Kubernetes là gì?

CRD là viết tắt của Định nghĩa tài nguyên tùy chỉnh được sử dụng cho các tài nguyên mới mà không cần thêm máy chủ API khác. Để làm việc với CRD, bạn không cần phải hiểu về tổng hợp API. Đây là một tính năng rất mạnh mẽ được giới thiệu trong Kubernetes 1.7 để được vận chuyển với nhiều đối tượng API và tài nguyên tích hợp sẵn. Nó cho phép bạn xác định các tài nguyên tùy chỉnh bằng lược đồ và tên bạn chọn.

CRD mở rộng các khả năng API Kubernetes vượt quá cài đặt mặc định bằng cách sử dụng các định nghĩa tài nguyên tùy chỉnh. Bằng cách sử dụng CRD, bạn có thể hướng dẫn Kubernetes theo cách có thể xử lý nhiều thứ hơn là chỉ các vùng chứa. Bạn có thể tạo tài nguyên tùy chỉnh theo lựa chọn của riêng mình và biến nó thành khai báo bằng cách sử dụng bộ điều khiển tùy chỉnh. Bây giờ, chúng ta hãy tìm hiểu cách tạo định nghĩa tài nguyên tùy chỉnh và sau đó thiết kế bộ điều khiển tùy chỉnh để điều khiển CRD. Và sau đó là cách xóa CDR để xem tác động của nó đối với Kubernetes.







Điều kiện tiên quyết

Trước khi chúng tôi chuyển sang các bước tạo và xóa CRD, hãy đảm bảo rằng hệ thống của chúng tôi đáp ứng tất cả các nhu cầu của các điều kiện tiên quyết.



  • Ubuntu 20.04 hoặc bất kỳ phiên bản mới nhất nào khác để có môi trường Linux/Unix hoạt động.
  • Cụm Kubernetes.
  • Kubectl CLI để sử dụng các lệnh kubectl, giao tiếp cụm và quản lý môi trường phát triển.
  • minikube hoặc bất kỳ sân chơi Kubernetes nào khác để tạo cụm

Cài đặt các công cụ này, nếu bạn chưa cài đặt chúng, trước khi chuyển sang phần tiếp theo.



Bây giờ, chúng ta sẽ chuyển sang hướng dẫn từng bước về cách tạo CRD trong Kubernetes.





Bước # 1: Bắt đầu Kubernetes

Để làm việc với CDR, bạn phải có một cụm có ít nhất hai nút Kubernetes không hoạt động như máy chủ mặt phẳng điều khiển. Chúng tôi đang sử dụng minikube để tạo và sử dụng cụm. Vì vậy, hãy sử dụng lệnh dưới đây để bắt đầu minikube:

> bắt đầu minikube

Khi bạn thực hiện lệnh này, bạn sẽ nhận được một đầu ra tương tự như dưới đây:



Bước # 2: Mở hoặc tạo tệp cấu hình

Bây giờ minikube của chúng ta đã hoạt động, hãy mở tệp cấu hình. Lệnh ‘nano’ được sử dụng để mở các tệp cấu hình. Tất cả những gì bạn cần làm là cung cấp tên tệp bên cạnh lệnh nano, sau đó là phần mở rộng tệp và nhấn enter. Ở đây, chúng tôi có tệp 'red.yaml' chứa các chi tiết cấu hình để tạo CRD. Đây là lệnh nano hoàn chỉnh mà bạn có thể sử dụng để mở tệp mong muốn của mình:

> nano đỏ.yaml

Khi bạn thực hiện lệnh này, tệp sau sẽ mở trong thiết bị đầu cuối của bạn:

Bước # 3: Tạo tài nguyên điểm cuối

Tài nguyên cấu hình đã được lưu trong red.yaml. Chúng tôi sẽ sử dụng điều đó để tạo điểm cuối API RESTful được đặt tên mới. Kubectl cung cấp lệnh 'apply' để tạo điểm cuối từ tệp cấu hình. Đây là lệnh 'áp dụng' hoàn chỉnh được sử dụng để tạo API RESTful được đặt tên mới:

> áp dụng kubectl -f đỏ.yaml

Điểm cuối được tạo bởi lệnh này sẽ được sử dụng để tạo đối tượng tùy chỉnh sẽ điều khiển CRD. Đầu ra sau đây sẽ được tạo cho tài nguyên được đặt tên:

Bước # 4: Tạo đối tượng tùy chỉnh để kiểm soát CRD

CRD được điều khiển bởi các đối tượng tùy chỉnh. Chúng tôi có thể tạo chúng sau khi định nghĩa tài nguyên tùy chỉnh đã được tạo. Các đối tượng tùy chỉnh chứa các trường tùy chỉnh của JSON tùy ý. Để tạo đối tượng tùy chỉnh, chúng ta lại cần tệp cấu hình YAML. Sử dụng lệnh 'nano' để tạo tệp cấu hình YAML:

> nano ct.yaml

Lưu các trường bắt buộc với các chi tiết cụ thể trong tệp YAML. Chi tiết cấu hình mẫu được hiển thị trong mẫu bên dưới:

Bây giờ, hãy sử dụng cùng tệp YAML đó để tạo đối tượng tùy chỉnh. Sử dụng lệnh 'áp dụng' để tạo đối tượng tùy chỉnh từ tệp YAML đã chỉ định. Xem lệnh hoàn chỉnh được đưa ra dưới đây:

> áp dụng kubectl -f ct.yaml

Sau khi thực hiện thành công lệnh này, bạn sẽ nhận được đầu ra sau:

Bước # 5: Quản lý CRD với Đối tượng tùy chỉnh

Các đối tượng tùy chỉnh được sử dụng để quản lý CRD. Vì vậy, hãy để chúng tôi tìm hiểu cách chúng tôi có thể sử dụng đối tượng tùy chỉnh được tạo gần đây để quản lý CRD đã được tạo. Ở đây, chúng ta sẽ kiểm tra các chi tiết chứa đối tượng tùy chỉnh bằng cách sử dụng lệnh 'get'. Xem lệnh được đưa ra trong đoạn mã bên dưới:

> kubectl lấy crontab

Khi bạn thực hiện lệnh này trong thiết bị đầu cuối minikube, đầu ra sau sẽ được tạo:

Nếu bạn muốn kiểm tra dữ liệu thô có trong tệp YAML, thì bạn có thể sử dụng lệnh này:

> kubectl lấy ct -Các khoai mỡ

Điều này sẽ hiển thị dữ liệu thô trong tệp YAML giống như mẫu được cung cấp bên dưới:

Đây là cách chúng ta có thể tạo CRD và một đối tượng tùy chỉnh để quản lý và kiểm soát CRD đã tạo. Bây giờ, nếu bạn muốn xóa CRD đã tạo, thì bạn có thể làm theo quy trình dưới đây.

Làm cách nào để xóa CRD được tạo trong Kubernetes?

Các lệnh kubectl cho phép bạn xóa các CRD trong Kubernetes. Khi bạn cố xóa CRD trong Kubernetes, các tài nguyên tùy chỉnh được liên kết với nó cũng sẽ bị xóa. Kubectl cung cấp lệnh 'xóa' để xóa bất kỳ tài nguyên nào. Lệnh đưa ra dưới đây được sử dụng để xóa CRD mà chúng tôi đã tạo trong các bước trên:

> xóa kubectl -f đỏ.yaml

Sau khi thực hiện thành công lệnh này, bạn sẽ nhận được kết quả như sau:

Bây giờ CRD và các đối tượng tùy chỉnh được liên kết với nó đã bị xóa, bạn sẽ gặp lỗi từ máy chủ nếu bạn cố truy cập nó. Xem lệnh được cung cấp bên dưới nơi chúng tôi đang cố gắng truy cập API RESTful được đặt tên:

> kubeclt lấy crontab

Vì ‘crontabs’ đã bị xóa, máy chủ sẽ báo lỗi cho hành động này. Xem đầu ra của lệnh này được đưa ra dưới đây:

Phần kết luận

Bài viết này là tổng quan nhanh về cách tạo định nghĩa tài nguyên tùy chỉnh, cách tạo đối tượng tùy chỉnh để kiểm soát CRD và cách xóa CRD khỏi Kubernetes. Với sự trợ giúp của các ví dụ mẫu, chúng tôi đã trình bày từng bước để giúp bạn hiểu quy trình một cách dễ dàng và nhanh chóng.