Tổng hợp 9 lý do vì sao nên lựa chọn sử dụng Calico Kubernetes
Calico Kubernetes là gì?
Calico Kubernetes là một giải pháp mạng mã nguồn mở được sử dụng để triển khai và quản lý mạng trong một cụm Kubernetes. Nó cung cấp các tính năng mạng mạnh mẽ và linh hoạt, cho phép các container và pod trong cụm Kubernetes giao tiếp với nhau một cách an toàn và tin cậy.
Calico sử dụng mô hình mạng ảo và định tuyến dựa trên IP để xây dựng mạng trong cụm Kubernetes. Nó hỗ trợ các tính năng như định tuyến tuần tự, định tuyến phân tán và chia sẻ tài nguyên mạng. Calico còn cung cấp các chính sách mạng linh hoạt, cho phép người dùng quản lý và kiểm soát luồng dữ liệu giữa các pod và container.
Với Calico, người dùng có thể tạo ra một mạng mạnh mẽ và linh hoạt trong cụm Kubernetes, đảm bảo tính sẵn sàng cao và hiệu suất tốt cho các ứng dụng chạy trên nền tảng Kubernetes.
Cấu trúc Kubernetes với Calico
Thành phần và tính năng của Calico Kubernetes
Trong Kubernetes, lưu lượng mạng đến từ các Pod được mặc định là default-allow. Tất cả pod có thể giao tiếp với nhau nếu không sử dụng các chính sách mạng để khóa kết nối mạng.
Trong Calico Kubernetes gồm có hai thành phần chính là mạng có nhiệm vụ bảo mật giao tiếp mạng và chính sách mạng (network policy) có trách nhiệm bảo mật các ứng dụng/microservices cloud-native ở quy mô lớn.
Thành phần | Mô tả | Đặc điểm |
Mạng | Là một mặt phẳng điều khiển (control plane) quản lý nhiều mặt phẳng dữ liệu (dataplane). Đây là một giải pháp mạng L3/L4 an toàn cho các container, cluster, máy ảo và lượng công việc trên máy chủ gốc (native host-based workloads). | Mã hóa dữ liệu tích hợp sẵn Quản lý IPAM Tùy chọn mạng overlay hoặc không overlay Lựa chọn loại dataplane: iptables, eBPF, Windows HNS hoặc VPP
|
Chính sách mạng | Là một hệ thống giao diện cho Calico CNI, chứa các quy tắc để dataplane hoạt động. Được thiết kế với mô hình bảo mật zero-trust Tích hợp với máy chủ Kubernetes API nên người dùng vẫn có thể sử dụng chính sách mạng Kubernetes Cho phép hệ thống cũ sử dụng cùng mô hình chính sách mạng | Namespace và chính sách toàn cầu cho phép/từ chối lưu lượng trong một cluster, giữa pod, môi trường bên ngoài và máy chủ không có cluster Bộ định tuyến mạng (network sets) giới hạn phạm vi địa chỉ IP cho lưu lượng ra và vào cho các công việc Chính sách tầng ứng dụng (L7) để áp dụng cho lưu lượng sử dụng phương thức HTTP, đường dẫn và bảo mật danh tính bằng mật mã
|
Các phương án triển khai Calico Kubernetes
Hai thành phần của Calico Kubernetes là hệ thống mạng và chính sách mạng là riêng biệt và được sử dụng trên nhiều nền tảng khác nhau. Tuy nhiên, khi kết hợp chúng lại với nhau thì hiệu quả sẽ đạt tốt nhất.
Phương án triển khai | Ví dụ |
Tự quản lý Kubernetes | Kubernetes/kubeadm cluster |
Quản lý Kubernetes trên đám mây công cộng | EKS, GKE, IKS, AKS |
Tự quản lý Kubernetes trên đám mây công cộng | AWS, GCE, Azure, Digital Ocean |
Tự quản lý các bản phân phối Kubernetes | OpenShift, AKS on Azure stack, Mirantis (MKE), RKE, VMware |
Integrations | OpenStack, Flannel |
Máy chủ vật lý, máy chủ không Cluster |
|
Windows Kubernetes clusters |
|
Vì sao nên sử dụng Calico Kubernetes?
1. Dễ dàng lựa chọn Dataplanes
Một trong những ưu điểm lớn nhất của Calico Kubernetes chính là cung cấp cho người dùng nhiều lựa chọn Dataplanes (Linux eBPF, Linux Network tiêu chuẩn, Window HNS) cho phép lựa chọn phương pháp phù hợp với yêu cầu cụ thể của hệ thống. Nếu bạn thích sử dụng các tính năng tiên tiến của eBPF hay các primitive tiêu chuẩn đã từng sử dụng thì nên Calico Kubernetes là phương án hợp lý.
Dù bạn chọn Dataplanes nào, bạn cũng sẽ được trải nghiệm khả năng kết nối mạng, chính sách mạng và quản lý địa chỉ IP tương tự nhau. Chính điều này đã giúp Calico trở thành một giải pháp mạng và chính sách mạng uy tín cho các ứng dụng trên hạ tầng đám mây.
Quản lý Kubernetes và kết nối mạng đường hầm lớp phủ với Calico-CNI
2. Bảo vệ mạng tốt
Nhờ có đa dạng chính sách mạng, Calico giúp điều hướng traffic duy nhất truyền đi là traffic mà người dùng mong muốn. Ngoài ra, Calico còn được tích hợp với Wireguard nhằm đảm bảo dễ dàng truyền lưu lượng từ pod này đến pod khác trên toàn mạng.
Công cụ chính sách của Calico có thể thực thi mô hình chính sách tương tự ở lớp mạng máy chủ và ở lớp service mesh (nếu sử dụng Istio $ Envoy) để bảo vệ cơ sở hạ tầng và workload không bị xâm nhập vào nhau.
3. Hiệu năng được tối ưu hóa
Calico sử dụng Linux eBPF hoặc network pipeline tiêu chuẩn để tối ưu hóa hiệu xuất của Linux kernel. Các mạng mà Calico dùng có độ linh hoạt cao, có thể hoạt động mà không sử dụng overlay trong hầu hết các môi trường khác nhau, tránh phát sinh chi phí cho việc đóng gói/ giải mã gói tin. Bộ điều khiển và policy engine của Calico được cải tiến thường xuyên để hẹn chế việc sử dụng và chiếm quá nhiều không gian của CPU.
4. Khả năng mở rộng
Calico Kubernetes sử dụng các design pattern cloud native cộng với các giao thức mạng tiêu chuẩn đã được kiểm chứng và cung cấp bởi các nhà dịch vụ Internets hàng đầu để thiết kế được cốt lõi. Vì thế nên Calico sở hữu khả năng mở rộng trong môi trường production đặc biệt.
5. Tương tác, giao tiếp liền mạch
Nhờ có Calico mà các workload thuộc Kubernetes hay không thuộc Kubernetes tương tác, giao tiếp liền mạch với nhau. Bất kỳ Pod nào của Kubernetes đều có khả năng giao tiếp với bất kỳ workload nào trên mạng.
Calico liên tục mở rộng nhằm tăng cường bảo mật của các workload chạy trên máy chủ cùng với Kubernetes. Đồng thời, các workload đều tuân thủ cùng một mô hình chính sách mạng nên người dùng có thể cho phép chỉ truyền đi lưu lượng mà người dùng muốn.
6. Đã được kiểm chứng trong môi trường thực tế
Khá nhiều các công ty cung cấp phần mềm dưới dạng dịch vụ hay các công ty dịch vụ tài chính đều lựa chọn Calico để chạy trong môi trường sản xuất của mình. Ngoài ra, một số đơn vị như Amazon EKS, Azure AKS, Google GKE,... đã chọn Calico nhằm bảo mật mạng cho các dịch vụ máy chủ Kubernetes đang chạy trên khối lượng Cluster khổng lồ của mình.
7. Hỗ trợ đầy đủ Network Policy của Kubernetes
Calico triển khai đầy đủ các tính năng của API đến người dùng. Và trong trường hợp người dùng yêu cầu nhiều tính năng hơn, Calico hỗ trợ một bộ tính năng chính sách mạng mở rộng hoạt động tương thích với API Kubernetes vì thế mà người dùng sẽ dễ dàng hơn trong việc xác định chính sách mạng của mình.
8. Cộng đồng CTV lớn
Số lượng cộng tác viên duy trì Calico đến nay là hơn 200 người. Ngoài ra, hiện nay, Calico vẫn được hỗ trợ bởi Tigare - công ty được thành lập bởi nhóm kỹ sư Calico đầu tiên. Tigare cũng cam kết sẽ giữ vững vị trí tiêu chuẩn hàng đầu cho an ninh mạng trên Kubernetes của Calico.
9. Tương thích với Calico Enterprise
Dù được tạo ra dựa trên Calico, nhưng so với Calico thì Calico Enterprise có thêm các tính năng và khả năng cao cấp hơn. Ví dụ như:
- Phân cấp Network Policy
- Kiểm soát truy cập đầu ra
- Trực quan hóa mạng và khắc phục sự cố
- Đề xuất Network Policy
- Xem và sắp xếp Network Policy
- Phát hiện những hoạt động hoặc truy cập bất thường
- Quản lý multi-cluster với liên kết multi-cloud
Tác động của chính sách mạng Calico
Chính nhờ sở hữu những tính năng, ưu điểm vượt trội trên nên Calico Kubernetes được rất nhiều doanh nghiệp hay tổ chức lựa chọn. Nếu bạn đang tìm kiếm một giải pháp mạng với mã nguồn mở có độ uy tín cao thì Calico Ckubernetes là phương án khá hợp lý.
Author
Nguyễn Hữu Dương
Pho Tue SoftWare Solutions JSC là Nhà Cung cấp dịch Trung Tâm Dữ Liệu, Điện Toán Đám Mây Và Phát Triển Phần Mềm Hàng Đầu Việt Nam. Hệ Thống Data Center Đáp Ứng Mọi Nhu Cầu Với Kết Nối Internet Nhanh, Băng Thông Lớn, Uptime Lên Đến 99,99% Theo Tiêu Chuẩn TIER III-TIA 942.
Leave a comment
Your email address will not be published. Required fields are marked *