Container trên Proxmox là một hình thức ảo hóa cấp hệ điều hành mà cho phép chạy các ứng dụng và dịch vụ trong một môi trường cô lập trên một máy chủ vật lý chia sẻ. Container tạo ra một không gian cô lập hoàn toàn độc lập, bao gồm hệ điều hành, thư viện và ứng dụng, nhưng chia sẻ kernel với máy chủ chủ.
Mỗi container trên Proxmox chứa một hệ điều hành và các ứng dụng được chạy trong nó, giúp tối ưu hóa việc sử dụng tài nguyên và quản lý ứng dụng một cách linh hoạt. Container sử dụng công nghệ như LXC (Linux Containers) hoặc đôi khi là Docker để tạo ra môi trường cô lập và chạy các ứng dụng.
Một số lợi ích của việc sử dụng container trên Proxmox bao gồm:
- Tiết kiệm tài nguyên: Container sử dụng ít tài nguyên hơn so với máy ảo truyền thống, vì chúng chia sẻ kernel với máy chủ chủ.
- Khởi chạy nhanh: Container có thể khởi chạy và chạy ứng dụng nhanh chóng mà không cần quá trình khởi động hệ điều hành.
- Cô lập: Mỗi container hoạt động trong một không gian cô lập, không ảnh hưởng đến các container khác trên cùng máy chủ.
- Quản lý linh hoạt: Container có thể được tạo, sao chép và xóa một cách nhanh chóng, cho phép quản lý ứng dụng một cách linh hoạt và hiệu quả.
Container trên Proxmox được sử dụng rộng rãi trong việc triển khai các ứng dụng và dịch vụ, cho phép tách biệt và cô lập các ứng dụng trên cùng một máy chủ vật lý, giúp tối ưu hóa việc sử dụng tài nguyên và quản lý hệ thống.
Trong ngữ cảnh của Proxmox, các thuộc tính sau đây được sử dụng để tạo một container (CT) trên một node:
- Node: Đây là tên của node (máy chủ) trên Proxmox nơi container sẽ được tạo.
- CT ID: Đây là số duy nhất đại diện cho container. Mỗi container trên một node phải có một CT ID duy nhất.
- Hostname: Đây là tên máy chủ mà container sẽ sử dụng. Đây là tên mà container sẽ được xác định trên mạng.
- Unprivileged container: Nếu được chọn, container sẽ chạy dưới tài khoản người dùng không đặc quyền (unprivileged user). Điều này tạo ra một môi trường cô lập an toàn hơn.
- Nesting: Cho phép container chạy các container bên trong (container nesting). Nếu được kích hoạt, container sẽ có khả năng chạy các container con.
- Resource Pool: Đây là tên của resource pool (nhóm tài nguyên) mà container thuộc về. Resource pool giúp quản lý và phân chia tài nguyên trên các node Proxmox.
Đối với mục “Password” và “Confirm password”, đây là mật khẩu mà bạn muốn thiết lập cho container. Nó sẽ được sử dụng để đăng nhập vào container hoặc quản lý nó.
“SSH public key” và “Load SSH Key File” cho phép bạn xác định khóa công khai SSH để đăng nhập vào container từ xa bằng SSH. Bạn có thể nhập trực tiếp khóa công khai SSH hoặc tải lên từ một tệp tin khóa công khai SSH đã được tạo trước đó.
- Storage: Đây là nơi lưu trữ template trên Proxmox. Bạn có thể chọn một storage pool cụ thể để lưu trữ template hoặc tạo một storage pool mới nếu cần thiết.
- Template: Đây là tên của template được tạo. Bạn có thể đặt tên template theo mong muốn.
- Storage: Đây là tên hoặc đường dẫn tới storage pool được sử dụng để lưu trữ disk của máy ảo hoặc container.
- Disk size (GiB): Đây là kích thước của disk được cấu hình cho máy ảo hoặc container, được đo bằng đơn vị Gigabyte (GiB).
- Enable quota: Tùy chọn này cho phép kích hoạt chức năng quota (hạn chế dung lượng) trên disk. Khi được bật, bạn có thể đặt giới hạn dung lượng cho disk và giám sát việc sử dụng dung lượng của máy ảo hoặc container.
- Mount options (lazytime, noatime, nosuid): Đây là các tùy chọn để cấu hình cách mount disk trong hệ thống tệp. Ví dụ: tùy chọn “lazytime” được sử dụng để trì hoãn ghi lại thời gian truy cập của file, “noatime” để không ghi lại thời gian truy cập của file và “nosuid” để không cho phép chạy các chương trình có quyền quản trị (setuid).
- ACLs (Default, Enabled, Disabled): ACLs (Access Control Lists) là cơ chế để quản lý quyền truy cập chi tiết đối với các tệp và thư mục. Tùy chọn này cho phép bạn cấu hình ACLs cho disk của máy ảo hoặc container. “Default” sẽ sử dụng cấu hình mặc định, “Enabled” sẽ kích hoạt ACLs và “Disabled” sẽ vô hiệu hóa ACLs.
- Skip replication: Tùy chọn này cho phép bỏ qua quá trình sao chép (replication) cho disk của máy ảo hoặc container. Khi được bật, disk không được sao chép sang các node khác trong mạng Proxmox.
Lựa chọn số Core cho CPU.
- Memory (MiB): Đây là lựa chọn để cấu hình dung lượng bộ nhớ cho máy ảo hoặc container, được đo bằng đơn vị Megabyte (MiB). Giá trị này xác định lượng bộ nhớ được cấp phát cho máy ảo hoặc container khi nó được chạy.
- Swap (MiB): Swap là một phần của không gian đĩa được sử dụng như bộ nhớ ảo để hỗ trợ khi hệ thống gặp phải tình huống không đủ bộ nhớ vật lý. Tùy chọn này cho phép bạn cấu hình kích thước của swap space cho máy ảo hoặc container, cũng được đo bằng đơn vị Megabyte (MiB). Khi dung lượng bộ nhớ vật lý cạn kiệt, các trang dữ liệu sẽ được chuyển vào swap space để tạo thêm không gian cho các ứng dụng khác.
- Name: Đây là tên định danh của một giao diện mạng hoặc một thiết bị mạng trong hệ thống, giúp xác định và phân biệt chúng với nhau.
- MAC address: Địa chỉ MAC (Media Access Control) là một địa chỉ duy nhất được gán cho mỗi card mạng trên hệ thống. Nó được sử dụng để xác định và phân biệt các thiết bị mạng trong mạng LAN.
- Bridge: Bridge là một cơ chế kết nối các giao diện mạng với nhau để tạo thành một mạng LAN ảo. Tùy chọn này cho phép bạn chọn bridge mà giao diện mạng sẽ được kết nối vào.
- VLAN Tag: VLAN Tag là một cách để phân chia mạng LAN vật lý thành nhiều mạng LAN ảo (Virtual LAN) trên cùng một hạ tầng vật lý. Tùy chọn này cho phép bạn gán một VLAN Tag cho giao diện mạng.
- Firewall: Tùy chọn này cho phép bạn cấu hình cài đặt tường lửa trên giao diện mạng để kiểm soát luồng dữ liệu đi và đến.
- Disconnect: Tùy chọn này cho phép bạn ngắt kết nối giao diện mạng.
- MTU: MTU (Maximum Transmission Unit) là kích thước tối đa của một gói tin mạng mà giao diện mạng có thể xử lý. Tùy chọn này cho phép bạn cấu hình kích thước MTU cho giao diện mạng.
- IPv4: Tùy chọn này cho phép bạn cấu hình địa chỉ IPv4 cho giao diện mạng, bao gồm các tùy chọn cấu hình như tĩnh (Static) hoặc DHCP.
- IPv6: Tùy chọn này cho phép bạn cấu hình địa chỉ IPv6 cho giao diện mạng, bao gồm các tùy chọn cấu hình như tĩnh (Static), DHCP hoặc SLAAC (Stateless Address Autoconfiguration).
- Rate limit (MB/s): Tùy chọn này cho phép bạn giới hạn tốc độ truyền dữ liệu của giao diện mạng thành một giá trị cụ thể, được đo bằng đơn vị Megabyte/giây.
- DNS domain: DNS domain là tên miền DNS (Domain Name System) được sử dụng để xác định không gian tên cho một mạng hoặc một hệ thống. Nó là một phần của tên miền Internet và thường được cấu hình cho mạng nội bộ. Ví dụ, một DNS domain có thể là “example.com” hoặc “mycompany.local”.
- DNS servers: DNS servers (còn được gọi là name servers hoặc DNS resolvers) là các máy chủ chịu trách nhiệm giải quyết tên miền thành địa chỉ IP và ngược lại. Khi một máy tính cần tìm địa chỉ IP tương ứng với một tên miền, nó gửi yêu cầu đến các DNS servers để nhận được thông tin cần thiết. DNS servers cung cấp dịch vụ phân giải tên miền trong hệ thống DNS. Một số ví dụ về DNS servers là Google DNS (8.8.8.8, 8.8.4.4), Cloudflare DNS (1.1.1.1, 1.0.0.1), hay DNS servers được cấu hình riêng trong mạng nội bộ.
Phần này cho phép bạn review lại toàn bộ thiết lập của Container, bạn có thể sử dụng tuỳ chọn Start after created, với tuỳ chọn này thì sau khi bấm Finish thì Container của bạn sẽ tự khởi động.
Quá trình khởi tạo Container thành công.
Và đây là Container sau khi khởi tạo.
Kết quả sau khi start xong Container này, địa chỉ IP đã được cấp theo đúng yêu cầu và Container ra được internet.