Kiến trúc của Kubernetes và những thông tin cần biết
Là một nền tảng mã nguồn mở, Kubernetes có khả năng tự động hóa việc scaling, triển khai và quản lý các ứng dụng được định dạng Container. Kiến trúc của Kubernetes có rất nhiều node, mỗi node sẽ vận hành một kubelet và làm chủ cluster.
Để có thể sử dụng Kubernetes một cách tốt nhất và hiệu quả nhất, bạn cần nắm rõ được các thành phần chi tiết thuộc kiến trúc Kubernetes được Bizfly Cloud chia sẻ trong bài viết dưới đây.
Các thành phần của kiến trúc Kubernetes
Một kiến trúc Kubernetes sẽ bao gồm các thành phần dưới đây:
Master Node
Được xem như cơ quan đầu não trong kiến trúc Kubernetes, Master Node có vai trò quan trọng trong việc điều phối và quản lý các container và các node có trong cụm Kubernetes. Để giúp gia tăng khả năng xử lý các sự cố và tính sẵn sàng của Kubernetes, một cluster có thể bao gồm nhiều Master node cùng tồn tại như Kubernetes API Server, ectd, scheduler, controller manager và cloud controller manager.
Worker/Slave Node
Worker/Slave Node là các server vận hành các ứng dụng được Master node điều khiển. Worker Node được thiết lập với khả năng chạy được trên tất cả các nút thuộc Kubernetes với nhiệm vụ quản lý và thông báo tình trạng các Pods cho Master node. Các thành phần chính có trong Worker Node bao gồm Kubelet, Kubernetes Service Proxy và Container Runtime.
Các Addons
Các Addons (service và pod) là thành phần còn lại của Kubernetes giữ vai trò thực hiện các chức năng của cluster bao gồm Container Resource Monitoring, DNS Server, Cluster-level Logging,…
Các khái niệm quan trọng trong kiến trúc Kubernetes
Một vài khái niệm quan trọng trong kiến trúc Kubernetes mà bạn có thể tìm hiểu thêm để nắm rõ hơn các thành phần trong kiến trúc.
Pod
Pod là một nhóm các container thực hiện một chức năng bất kỳ nào đó và hỗ trợ khả năng hoạt động của các ứng dụng. Nhóm container này sẽ được đặt nằm chung trên cùng một server để có thể dễ dàng chia sẻ địa chỉ IP, không gian lưu trữ và các tài nguyên khác cho nhau.
Service
Service sẽ bao gồm các nhóm Pod và các cách kết nối với nhóm Pod. Thông qua selector và label, service có khả năng xác định được các nhóm liên kết với nó có những Pod nào. Điều này giúp cho các Pod có thể tương tác với nhau một cách ổn định hơn, giữa nhiều bản sao có thể cân bằng tải hoặc hướng người dùng truy cập vào ứng dụng,…
Namespace
Namespace giữ vai trò phân tách hoặc tổng hợp các nhóm đối tượng lại với nhau. Nó được sử dụng chủ yếu với mục đích quản lý các quoting và resource đồng thời kiểm soát Network. Ba namespace mặc định sẽ có trong cấu trúc Kubernetes bao gồm kube system, default và kube public.
Volume
Khi các ứng dụng được triển khai trên Kubernetes, các service có thể phát sinh một vài những thay đổi về dữ liệu. Vì vậy, bạn có thể sử dụng volume để lưu trữ các dữ liệu một cách an toàn. Việc này giúp bạn có thể dễ dàng sử dụng các dữ liệu cũ ngay cả khi các container đã bị xóa và phải tạo lại.
Controller
Controller trong kiến trúc Kubernetes là những vòng lặp điều khiển có khả năng giám sát tình trạng của mỗi cụm Kubernetes. Nếu cần thiết, các controller này sẽ tạo ra các yêu cầu và thực hiện thay đổi để hệ thống có thể đạt được trạng thái theo đúng nhu cầu.
Hy vọng, với những thông tin hữu ích được chia sẻ trong bài, bạn đã có thể hiểu và nắm rõ được các thành phần và khái niệm liên quan trong kiến trúc Kubernetes. Để có thể sử dụng Kubernetes một cách thuận tiện và dễ dàng, bạn có thể tìm đến Kubernetes Engine – dịch vụ Kubernetes và xây dựng container cho ứng dụng hoàn toàn tự động chỉ với vài thao tác cơ bản.
Hãy liên hệ ngay với Bizfly Cloud ngay khi bạn có nhu cầu sử dụng giải pháp tiết kiệm công sức vận hành này nhé!
BizFly Cloud – Cung cấp dịch vụ điện toán đám mây tốt nhất tại Việt Nam
Vận hành bởi VCcorp
Địa chỉ: Số 1 Nguyễn Huy Tưởng, P. Thanh Xuân Trung, Q. Thanh Xuân, TP Hà Nội.
Google map: https://goo.gl/maps/CUqazfqqgd5w4HSh6