Logo
Openstack #2: Node và Networking trong openstack

Openstack #2: Node và Networking trong openstack

November 28, 2024
7 min read
Table of Contents
index

Tiếp nối bài viết trước, hôm nay chúng ta sẽ cùng tìm hiểu về khải niệm Node và các loại Networking trong openstack


Các node trong openstack

Trong hệ thống OpenStack, các node đóng vai trò như những thành phần chính giúp hệ thống hoạt động trơn tru. Mỗi loại node đảm nhiệm một nhiệm vụ riêng biệt, nhưng tất cả đều phối hợp chặt chẽ để tạo nên một nền tảng điện toán đám mây hoàn chỉnh. Bạn có thể tìm hiểu kĩ hơn tại link docs chính thức của openstack.

Có thể hiểu đơn giản là mỗi node là 1 máy ảo, mỗi node sẽ yêu cầu phần cứng khác nhau. Trong bài viết này, mình sẽ tiến hành cài đặt các service của openstack lên 3 node chính, cấu hình mỗi node thì tuỳ theo cấu hình máy của các bạn. Mình đang sử dụng phần mềm ảo hoá VMware để tạo các node.

Vẫn còn các mũi tên ở ngoài nhỉ 😊 Vì sẽ còn nhiều service khác không thuộc openstack sẽ được hướng dẫn cài đặt trong chuỗi bài viết này nhé

1. Controller Node

Controller Node là “trung tâm điều hành” của toàn bộ hệ thống OpenStack. Đây là nơi quản lý và điều phối các dịch vụ cơ bản như xác thực, lập lịch, theo dõi tài nguyên, và cung cấp giao diện quản trị (API hoặc Horizon).

Tại node này mình sẽ cài đặt:

  • Identity Service (Keystone): Quản lý xác thực và ủy quyền.

  • Image Service (Glance): Quản lý image của các máy ảo.

  • Placement Service: Theo dõi và phân bổ tài nguyên.

  • Management của Compute (Nova): Điều phối và lập lịch chạy máy ảo.

  • Networking (Neutron): Quản lý cấu hình mạng.

  • Dashboard (Horizon): Giao diện quản trị web.

  • Database và Message Queue: Lưu trữ dữ liệu trạng thái của hệ thống và quản lý giao tiếp giữa các dịch vụ.

Cấu hình:

  • CPU: 4 Cores

  • Ram: 8GB

  • Disk: 100GB

IP Address

Gateway

DNS

ens33

192.168.133.11/24

192.168.133.2

8.8.8.8

ens34

10.0.0.11/24

2. Compute Node

Compute Node chịu trách nhiệm cung cấp tài nguyên tính toán, tức là nơi các máy ảo (instance) được triển khai và chạy. Nó xử lý hầu hết các tác vụ nặng về CPU và RAM.

Các service sẽ được cài đặt trên compute node bao gồm:

  • Compute Service (Nova): Dịch vụ chính trên Compute Node, nhận lệnh từ Controller để khởi tạo, chạy, hoặc xóa các máy ảo.

  • Hypervisor: Phần mềm ảo hóa trên Compute Node, phổ biến nhất là KVM, nhưng OpenStack cũng hỗ trợ các hypervisor khác như Xen, VMware, hay Hyper-V.

  • Networking Agent: Quản lý các mạng ảo được gán cho máy ảo.

Cấu hình:

  • CPU: 8 Cores

  • Ram: 12 GB

  • Disk: 50 GB

IP Address

Gateways

DNS

ens33

192.168.133.21/24

192.168.133.2

8.8.8.8

ens34

10.0.0.21/24

3. Storage Node

Storage Node cung cấp dịch vụ lưu trữ cho hệ thống OpenStack. Tùy thuộc vào yêu cầu, nó có thể sử dụng một hoặc cả hai loại lưu trữ:

  • Block Storage (Cinder): Lưu trữ dạng khối, cung cấp cho các máy ảo (giống ổ cứng gắn ngoài).

  • Object Storage (Swift): Lưu trữ dữ liệu không cấu trúc như file, video, hoặc ảnh.

Tại hướng dẫn này mình sẽ chỉ sử dụng storage node cho việc cung cấp bộ nhớ cho các máy ảo aka Cinder mà thôi!

Cấu hình:

  • CPU: 2 Cores

  • Ram: 4 GB

  • Disk: 50 GB, 150GB

IP Address

Gateways

