08.kubelet
1. kubelet
- "Thuyền trưởng" trên mỗi Worker Node 👨✈️¶
Nếu Master Node
là "Tàu Chỉ Huy", thì mỗi Worker Node
là một "Tàu Hàng", và kubelet
chính là thuyền trưởng của con tàu đó. Nó là agent chính, chịu trách nhiệm cho mọi hoạt động diễn ra trên node của mình.
kubelet
là điểm liên lạc duy nhất của Master Node trên mỗi Worker Node. Mọi mệnh lệnh từ kube-api-server
xuống Worker Node đều do kubelet
tiếp nhận và thực thi.
2. Các Nhiệm vụ chính của "Thuyền trưởng" kubelet
¶
kubelet
có 3 nhiệm vụ cốt lõi:
-
Đăng ký Node (Node Registration):
-
Khi một Worker Node mới khởi động,
kubelet
sẽ làm "thủ tục giấy tờ" cần thiết để đăng ký Node này với cụm Kubernetes, báo cáo rằng: "Thuyền trưởng xin báo, tàu hàng số hiệu X đã sẵn sàng nhận nhiệm vụ!". -
Tạo và Quản lý Vòng đời Pod (Pod Lifecycle):
-
Sau khi
kube-scheduler
đã quyết định một Pod sẽ chạy trên Node này,kube-api-server
sẽ gửi chỉ thị đếnkubelet
. kubelet
nhận lệnh và ra chỉ thị cho Container Runtime Engine (ví dụ: Docker, ContainerD) để kéo image cần thiết và khởi chạy các container bên trong Pod.-
Nó cũng chịu trách nhiệm hủy Pod khi có lệnh.
-
Báo cáo Trạng thái (Status Reporting):
-
kubelet
liên tục theo dõi "sức khỏe" của các Pod và container đang chạy trên node của mình. - Nó đều đặn gửi các báo cáo trạng thái này về cho
kube-api-server
, thông báo tình hình của "con tàu" và các "thùng hàng" trên đó.
3. Cài đặt kubelet
- Một điểm "Đặc biệt" ⚠️¶
Đây là một điểm rất quan trọng bạn cần nhớ, khác biệt so với các thành phần Master Node khác:
- Ngay cả khi bạn sử dụng công cụ
kubeadm
để dựng cụm,kubeadm
KHÔNG tự động cài đặtkubelet
cho bạn. - Bạn phải luôn luôn cài đặt
kubelet
một cách thủ công trên tất cả các Worker Node (và cả Master Node). - Quá trình cài đặt thường bao gồm việc tải file cài đặt, giải nén và cấu hình nó chạy như một service hệ thống.
4. Xem tiến trình kubelet
đang chạy¶
Để xem kubelet
có đang chạy trên một node hay không và với các tùy chọn nào, bạn có thể dùng lệnh sau trên node đó:
5. "Chốt hạ" cho Kỳ thi CKA 📝¶
kubelet
là agent chính, chạy trên mỗi Worker Node (và cả Master Node).- Nó là người thực thi - nhận lệnh từ
api-server
và ra lệnh cho Container Runtime để chạy/dừng container. - Nó là người báo cáo - liên tục gửi trạng thái của Node và các Pod về cho Master.
- Quan trọng:
kubeadm
không tự càikubelet
. Bạn phải luôn cài đặt nó thủ công.
Hiểu rõ vai trò của kubelet
là bạn đã hiểu được "cánh tay nối dài" của Master Node hoạt động như thế nào trên từng Worker Node rồi đó. Chúc bạn buổi chiều học tập hiệu quả!