Tuyển dụng
Viettel IDC

Lease trong Kubernetes là gì? Phân tích cơ chế hoạt động từ A-Z

09/06/2026

Lease là một cơ chế quan trọng giúp Kubernetes theo dõi trạng thái hoạt động của Node và các thành phần trong Control Plane một cách hiệu quả. Nhờ Lease, hệ thống có thể quản lý Heartbeat, thực hiện Leader Election và nhanh chóng phát hiện sự cố trong cluster. Vậy Lease trong Kubernetes là gì và cơ chế này hoạt động như thế nào? Hãy cùng Viettel IDC tìm hiểu chi tiết trong bài viết dưới đây nhé.

Lease trong Kubernetes là gì? Phân tích cơ chế hoạt động từ A-Z

Lease trong Kubernetes là gì?

Lease là một loại tài nguyên thuộc nhóm API coordination.k8s.io được Kubernetes sử dụng để lưu trữ thông tin tạm thời liên quan đến trạng thái hoạt động của các thành phần trong cluster. Nói một cách đơn giản, Lease hoạt động giống như một giấy xác nhận cho biết một Node hoặc một thành phần nào đó vẫn còn hoạt động và có quyền thực hiện một nhiệm vụ nhất định.

 

Tài nguyên Lease được giới thiệu nhằm giảm tải cho Kubernetes API Server và etcd trong quá trình xử lý Heartbeat của Node. Trước đây, Kubernetes phải liên tục cập nhật Node Status để xác nhận Node còn hoạt động. Tuy nhiên, trong các cluster lớn với hàng trăm hoặc hàng nghìn Node, việc cập nhật trạng thái liên tục có thể tạo ra lượng lớn request đến API Server và làm tăng tải cho etcd.

 

Để giải quyết vấn đề này, Kubernetes chuyển sang sử dụng Lease như một cơ chế Heartbeat nhẹ hơn. Thay vì cập nhật toàn bộ Node Status, kubelet chỉ cần gia hạn Lease định kỳ để thông báo rằng Node vẫn đang hoạt động. Điều này giúp giảm đáng kể lưu lượng dữ liệu được ghi vào etcd và cải thiện hiệu năng tổng thể của cluster.

 

Ngoài Heartbeat, Lease còn được sử dụng trong nhiều cơ chế quan trọng khác như Leader Election. Các thành phần của Control Plane có thể sử dụng Lease để xác định thành phần nào đang giữ vai trò Leader và đảm bảo chỉ có một thành phần duy nhất thực hiện các tác vụ điều phối tại một thời điểm.

Lease hoạt động như thế nào trong Kubernetes?

Để hiểu cách Lease hoạt động, trước tiên cần hiểu rằng Lease là một đối tượng Kubernetes được lưu trữ trong etcd giống như các tài nguyên khác. Mỗi Lease chứa một số thông tin quan trọng như danh tính của thành phần đang sở hữu Lease, thời gian gia hạn gần nhất và thời gian Lease còn hiệu lực.

 

Khi một thành phần muốn chứng minh rằng nó vẫn đang hoạt động, thành phần đó sẽ liên tục cập nhật Lease của mình theo chu kỳ nhất định. Quá trình này được gọi là Lease Renewal. Nếu Lease được gia hạn đúng thời gian quy định, Kubernetes sẽ hiểu rằng thành phần đó vẫn hoạt động bình thường. Ngược lại, nếu Lease không được cập nhật trong khoảng thời gian cho phép, Kubernetes sẽ coi thành phần đó đã gặp sự cố hoặc mất kết nối.

 

Ví dụ phổ biến nhất là Node Heartbeat. Trên mỗi Worker Node, kubelet sẽ định kỳ cập nhật Lease của Node lên Kubernetes API Server. Khi Lease được gia hạn thành công, Control Plane biết rằng Node vẫn đang hoạt động và có thể tiếp tục nhận workload mới. Nếu Lease không được cập nhật trong một khoảng thời gian nhất định, Kubernetes sẽ đánh dấu Node ở trạng thái NotReady và bắt đầu các quy trình xử lý lỗi tương ứng.

 