DNS

ens33

192.168.133.31/24

192.168.133.2

8.8.8.8

ens34

10.0.0.31/24

Networking

Trong OpenStack, self-service networksprovider networks là hai cách tiếp cận để thiết lập và quản lý mạng. Chúng phục vụ các mục đích khác nhau, phù hợp với các yêu cầu và trường hợp sử dụng khác nhau. Dưới đây là định nghĩa và sự khác biệt giữa hai loại mạng này

1. Povider Network

Networking Option 1: Provider networks - Overview

Nguồn ảnh: https://docs.openstack.org/install-guide/launch-instance-networks-provider.html

Mạng provider là mạng do quản trị viên OpenStack cấu hình để kết nối trực tiếp với cơ sở hạ tầng mạng vật lý. Tức là với mỗi máy ảo tạo ra bởi openstack, nó sẽ được kết nối trực tiếp vào dải mạng vật lý của bạn

Loại network này không cung cấp các tính năng ảo hóa mạng cao cấp như router ảo hoặc NAT.

Các đặc điểm của Provider network có thể kể đến như:

  • Kết nối trực tiếp với mạng vật lý: Người dùng có thể gán máy ảo vào một VLAN hoặc một mạng cụ thể mà không cần thêm lớp ảo hóa.

  • Không hỗ trợ NAT: Máy ảo trên mạng này thường sử dụng IP thực (public IP hoặc IP từ mạng LAN).

  • Dễ quản lý hơn: Vì không có thêm các thành phần ảo hóa, cấu hình và xử lý lưu lượng đơn giản hơn.

2. Self-Service Network

Networking Option 2: Self-service networks - Overview

Nguồn ảnh: https://docs.openstack.org/install-guide/launch-instance-networks-selfservice.html

Self-service network cho phép người dùng tự cấu hình các mạng ảo hóa (virtual network) với các tính năng như NAT, routing, và các lớp mạng riêng biệt (private network).

Khác với provider, các máy ảo tạo từ self-service network sẽ được kết nối với 1 mạng riêng biệt. Mạng này hoàn toàn tách biệt với mạng vật lý, bạn sẽ cần tạo thêm các router ảo để có thể NAT dải IP riêng này ra dải IP provider để giúp các máy ảo có thể truy cập được internet.

Nhờ vậy mà Self-Service network có các đặc điểm:

  • Hỗ trợ NAT: Self-service networks thường sử dụng IP riêng (private IP), nhưng có thể được ánh xạ ra IP công khai thông qua NAT.

  • Router ảo: Người dùng có thể tạo router ảo để kết nối các self-service networks với mạng provider hoặc internet.

  • Độ linh hoạt cao: Cho phép người dùng tạo, cấu hình và quản lý mạng riêng mà không cần quản trị viên OpenStack can thiệp.

  • Phù hợp với multi-tenancy: Mỗi tenant (khách hàng) có thể tự quản lý mạng riêng của mình mà không ảnh hưởng đến mạng của tenant khác.

Như vậy chúng ta có thể có bảng so sánh đơn giản như sau:

Provider NetworkSelf-Service Network
Cách kết nốiKết nối trực tiếp với mạng vật lýKết nối qua mạng ảo, có router ảo
IP AddressSử dụng IP thật từ mạng vật lýSử dụng IP private, NAT để ra ngoài
Độ phức tạpĐơn giản, ít lớp ảo hóaPhức tạp hơn, nhiều lớp ảo hóa
Multi-tenancyKhông hỗ trợHỗ trợ tốt
Quyền kiểm soátQuản trị viên toàn quyền cấu hìnhNgười dùng có thể tự quản lý
Trường hợp sử dụngMáy ảo cần kết nối trực tiếp mạng vật lýMạng tách biệt, môi trường ảo hóa cao cấp

Trong bài viết tiếp theo, mình sẽ hướng dẫn cách cấu hình Openstack với 3 Node cơ bản như trên và theo hướng Self-Service Network sử dụng openvswitch cũng như 1 số bug khó chịu khi cài đặt. Hẹn gặp lại các bạn trong những bài viết tiếp theo! 😊

Nếu bạn có thắc mắc hoặc muốn chia sẻ kinh nghiệm, hãy để lại bình luận nhé! 👇

Tài liệu tham khảo

  1. https://docs.openstack.org/2024.1/install/

  2. https://www.server-world.info/

  3. https://www.openvswitch.org/