Đặt giới hạn tài nguyên Kubernetes

Dat Gioi Han Tai Nguyen Kubernetes



Giới hạn tài nguyên là một phần quan trọng trong điều phối bộ chứa Kubernetes vì ​​chúng đảm bảo rằng các bộ chứa không tiêu thụ quá nhiều tài nguyên hoặc không phản hồi do cạn kiệt tài nguyên. Bài viết này cung cấp hướng dẫn về cách đặt giới hạn tài nguyên bộ chứa Kubernetes để tối đa hóa lợi ích của chúng và tận dụng tối đa các ứng dụng của bạn. Tìm hiểu cách định cấu hình và quản lý tài nguyên vùng chứa của bạn một cách nhanh chóng và dễ dàng chỉ bằng một vài bước đơn giản để bạn có thể chắc chắn rằng tất cả các dịch vụ của mình đang chạy trơn tru.

Đặt giới hạn tài nguyên vùng chứa trong Kubernetes

Giới hạn tài nguyên vùng chứa là một yếu tố thiết yếu của Kubernetes, cho phép người dùng quản lý số lượng tài nguyên mà vùng chứa có thể tiêu thụ. Để tránh quá tải và đảm bảo hiệu suất ứng dụng, điều này đặc biệt quan trọng trong bối cảnh sản xuất. Dưới đây là một số mẹo chuyên nghiệp để đặt giới hạn tài nguyên vùng chứa:







Bắt đầu bằng cách xác định các tài nguyên mà vùng chứa của bạn cần. Phân tích mức sử dụng hệ thống của bạn và xác định vùng chứa nào sẽ được điều chỉnh giới hạn bộ nhớ và CPU. Điều quan trọng nữa là phải xem xét các nút bên dưới khi đặt giới hạn tài nguyên – nếu bạn đặt giới hạn quá cao hoặc quá thấp, nút có thể không chạy được các ứng dụng khác mà không gặp sự cố. Tiếp theo, quyết định loại giới hạn bạn muốn sử dụng – có thể vượt mức hoặc không thể vượt mức. Bây giờ, hãy xem các bước cần thiết mà bạn có thể làm theo để đặt giới hạn tài nguyên vùng chứa Kubernetes. Trước khi hướng tới các bước, có một số điều kiện tiên quyết cần thiết:



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

Trước khi chúng tôi chuyển sang các bước, 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. Đảm bảo bạn có 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, quản lý môi trường phát triển và 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 chuyển sang hướng dẫn từng bước về cách đặt giới hạn tài nguyên vùng chứa Kubernetes.



Cách đặt giới hạn tài nguyên Kubernetes

Đặt giới hạn tài nguyên bộ chứa Kubernetes là một phần quan trọng trong việc quản lý và duy trì các cụm Kubernetes của bạn. Việc có sẵn giới hạn tài nguyên phù hợp đảm bảo rằng mỗi vùng chứa chạy tối ưu mà không ảnh hưởng đến hiệu suất của các vùng chứa khác hoặc toàn bộ cụm. Điều này có thể được thực hiện bằng cách đặt các yêu cầu và giới hạn tài nguyên cho CPU, bộ nhớ, bộ lưu trữ tạm thời, v.v. Dưới đây là cách đặt đúng giới hạn tài nguyên vùng chứa Kubernetes.





Bước 1: Bắt đầu Minikube

Cụm Minikube phải ở trạng thái hoạt động để bạn có thể chạy các ứng dụng hoặc lệnh của mình trong đó. Để đảm bảo nó hoạt động bình thường, hãy sử dụng lệnh sau:



> bắt đầu minikube

Bước 2: Kích hoạt máy chủ số liệu

Trong bước này, chúng tôi chia sẻ lệnh cho phép bạn kích hoạt máy chủ số liệu. Lệnh được đưa ra như sau:

> tiện ích minikube cho phép máy chủ số liệu

Bước 3: Kiểm tra xem Máy chủ số liệu có hoạt động hay không

Nhập lệnh sau để kiểm tra xem máy chủ số liệu có hoạt động hay không:

> kubectl nhận apiservices

Như đã thấy trong hình ảnh trước, nó chứa tham chiếu đến metrics.k8s.io trong trường hợp API chỉ số tài nguyên có thể truy cập được.

Bước 4: Tạo một không gian tên

Để giữ các tài nguyên, bạn tạo một không gian tên cho bài tập này tách biệt với phần còn lại của cụm của bạn. Bây giờ chúng tôi trình bày cách tạo một không gian tên. Lệnh thực hiện được đưa ra như sau:

> kubectl tạo không gian tên ABC

Bước 5: Tạo tệp cấu hình

Tệp cấu hình YAML mà chúng tôi sử dụng để tạo nhóm trong vùng chứa được tạo trong bước này. Đây là lệnh được sử dụng để thực hiện điều này:

> nano reqlimit.yaml

Tại đây, bạn cần bao gồm yêu cầu CPU cùng với giới hạn CPU. Bao gồm các tài nguyên: giới hạn để xác định giới hạn CPU. Trong trường hợp này, một Pod với một vùng chứa duy nhất được tạo. Vùng chứa có giới hạn yêu cầu 0,5 CPU và tối đa 1 CPU. Tệp cấu hình của Pod có sẵn tại đây. Như bạn có thể thấy, phần args của tệp cấu hình chứa các đối số mà bộ chứa sử dụng khi nó khởi động. Bộ chứa được hướng dẫn cố gắng sử dụng 2 CPU thông qua tham số -cpus “2”.