Một thành phần quan trọng trong Lease là lease DurationSeconds. Đây là khoảng thời gian Lease được xem là hợp lệ kể từ lần gia hạn gần nhất. Nếu quá thời gian này mà Lease chưa được cập nhật, Kubernetes sẽ coi Lease đã hết hạn.

 

Trong quá trình vận hành, Kubernetes liên tục theo dõi các Lease để đánh giá trạng thái của Node hoặc các thành phần khác trong cluster. Điều này giúp hệ thống phản ứng nhanh với các sự cố mà không cần liên tục truy vấn những dữ liệu lớn hơn như Node Status.

Vai trò của Lease trong Kubernetes

- Node Heartbeat: Đây là vai trò phổ biến nhất của Lease trong Kubernetes. Mỗi Node trong cluster đều sở hữu một Lease riêng được kubelet cập nhật định kỳ. Lease này đóng vai trò như tín hiệu Heartbeat giúp Control Plane biết rằng Node vẫn còn hoạt động. Thông qua Lease, Kubernetes có thể nhanh chóng phát hiện Node gặp sự cố mà không cần liên tục cập nhật Node Status như trước đây. Điều này giúp giảm đáng kể lượng request gửi đến API Server và giảm áp lực lên etcd.

 

- Leader Election: Trong môi trường Kubernetes có tính sẵn sàng cao, nhiều thành phần Control Plane thường được triển khai dưới dạng nhiều bản sao. Tuy nhiên, tại một thời điểm chỉ được phép có một bản sao thực hiện các tác vụ điều phối chính. Thành phần nào đang sở hữu Lease hợp lệ sẽ được xem là Leader. Trong quá trình hoạt động, Leader phải liên tục gia hạn Lease để duy trì quyền kiểm soát.

 

- Theo dõi trạng thái Cluster: Ngoài Heartbeat và Leader Election, Lease còn hỗ trợ Kubernetes theo dõi trạng thái của nhiều thành phần khác nhau trong cluster. Các controller hoặc dịch vụ có thể sử dụng Lease để xác nhận rằng chúng vẫn đang hoạt động hoặc đang giữ quyền thực hiện một nhiệm vụ cụ thể. Nhờ đó, Kubernetes có thể đưa ra các quyết định chính xác hơn khi điều phối tài nguyên, xử lý lỗi hoặc cân bằng tải trong môi trường phân tán.

Vai trò của Lease trong Kubernetes

Lease được sử dụng ở đâu trong Kubernetes?

Kubernetes Node

Một trong những ứng dụng phổ biến nhất của Lease là quản lý Node Heartbeat. Mỗi Node trong Kubernetes đều có một Lease riêng được tạo trong namespace kube-node-lease. Kubelet trên Node sẽ định kỳ cập nhật Lease này để thông báo với Control Plane rằng Node vẫn đang hoạt động bình thường.

 

Trước khi Lease được giới thiệu, Kubernetes sử dụng Node Status để gửi tín hiệu Heartbeat. Tuy nhiên, Node Status chứa rất nhiều thông tin như tài nguyên CPU, bộ nhớ, điều kiện hoạt động và metadata của Node. Việc cập nhật thường xuyên những dữ liệu này làm tăng đáng kể số lượng request đến API Server và tạo áp lực lớn lên etcd.

 

Lease giải quyết vấn đề này bằng cách chỉ cập nhật một lượng dữ liệu rất nhỏ. Điều này giúp Kubernetes theo dõi hàng nghìn Node cùng lúc mà vẫn duy trì hiệu năng ổn định. Nếu Lease của Node không được gia hạn trong thời gian quy định, hệ thống sẽ đánh dấu Node ở trạng thái NotReady và tiến hành các bước xử lý tiếp theo.

kube-controller-manager

kube-controller-manager là thành phần chịu trách nhiệm vận hành nhiều Controller quan trọng trong Kubernetes như Deployment Controller, ReplicaSet Controller, Node Controller hay Job Controller. Trong môi trường High Availability, thường sẽ có nhiều bản sao kube-controller-manager hoạt động đồng thời để đảm bảo khả năng chịu lỗi.

 

Tuy nhiên, nếu tất cả các bản sao cùng thực hiện tác vụ điều phối tại một thời điểm, hệ thống có thể gặp xung đột hoặc tạo ra các quyết định không nhất quán. Để giải quyết vấn đề này, Kubernetes sử dụng Lease làm nền tảng cho cơ chế Leader Election.

 

