Kubernetes Cluster là gì? Cách tạo Kubernetes Cluster

879
11-10-2023
Kubernetes Cluster là gì? Cách tạo Kubernetes Cluster

Trong các tài liệu về Kubernetes, bạn sẽ thấy xuất hiện rất nhiều cụm từ “Cluster”. Vậy Kubernetes Cluster là gì? Hãy cùng Bizfly Cloud tìm hiểu về thuật ngữ trên trong bài viết dưới đây!

Kubernetes Cluster là gì?

Kubernetes Cluster là một môi trường tập hợp các node để quản lý và triển khai ứng dụng trên container. Trong một Kubernetes Cluster sẽ có một bảng điều khiển chịu trách nhiệm quản trị cluster và một hoặc nhiều nodes, chẳng hạn như ứng dụng nào đang chạy và Container nào đang sử dụng hình ảnh.

Kubernetes Cluster có thể lên lịch và chạy nhiều Container trên nhóm máy chủ vật lý hoặc máy chủ ảo. Kubernetes Container được tách ra trên các Cluster nên chúng không bị ràng buộc với từng máy riêng lẻ.

Thành phần của Kubernetes Cluster

Một Kubernetes Cluster (K8s) bao gồm những thành phần sau:

  • API Server: Là thành phần cung cấp API để quản lý cluster. API Server tiếp nhận các yêu cầu từ người dùng, công cụ hoặc các thành phần khác của hệ thống và truyền đến các thành phần khác trong cluster để thực hiện.

  • Scheduler: Đánh giá các yêu cầu và tài nguyên để xác định node phù hợp để chạy container.

  • Controller: Là thành phần quản lý các bộ điều khiển node, bộ điều khiển điểm cuối (endpoint,..... Controller Manager kiểm soát trạng thái của các tài nguyên trong Cluster và thực hiện các hành động để duy trì trạng thái ổn định.

  • Node: Đóng vai trò như một worker, thực hiện các nhiệm vụ cho Controller đưa ra. Bên trong mỗi Node sẽ lại có Pod, trong mỗi Pod sẽ có thêm các thành phần như volume, containerized. Mỗi Pod sẽ được gán cho một 1 IP (cluster IP) để xác định địa chỉ.

  • Kubelet: Agent chạy trên mỗi Worker Node để quản lý các Container, Pod, giao tiếp với master node. Kubelet còn sử dụng Container Runtime để giao tiếp với container Runtime trên cùng một Node.

  • Kube-proxy: Hoạt động trên tất cả các Node, có nhiệm vụ quản lý kết nối mạng và duy trì quy tắc mạng giữa các node với nhau.

  • etcd: Là cơ sở dữ liệu phân tán được sử dụng để lưu trữ trạng thái của cluster. etcd đảm bảo tính nhất quán và độ tin cậy của dữ liệu trong cluster.

Kubernetes Cluster là gì? Cách tạo Kubernetes Cluster - Ảnh 2.

Những thành phần cơ bản của một Kubernetes Cluster

 >> Có thể bạn quan tâm: Những điều cơ bản cần biết về Cụm Kubernetes

Cách làm việc với Kubernetes Cluster

Mỗi Kubernetes Cluster sẽ có một trạng thái riêng, quyết định ứng dụng và khối lượng công việc cần thực hiện, sử dụng hình ảnh, tài nguyên và cấu hình như thế nào.

Trạng thái mong muốn được xác định bằng các tệp cấu hình từ các tệp kê khai như JSON, YAML để kê khai ứng dụng sẽ chạy và muốn hệ thống hoạt động tốt thì cần bao nhiêu bản sao.

API Kubernetes sẽ xác định trạng thái mong muốn của Kubernetes Cluster bằng cách sử dụng lệnh tự động (sử dụng kubectl) hoặc nếu muốn thay đổi, đặt lại trạng thái mong muốn thì có thể dùng API. Để phù hợp với trạng thái mong muốn, Kubernetes sẽ tự động điều chỉnh Cluster. 

Lấy một ví dụ đơn giản như sau: Để chạy một ứng dụng thì bạn cần 4 bản sao như vậy trạng thái mong muốn là “4”, khi một trong 4 container gặp sự cố, lúc này chỉ còn 3 bản sao đang chạy, Kubernetes sẽ bổ sung thêm 1 bản sao để đạt được trạng thái mong muốn.

Kubernetes Cluster là gì? Cách tạo Kubernetes Cluster - Ảnh 3.

Mô hình hoạt động của một Kubernetes Cluster

Cách tạo Kubernetes Cluster

Tạo Cluster Kubernetes từ Docker Desktop

Các phiên bản mới của Docker Desktop được tích hợp sẵn Cluster Kubernetes nên chỉ cần một vài thao tác đơn giản là bạn đã tạo được Cluster Kubernetes. Tuy nhiên Kubernetes Cluster của Docker Desktop chỉ có một Node, phù hợp để các tính năng mà không muốn thiết lập các cấu hình phức tạp.

Cách tạo Cluster Kubernetes từ Docker Desktop như sau: Mở Docker Desktop => Chọn “Enable Kubernetes” tại mục Kubernetes => Ấn “Apply”

Kubernetes Cluster là gì? Cách tạo Kubernetes Cluster - Ảnh 4.

Cách kích hoạt Kubernetes Cluster của Docker Desktop trên hệ điều hành iOS

Để kiểm tra xem đã kích hoạt thành công Kubernetes Cluster chưa, bạn có thể thực hiện các lệnh sau:

Kubernetes Cluster là gì? Cách tạo Kubernetes Cluster - Ảnh 5.

Tạo Cluster Kubernetes hoàn chỉnh

Dưới đây là hướng dẫn tạo một Kubernetes Cluster hoàn chỉnh từ 3 máy chạy CentOS (1 máy master và 2 máy worker), phù hợp với môi trường product.

Tên máy/Hostname

Thông tin hệ thống

Vai trò

master.xtl

HĐH CentOS7, Docker CE, Kubernetes. Địa chỉ IP 172.16.10.100

Khởi tạo là master

worker1.xtl

HĐH CentOS7, Docker CE, Kubernetes. Địa chỉ IP 172.16.10.101

Khởi tạo là worker

worker2.xtl

HĐH CentOS7, Docker CE, Kubernetes. Địa chỉ IP 172.16.10.102

Khởi tạo là worker

Ngoài sử dụng máy chủ VPS, bạn có thể sử dụng các máy chủ ảo Virtualbox. Để cài đặt Virtualbox chỉ cần tải về hệ điều hành CentOS rồi tiến hành thiết lập cấu hình phù hợp.

Với Kubernetes Cluster, việc triển khai và quản lý các ứng dụng của doanh nghiệp sẽ trở nên hiệu quả. Ngoài ra, sử dụng Kubernetes còn giúp quy trình triển khai đơn giản hơn, tăng độ uy tín của ứng dụng.

SHARE