Khi tạo tài nguyên trong Kubernetes, chẳng hạn như triển khai và nhóm, điều quan trọng là phải chỉ định số lượng tài nguyên cần thiết (yêu cầu) tối thiểu và số lượng tài nguyên tối đa được phép (giới hạn) cho mỗi nhóm hoặc triển khai. Điều này ngăn bất kỳ một nhóm nào tiêu thụ quá nhiều tài nguyên, điều này có thể khiến các nhóm đang hoạt động khác bị giảm hiệu suất hoặc thậm chí gặp sự cố do thiếu tài nguyên khả dụng trên cụm.

Bước 6: Tạo một nhóm

Bây giờ, chúng tôi chỉ cho bạn cách tạo nhóm bằng lệnh sau:

> tạo kubectl -f reqlimit.yaml

Từ đầu ra đã cho trước đó, bạn có thể nhận thấy rằng nhóm có tên “cpu-demo” đã được tạo.

Bước 7: Xác minh Pod

Ở bước này, chúng ta kiểm tra xem pod đã tạo có hoạt động hay không bằng lệnh sau:

> kubectl get pod cpu-demo --namespace =abc

Bước 8: Xem chi tiết Pod

Bây giờ, nếu bạn muốn xem thông tin chi tiết về Pod, đây là lệnh sẽ được thực hiện:

> kubectl get pod cpu-demo --đầu ra =yaml --namespace =abc

Bước 9: Xóa Pod

Ở đây, chúng tôi sẽ chỉ cho bạn cách xóa nhóm để dọn sạch tài nguyên. Lệnh được sử dụng cho mục đích này như sau:

> kubectl xóa pod cpu-demo --namespace =abc

Bước 10: Tạo tệp cấu hình

Trong bước này, chúng tôi tạo một tệp cấu hình. Tệp này chỉ định một yêu cầu CPU khá lớn đối với các nút của bạn.

> nano reqlimit2

Bạn có thể tìm thấy tệp cấu hình với một vùng chứa duy nhất tại đây. Vùng chứa yêu cầu 100 CPU, nhiều hơn bất kỳ Nút nào mà cụm của bạn có thể cung cấp một cách hợp lý.

Bước 11: Tạo một te the Pod

Trong bước này, chúng tôi tạo nhóm bằng lệnh sau:

> tạo kubectl -f reqlimit2.yaml

Bước 12: Xem Trạng thái Pod

Bây giờ, bạn có thể thấy st một tus của nhóm bằng lệnh được đính kèm tại đây:

Đầu ra cho thấy trạng thái Pod đang chờ xử lý.

Bước 13: Xem thông tin về Pod

Bây giờ, chúng tôi xem thông tin chi tiết về Pod bao gồm các sự kiện với lệnh đã cho tại đây:

Chuyển đến phần sự kiện và xem liệu vùng chứa có được lên lịch hay không.

Nếu không thể lên lịch và lý do là không đủ tài nguyên CPU, bạn có thể xóa nút. Cách xóa một nút được giải thích trong bước tiếp theo.

Bươc 14: Xóa nút

Bạn có thể xóa nút bằng lệnh sau:

> kubectl xóa pod cpu-demo- 2 --namespace =abc

Tác động của giới hạn tài nguyên vùng chứa đối với hiệu suất là gì?

Với sự phổ biến ngày càng tăng của công nghệ bộ chứa Kubernetes, điều quan trọng là phải hiểu giới hạn tài nguyên có thể ảnh hưởng đến hiệu suất như thế nào. Đặt giới hạn tài nguyên bên trong bộ chứa Kubernetes có thể giúp bạn đảm bảo rằng các ứng dụng của mình đang chạy ở mức tối ưu và chúng không tiêu tốn quá nhiều tài nguyên từ máy chủ lưu trữ. Bằng cách giới hạn tài nguyên, bạn có thể tránh lãng phí các quy trình dư thừa, giúp ngăn hệ thống gặp sự cố do sử dụng và tối ưu hóa hiệu suất của vùng chứa của bạn.

Để đặt các giới hạn tài nguyên này trong bộ chứa Kubernetes, bạn phải sử dụng một công cụ có tên là cgroups (nhóm điều khiển). Các nhóm cho phép quản trị viên giới hạn các tài nguyên như chu kỳ CPU hoặc mức sử dụng bộ nhớ cho các vùng chứa riêng lẻ. Bạn cũng có thể đặt các tham số khác, chẳng hạn như kích thước tệp tối đa hoặc mức sử dụng băng thông mạng trên mỗi vùng chứa.

Phần kết luận

Đặt giới hạn tài nguyên bộ chứa Kubernetes là một phần quan trọng trong việc quản lý môi trường điện toán đám mây của bạn. Với cấu hình phù hợp, bạn có thể đảm bảo rằng mỗi vùng chứa có quyền truy cập vào các tài nguyên mà nó cần nhưng không đến mức ảnh hưởng đến các vùng chứa hoặc hệ thống khác. Điều này cho phép sử dụng tài nguyên máy tính hiệu quả hơn và tiết kiệm chi phí hơn. Ngoài ra, bằng cách giới hạn dung lượng bộ nhớ hoặc CPU mà một bộ chứa có thể tiêu thụ, bạn có thể ngăn chặn tình trạng ngừng hoạt động xảy ra do các quy trình chạy sai hoặc lượng sử dụng tăng đột biến.