Tại mỗi thời điểm, chỉ có một kube-controller-manager giữ Lease hợp lệ và đóng vai trò Leader. Thành phần này sẽ thực hiện toàn bộ tác vụ điều phối chính. Nếu Leader gặp sự cố hoặc ngừng gia hạn Lease, một bản sao khác sẽ tự động tiếp quản vai trò Leader mà không làm gián đoạn hoạt động của cluster.

kube-scheduler

kube-scheduler là thành phần chịu trách nhiệm lựa chọn Node phù hợp để triển khai Pod. Tương tự kube-controller-manager, Scheduler cũng thường được triển khai theo mô hình nhiều bản sao trong các hệ thống yêu cầu độ sẵn sàng cao. Lease giúp kube-scheduler thực hiện Leader Election nhằm đảm bảo chỉ có một Scheduler giữ quyền ra quyết định tại một thời điểm. Điều này giúp tránh trường hợp nhiều Scheduler cùng xử lý một Pod và tạo ra xung đột trong quá trình phân bổ workload.

 

Khi Scheduler Leader gặp sự cố, Lease sẽ hết hạn và một Scheduler khác sẽ được bầu chọn để tiếp tục nhiệm vụ. Nhờ đó, quá trình lập lịch Pod diễn ra liên tục mà không cần sự can thiệp từ quản trị viên.

Cloud Controller Manager

Trong các môi trường Cloud Computing, Kubernetes thường sử dụng Cloud Controller Manager để tương tác với hạ tầng của nhà cung cấp dịch vụ như AWS, Azure hoặc Google Cloud. Cloud Controller Manager chịu trách nhiệm quản lý nhiều tác vụ quan trọng như cân bằng tải, quản lý địa chỉ IP, cập nhật trạng thái Node hoặc tích hợp các dịch vụ cloud. Để đảm bảo tính nhất quán khi triển khai theo mô hình nhiều bản sao, thành phần này cũng sử dụng Lease cho cơ chế Leader Election.

 

Nhờ Lease, Kubernetes có thể đảm bảo rằng chỉ một Cloud Controller Manager thực hiện các thay đổi liên quan đến hạ tầng cloud tại một thời điểm, từ đó hạn chế lỗi và tránh xung đột trong quá trình vận hành.

Lợi ích của Lease trong Kubernetes

Lease không chỉ giúp Kubernetes vận hành hiệu quả hơn mà còn mang lại nhiều lợi ích quan trọng về hiệu năng, khả năng mở rộng và tính sẵn sàng của hệ thống. Trước hết, Lease giúp giảm tải đáng kể cho API Server và etcd. Thay vì liên tục cập nhật những đối tượng dữ liệu lớn như Node Status, Kubernetes chỉ cần cập nhật một Lease nhỏ gọn. Điều này làm giảm lượng dữ liệu ghi vào etcd và giúp hệ thống phản hồi nhanh hơn khi số lượng Node tăng lên.

 

Bên cạnh đó, Lease giúp Kubernetes phát hiện lỗi nhanh hơn. Khi Node hoặc thành phần Control Plane ngừng gia hạn Lease, hệ thống có thể nhận biết sự cố chỉ sau một khoảng thời gian ngắn. Điều này giúp Kubernetes phản ứng nhanh với các tình huống mất kết nối hoặc hỏng hóc phần cứng.

 

Lease cũng đóng vai trò quan trọng trong khả năng mở rộng của Kubernetes. Trong các cluster có hàng trăm hoặc hàng nghìn Node, việc giảm lượng request Heartbeat là yếu tố then chốt để duy trì hiệu năng. Chính vì vậy, Lease được xem là một trong những cải tiến quan trọng giúp Kubernetes vận hành hiệu quả ở quy mô lớn.

Kết luận

Lease là một thành phần nhỏ nhưng có vai trò cực kỳ quan trọng trong kiến trúc Kubernetes hiện đại. Mong rằng bài viết trên sẽ giúp bạn hiểu rõ Lease trong Kubernetes là gì, giúp ích như thế nào cho DevOps Engineer và Kubernetes Administrator nắm bắt tốt hơn cách Control Plane vận hành, đồng thời hỗ trợ hiệu quả trong quá trình giám sát, tối ưu và xử lý sự cố hệ thống. 

