← Tất cả câu hỏi
Các thành phần chính của kiến trúc Kubernetes là gì và mỗi thành phần chịu trách nhiệm gì?
HiếmTrung cấpDevOps

Các thành phần chính của kiến trúc Kubernetes là gì và mỗi thành phần chịu trách nhiệm gì?

Câu trả lời ngắn
Cụm Kubernetes chia thành một mặt phẳng điều khiển đưa ra các quyết định toàn cầu và các nút công nhân chạy khối lượng công việc. Mặt phẳng điều khiển: kube-apiserver, etcd, trình lập lịch kube, trình quản lý bộ điều khiển kube và trình quản lý bộ điều khiển đám mây tùy chọn; các nút: kubelet, kube-proxy và thời gian chạy vùng chứa.

Cụm Kubernetes bao gồm mặt phẳng điều khiển cộng với một tập hợp các máy công nhân, được gọi là nút, chạy các ứng dụng được đóng gói trong Pod. Mỗi cụm cần ít nhất một nút công nhân để chạy Pod.

Về mặt khái niệm, Kubernetes là khai báo: bạn gửi trạng thái mong muốn đến máy chủ API (được lưu trữ trong etcd) và bộ điều khiển chạy các vòng đối chiếu liên tục để theo dõi sự khác biệt và hành động để điều khiển trạng thái thực tế về trạng thái mong muốn.

Các thành phần của mặt phẳng điều khiển

Mặt phẳng điều khiển đưa ra các quyết định chung về cụm (chẳng hạn như lập kế hoạch) và phản hồi các sự kiện của cụm. Trong sản xuất, nó thường chạy trên nhiều máy để có tính sẵn sàng cao.

  • kube-apiserver — thành phần cốt lõi hiển thị API HTTP Kubernetes. Đó là giao diện người dùng của mặt phẳng điều khiển và là điểm liên hệ duy nhất: tất cả xác thực, ủy quyền, xác thực yêu cầu và đọc/ghi trạng thái cụm đều đi qua nó. Nó quy mô theo chiều ngang. Trong các triển khai thông thường, đây là thành phần Kubernetes duy nhất đọc và ghi trạng thái cụm trực tiếp trong etcd; tất cả các thành phần khác tương tác với trạng thái thông qua máy chủ API.
  • etcd — một kho lưu trữ khóa-giá trị nhất quán và có tính sẵn sàng cao được sử dụng làm kho lưu trữ dự phòng của Kubernetes cho tất cả dữ liệu cụm: cấu hình, trạng thái và siêu dữ liệu. etcd là bắt buộc và là nguồn thông tin chính xác duy nhất — mất nó đồng nghĩa với việc mất tất cả trạng thái của cụm, do đó, nó phải chạy với số đại biểu (số lẻ thành viên) và được sao lưu thường xuyên.
  • kube-scheduler — theo dõi các Pod chưa được liên kết với một nút và gán mỗi Pod cho một nút phù hợp, xem xét các tài nguyên, ràng buộc và chính sách.
  • kube-controller-manager — chạy các bộ điều khiển triển khai hành vi API Kubernetes (ví dụ: Bộ điều khiển nút, Bộ điều khiển công việc, Bộ điều khiển EndpointSlice). Mỗi bộ điều khiển theo dõi trạng thái mong muốn và điều chỉnh trạng thái thực tế theo trạng thái đó.
  • cloud-controller-manager (tùy chọn) — tích hợp với nhà cung cấp đám mây cơ bản, tách biệt logic dành riêng cho đám mây khỏi các thành phần cốt lõi của Kubernetes.

Thành phần nút

Chúng chạy trên mọi nút, giữ cho Pod luôn chạy và cung cấp môi trường thời gian chạy.

  • kubelet — tác nhân đảm bảo Pod đang chạy, bao gồm cả vùng chứa của chúng. Nó theo dõi máy chủ API để phân công Pod, khởi động các thùng chứa thông qua thời gian chạy, gắn kết các ổ đĩa, chạy các thăm dò mức độ sẵn sàng/hoạt động và báo cáo trạng thái nút.
  • kube-proxy — triển khai mạng Dịch vụ bằng cách lập trình các quy tắc iptables hoặc IPVS trên các nút để lưu lượng truy cập đến Dịch vụ được chuyển tiếp đến IP Pod chính xác. Nó được đánh dấu là tùy chọn vì một số plugin CNI (ví dụ: Cilium ở chế độ eBPF) đảm nhận công việc của nó, nhưng trong cụm tiêu chuẩn thì điều đó là bắt buộc.
  • Thời gian chạy vùng chứa — phần mềm chịu trách nhiệm chạy vùng chứa (containerd, CRI-O, v.v., thông qua giao diện CRI).

Tiện ích bổ sung

Tiện ích bổ sung mở rộng chức năng cụm: DNS cụm (CoreDNS theo mặc định), giao diện người dùng web Bảng điều khiển, giám sát tài nguyên vùng chứa và ghi nhật ký cấp cụm.

Theo dõi chung: tất cả các luồng giao tiếp đều thông qua máy chủ API — bộ lập lịch, bộ điều khiển và kubelets chỉ cần xem và phản hồi — điều này khiến máy chủ API trở thành trung tâm quan trọng của cụm.

ContainerKiến trúcKubernetes

Tải ngay và dùng thử miễn phí cho công việc của bạn!

Tải xuống cho Windows
10 15 credits miễn phí • Không cần thẻ tín dụngPhiên bản: Đang tải…

Không cần cài đặt - tải xuống và chạy. Không cần đăng ký - đăng nhập bằng Google.