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

29/09/2026

"SOVEREIGN CLOUD" VÀ NGHỊCH LÝ CHUYỂN ĐỔI SỐ: GIẢI MÃ BÀI TOÁN TUÂN THỦ CHO NGÀNH TÀI CHÍNH & CHÍNH PHỦ

Các tổ chức thuộc nhóm ngành trọng yếu như tài chính, ngân hàng (BFSI) và cơ quan nhà nước đang khao khát hiện đại hóa hệ thống IT (chuyển đổi sang kiến trúc Microservices, sử dụng Container/Kubernetes) để tăng tốc độ triển khai dịch vụ và nâng cao trải nghiệm người dùng. Tuy nhiên, họ lại đang vấp phải một "nghịch lý" lớn: Càng muốn áp dụng công nghệ Cloud hiện đại, rào cản về tuân thủ pháp lý và an toàn thông tin càng trở nên khắt khe.

29/09/2026

BÀI TOÁN "NOISY NEIGHBOR" TRÊN CLOUD VÀ CHIẾN LƯỢC TỐI ƯU HIỆU NĂNG CHO HỆ THỐNG CỐT LÕI

Trong kỷ nguyên mà dữ liệu là "dầu mỏ mới", việc vận hành các hệ thống xương sống (Core ERP, Core Banking) hay các workload tính toán chuyên sâu (AI, Machine Learning, Datalake) đòi hỏi năng lực phần cứng vô cùng mạnh mẽ.

27/09/2026

"BÃO GIÁ" HẠ TẦNG CNTT VÀ BÀI TOÁN SỐNG CÒN CỦA DOANH NGHIỆP: VÌ SAO PRIVATE CLOUD DẠNG DỊCH VỤ LÊN NGÔI?

Làn sóng bùng nổ hạ tầng AI toàn cầu đang tạo ra một "cơn địa chấn" về giá phần cứng máy chủ, chip nhớ DRAM, ổ cứng doanh nghiệp và chi phí năng lượng. Đứng trước áp lực phải chuyển đổi số nhưng lại vấp phải bài toán chi phí đầu tư (CapEx) đắt đỏ cùng thời gian giao hàng kéo dài hàng tháng, các nhà quản trị công nghệ (CIO) và tài chính (CFO) đang tìm kiếm một hướng đi mới: Không cần bỏ hàng tỷ đồng mua sắm hạ tầng mà vẫn sở hữu riêng một hệ thống Private Cloud hoàn chỉnh, an toàn và sẵn sàng vận hành ngay lập tức.

29/09/2026

Digital Workplace là gì? Xu hướng môi trường làm việc số cho doanh nghiệp

Digital Workplace là gì? Khám phá mô hình vận hành, thành phần, lợi ích, ứng dụng, thách thức và xu hướng môi trường làm việc số cho doanh nghiệp.

29/09/2026

Lỗ hổng Shellshock là gì? Cơ chế, tác động và cách khắc phục

Lỗ hổng Shellshock (CVE-2014-6271) trong Bash là gì, vì sao nghiêm trọng? Tìm hiểu nguyên nhân, hệ thống bị ảnh hưởng và cách kiểm tra, vá lỗi.

29/09/2026

Scratch là gì? Cách hoạt động, ứng dụng và đối tượng phù hợp

Scratch là gì? Tìm hiểu cách lập trình bằng khối lệnh, các khái niệm có thể học, ứng dụng thực tế và sự khác nhau giữa Scratch với ScratchJr.

29/09/2026

Phân biệt các loại Web Hosting: Đâu là lựa chọn phù hợp cho website?

Phân biệt các loại Web Hosting và tìm hiểu cách mỗi mô hình hoạt động, từ đó lựa chọn giải pháp phù hợp với nhu cầu, quy mô và định hướng phát triển website.

29/09/2026

Website có cần hosting không? Giải đáp chi tiết từ A-Z

Website có cần hosting không? Tìm hiểu vai trò của hosting, domain và các trường hợp cần và không cần mua hosting riêng cho website.

29/09/2026

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

Top nhà cung cấp dịch vụ Cloud Camera uy tín tại Việt Nam, cùng tiêu chí lựa chọn và những lưu ý quan trọng trước khi đăng ký dịch vụ.

28/09/2026

Trigger là gì trong DBMS? Cách hoạt động, các loại phổ biến và ứng dụng

Trigger là gì trong DBMS? Tìm hiểu cách trigger hoạt động, các loại phổ biến, ví dụ minh họa, ưu nhược điểm và khi nào nên sử dụng.