Bạn có thể tham khảo thêm về dịch vụ Viettel Managed Kubernetes Service (vMKS) của Viettel IDC giúp doanh nghiệp triển khai, vận hành và mở rộng các ứng dụng Container hóa một cách tự động và dễ dàng tại đây nhé: 

https://viettelidc.com.vn/managed-kubernetes-service

Để được hỗ trợ tư vấn và tìm hiểu các dịch vụ của Viettel, bạn có thể liên hệ trực tiếp tới Viettel IDC qua các kênh:

- Hotline: 1800 8088 (miễn phí cước gọi)

- Fanpage: https://www.facebook.com/viettelidc  

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

20/10/2026

Viettel IDC dẫn đầu bảng xếp hạng Enterprise of Choice 2026 tại nhiều hạng mục quan trọng

Viettel IDC đạt 6 thứ hạng nổi bật tại Enterprise of Choice 2026, trong đó có 5 vị trí Top 1 ở các hạng mục về công nghệ thông tin, phát triển bền vững, doanh nghiệp được yêu thích bởi người lao động, lãnh đạo và thế hệ trẻ. Kết quả ghi nhận những nỗ lực của doanh nghiệp trong xây dựng môi trường làm việc tích cực, lấy con người làm trung tâm.

20/10/2026

So sánh các dịch vụ cloud backup phổ biến tại Việt Nam

So sánh các dịch vụ cloud backup phổ biến tại Việt Nam về phạm vi sao lưu, bảo mật, khôi phục, chi phí và mô hình triển khai để doanh nghiệp dễ lựa chọn.

20/10/2026

Dịch vụ lưu trữ đám mây nào tốt nhất cho doanh nghiệp nhỏ 2026? 9 lựa chọn nên tham khảo

So sánh 9 dịch vụ lưu trữ đám mây cho doanh nghiệp nhỏ năm 2026: công cụ chia sẻ file, Object Storage trong nước và quốc tế, kèm tiêu chí chọn nhà cung cấp.

20/10/2026

Mua chứng chỉ SSL cho website ở đâu uy tín? 5 kênh mua và triển khai

Có 5 kênh mua và triển khai chứng chỉ SSL cho website: CA, đại lý trong nước, nhà cung cấp hosting, nhà đăng ký tên miền và CA miễn phí. Xem ưu nhược điểm và cách kiểm tra nơi bán uy tín.

20/10/2026

Lưu trữ ngoài có an toàn không? Rủi ro và cách bảo vệ dữ liệu doanh nghiệp

Lưu trữ dữ liệu bên ngoài có an toàn không? Phân tích rủi ro, các lớp bảo vệ cần có và tiêu chí chọn nhà cung cấp cho doanh nghiệp.

19/10/2026

VDS là gì? VDS khác VPS và Dedicated Server như thế nào?

VDS là gì, khác VPS và Dedicated Server ở điểm nào, ưu nhược điểm và trường hợp nên sử dụng.

19/10/2026

Cách triển khai observability cho ứng dụng đám mây và microservices như thế nào

Hướng dẫn triển khai observability cho ứng dụng đám mây và microservices qua 7 bước, từ xác định SLI/SLO đến tối ưu chi phí telemetry.

19/10/2026

Top nhà cung cấp dịch vụ Dedicated Server giá tốt, tốc độ ổn định tại Việt Nam

Tổng hợp các nhà cung cấp Dedicated Server tại Việt Nam, so sánh mô hình dịch vụ, cấu hình, Data Center, uptime, băng thông và giá công bố.

19/10/2026

Top nhà cung cấp dịch vụ Hosting và VPS uy tín tại Việt Nam

Top nhà cung cấp Hosting và VPS uy tín tại Việt Nam. So sánh hạ tầng, uptime, loại dịch vụ và các tiêu chí cần kiểm tra trước khi lựa chọn.

19/10/2026

Thuê Cloud GPU có đắt không?

Thuê Cloud GPU có đắt không phụ thuộc vào yếu tố nào? Phân tích các mô hình tính phí, chi phí ẩn và cách tối ưu ngân sách khi dùng GPU đám mây.