Cách đặt dung sai Kubernetes

Cach Dat Dung Sai Kubernetes



Hôm nay, chúng ta tìm hiểu về dung sai trong Kubernetes với sự trợ giúp của các ví dụ đơn giản và cơ bản. Bài viết này được thiết kế để tìm hiểu khái niệm cơ bản về dung sai trong Kubernetes và cách nó có thể được triển khai trong Kubernetes để lên lịch cho các nhóm. Do dung sai và taints hoạt động cùng nhau, nên chúng ta sẽ có một cuộc thảo luận ngắn gọn về taints cũng như để hiểu toàn bộ khái niệm về taint và dung sai trong Kubernetes. Chúng ta hãy bắt đầu với những định nghĩa cơ bản về vết bẩn và sự khoan dung.

Dung sai và vết bẩn trong Kubernetes là gì?

Toleration và taint trong Kubernetes được sử dụng để đảm bảo rằng các nhóm được đặt vào đúng nút. Dung sai được xác định trong đặc tả nhóm trong khi các dấu hiệu xấu được xác định trong đặc tả nút. Khi bạn áp dụng dung sai trên một nhóm, nó sẽ cho phép bộ lập lịch lên lịch cho các nhóm trên một nút cụ thể. Tuy nhiên, những vết nhơ hoạt động ngược lại với sự khoan dung. Nó cho phép nút từ chối các nhóm được lên lịch trên đó. Các nhóm chỉ được phép lên lịch trên nút nếu chúng có dung sai được áp dụng cho chúng với các vết bẩn phù hợp.

Kubernetes hoạt động với các nhóm, cụm, nút, sự kiện, v.v. Trong một số trường hợp, để quản lý những thứ này, Kubernetes cần dung sai và sai sót. Khoan dung là việc thực hiện quá trình lập lịch trình. Các nhóm cần được lên lịch để chúng có thể hoạt động bình thường và chúng có thể có đủ tài nguyên khi cần thiết để thực hiện hoạt động của mình. Dung sai được áp dụng cho các nhóm chống nhiễm bẩn để chúng không bị gián đoạn hoặc gián đoạn khi làm việc.







Các dấu vết trong Kubernetes cho phép một nhóm từ chối lập lịch trình của một nhóm. Nó được áp dụng cho một nút bằng cách sử dụng đặc tả Nút “NodeSpec”. Bộ lập lịch trình không thể đặt một nhóm trên một nút có vết bẩn trên đó. Tuy nhiên, nếu bạn cần lên lịch cho các nhóm trên một nút đã áp dụng dấu vết, thì bạn cần khai báo dung sai đối với nó.



Dung sai trong Kubernetes cho phép một nhóm được lên lịch trên một nút đã áp dụng dấu vết. Dung sai trên một nhóm được áp dụng bằng cách sử dụng thông số kỹ thuật của Pod “PodSpec”. Khi bạn áp dụng dung sai trên một nhóm có dấu vết phù hợp, lịch biểu có thể dễ dàng lên lịch cho các nhóm trên một nút cụ thể.



Bây giờ, hãy để chúng tôi trình bày một tình huống để giúp bạn hiểu cách bạn có thể triển khai dung sai trên một nhóm trong Kubernetes. Trước khi bạn tiếp tục phần triển khai, hãy đảm bảo rằng bạn có tất cả các yêu cầu tiên quyết.





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

Sau đây là những điều bạn cần để triển khai dung sai trên một nút trong Kubernetes:

  • Ubuntu 20.04 hoặc bất kỳ phiên bản mới nhất nào khác của bất kỳ hệ thống Linux nào
  • Minikube (phiên bản mới nhất)
  • Đã cài đặt máy ảo trong hệ thống Linux/Unix của bạn
  • Công cụ dòng lệnh Kubectl

Giả sử rằng hệ thống của bạn đáp ứng tất cả nhu cầu của các điều kiện tiên quyết, hãy bắt đầu thiết lập dung sai Kubernetes.



Bước 1: Khởi động Minikube Terminal

Điều đầu tiên bạn cần làm là khởi động thiết bị đầu cuối minikube để bạn có thể sử dụng các lệnh kubectl để triển khai dung sai Kubernetes trên một nút. Để bắt đầu minikube, lệnh sau được sử dụng:

> bắt đầu minikube

Sau khi thực hiện lệnh này, bạn sẽ nhận được đầu ra sau trong thiết bị đầu cuối của mình:

Bước 2: Lấy danh sách các nút đang hoạt động

Bây giờ chúng tôi đã bắt đầu minikube, hệ thống của chúng tôi đã sẵn sàng đặt dung sai cho các nhóm trong Kubernetes. Trước khi chúng tôi đặt dung sai cho các nhóm, hãy để chúng tôi kiểm tra xem chúng tôi đã có bao nhiêu nút và loại nút nào. Để làm điều đó, chúng tôi sử dụng lệnh tiếp theo sau:

> kubectl nhận các nút -Các =custom-columns=NodeName:.metadata.name,TaintKey:.spec.taints [ * ] .key,TaintValue:.spec.taints [ * ] .value,TaintEffect:.spec.taints [ * ] .hiệu ứng

Hướng dẫn này liệt kê tất cả các nút bị ảnh hưởng bởi cài đặt mặc định Kubernetes. Trước tiên chúng ta hãy xem đầu ra của lệnh này. Sau đó, chúng tôi thảo luận về danh sách các nút:

Vì không có nút nào được tạo và làm hỏng bởi cài đặt mặc định Kubernetes và chúng tôi cũng không tạo cụ thể bất kỳ nút nào, nên kết quả là . Từ đầu ra trước đó, chúng ta có thể thấy rằng không có nút nào. Do đó, trước tiên chúng tôi tạo nút và sau đó đặt dung sai. Để đặt dung sai trên một nhóm trong Kubernetes, trước tiên chúng ta cần triển khai một ứng dụng trên một cụm. Một vài bước tiếp theo trình bày cách triển khai một ứng dụng trên một cụm.

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

Đầu tiên, chúng tôi tạo một không gian tên để triển khai một ứng dụng trên một cụm. Tại đây, chúng tôi tạo một ứng dụng có giá trị “frontend” với sự trợ giúp của lệnh sau:

> kubectl tạo giao diện ns

Lệnh này tạo không gian tên có giá trị “frontend”. Xem đầu ra sau:

Bước 4: Triển khai Nginx Pod trên Namespace

Bây giờ, hãy triển khai nhóm nginx trên không gian tên mà chúng ta vừa tạo. Chúng tôi sử dụng lệnh sau để triển khai nginx:

> kubectl chạy nginx – hình ảnh =nginx –không gian tên giao diện người dùng

Điều này triển khai một ứng dụng trên một cụm không có cấu hình dung sai trong đặc điểm kỹ thuật triển khai ứng dụng. Sử dụng lệnh kubectl, chúng tôi triển khai nhóm nginx trên giao diện người dùng không gian tên:

  Văn bản Mô tả được tạo tự động

Bước 5: Lấy danh sách các nhóm

Bây giờ, chúng ta hãy kiểm tra các nhóm đã tạo để xem trạng thái của chúng. Lệnh đã cho liệt kê tất cả các nhóm và trạng thái của chúng:

> kubectl lấy nhóm -N giao diện người dùng

Vì chúng tôi chỉ tạo nginx, nên lệnh này sẽ liệt kê nhóm đó cùng với trạng thái của nó. Xem đầu ra sau:

Bước 6: Phân tích các sự kiện Kubernetes

Bây giờ, hãy để chúng tôi phân tích các sự kiện trong Kubernetes để chúng tôi có thể đặt dung sai cho các nhóm tương ứng. Chúng tôi sử dụng lệnh kubectl sau để lấy danh sách các sự kiện trong Kubernetes:

> kubectl nhận sự kiện -N giao diện người dùng

Điều này liệt kê tất cả các sự kiện được liên kết với giá trị giao diện người dùng cùng với các thuộc tính của chúng như loại, lý do, đối tượng và thông báo. Xem danh sách đã cho trong đầu ra sau:

  Văn bản Mô tả được tạo tự động

Như bạn có thể thấy từ đầu ra trước đó, nhóm nginx được lên lịch với dung sai cụ thể. Thuộc tính “message” hiển thị danh sách các hành động được thực hiện trong suốt quá trình.

Bước 7: Kiểm tra trạng thái của Pods

Bước cuối cùng là kiểm tra lại trạng thái của nhóm mà chúng tôi đã tạo trước đó để đảm bảo rằng nhóm được lên lịch thành công trên một nút cụ thể và chính xác. Để làm điều đó, chúng tôi sử dụng lệnh kubectl sau:

> kubectl lấy nhóm -N giao diện người dùng

Như có thể thấy trong đầu ra trước đó, nhóm hiện được phép chạy trên nút bị nhiễm độc do dung sai được đặt đối với nút đó.

Phần kết luận

Trong hướng dẫn này, chúng tôi đã khám phá về các vết bẩn và khả năng chịu đựng. Chúng tôi đã học về hoạt động cơ bản của vết nhơ và sự khoan dung. Sau đó, chúng tôi triển khai dung sai trên một nhóm. Với sự trợ giúp của một ví dụ đơn giản, chúng ta đã học cách đặt dung sai trên một nút trong Kubernetes.