For the complete documentation index, see llms.txt. This page is also available as Markdown.

Recipes & Marketplace

Cấp phát VM chuẩn hóa với các mẫu golden image, danh mục Marketplace, tích hợp cloud-init/Cloudbase-init và tạo recipe tùy chỉnh trong VergeOS.

Tổng quan

Việc cấu hình thủ công từng máy ảo từ đầu rất tốn thời gian và dễ sai sót. VergeOS các công thức giải quyết vấn đề này bằng cách cung cấp các mẫu golden image có thể tùy chỉnh, giúp chuẩn hóa việc cấp phát VM nhưng vẫn cho phép tùy chỉnh theo từng phiên bản. Kết hợp với danh mục Marketplace, các công thức cho phép bạn triển khai các VM sẵn sàng cho sản xuất chỉ trong vài phút -- từ máy chủ Ubuntu đến môi trường đánh giá Windows -- với cấu hình nhất quán mỗi lần.

Một công thức gồm ba thành phần:

  1. VM cơ sở -- Một máy ảo đã được tổng quát hóa, đóng vai trò là golden image (mẫu)

  2. Câu hỏi -- Các trường nhập được tổ chức theo từng phần để thu thập giá trị tùy chỉnh cho mỗi phiên bản (lõi CPU, RAM, hostname, cấu hình mạng, thông tin xác thực)

  3. Tự động hóa -- Các thao tác cơ sở dữ liệu và script cloud-init/Cloudbase-init chạy phía sau để cấu hình VM trong lần khởi động đầu tiên

Danh mục Marketplace

Mỗi hệ thống VergeOS đều đi kèm với Marketplace -- một kho lưu trữ từ xa do VergeOS cung cấp, chứa các công thức VM dựng sẵn sẵn sàng sử dụng ngay. Marketplace tự động có sẵn khi cài đặt và các danh mục của nó được đặt thành scope=global, khiến chúng cũng có thể truy cập được cho tất cả tenant.

Truy cập Marketplace

  1. Đi tới Máy > Máy ảo từ menu bên trái.

  2. Nhấp Mới.

  3. Trong Chọn loại ở bảng bên trái, chọn Marketplace (hoặc một danh mục cụ thể như "Hệ điều hành (Marketplace)" hoặc "Ứng dụng (Marketplace)").

  4. Chọn một công thức từ danh sách và nhấp vào Tiếp theo để bắt đầu trả lời các câu hỏi.

Các công thức hệ điều hành có sẵn

Marketplace bao gồm các công thức cho nhiều hệ điều hành:

Danh mục
Các công thức có sẵn

Ubuntu

Server 18.04 (Bionic), 20.04 (Focal), 22.04 (Jammy), 24.04 (Noble) -- các bản phát hành LTS

Tương thích RHEL

Rocky Linux 8 & 9, AlmaLinux 8 & 9, CentOS 7, CentOS Stream 8

Debian

Debian 10 (Buster), 11 (Bullseye), 12 (Bookworm), 13 (Trixie)

Fedora

Fedora 35, 36, 37, 38

Amazon

Amazon Linux 2 LTS

Windows

Windows Server 2019 Evaluation, 2022 Evaluation, 2025 Evaluation

Sử dụng công thức Marketplace

Triển khai VM từ một công thức Marketplace tuân theo quy trình hỏi-đáp có hướng dẫn. Dưới đây là một ví dụ điển hình sử dụng công thức Ubuntu Server:

Hướng dẫn từng bước

  1. Đi tới thành Máy > Máy ảo > Mới.

  2. Chọn công thức (ví dụ: "Ubuntu Server 24.04 (Noble Numbat)") từ danh mục Marketplace.

  3. Trả lời các câu hỏi được hiển thị trong từng phần:

Cài đặt phiên bản VM

Thay đổi theo tình huống
Tên hiển thị
Mô tả

YB_CPU_CORES

Số lõi

Số lõi CPU ảo

YB_RAM

RAM

Phân bổ bộ nhớ (MB)

YB_HOSTNAME

Tên máy

hostname của hệ điều hành khách

SELECT_CREATE_UEFI

Bật UEFI

Chế độ khởi động UEFI (khuyến nghị)

YB_DISABLE_CLOUDINIT

Tắt Cloud-init sau lần khởi động đầu tiên

Tùy chọn: true, false, hoặc purge

Cài đặt mạng

Thay đổi theo tình huống
Tên hiển thị
Mô tả

YB_IP_ADDR_TYPE

Loại địa chỉ IP

dhcp hoặc tĩnh

YB_NIC_ETH0_EXTERNAL_GATEWAY

Mạng

Mạng đích cho NIC chính

YB_NIC_ETH0_IP_ADDR

Địa chỉ IP

IP tĩnh (nếu đã chọn tĩnh)

YB_NIC_ETH0_CIDR

CIDR mặt nạ mạng con

ví dụ, /24

YB_NIC_ETH0_GW

Cổng mặc định

Địa chỉ IP cổng mặc định

YB_NIC_ETH0_NS

Máy chủ tên

Các máy chủ DNS phân tách bằng dấu phẩy

Cài đặt lưu trữ

Thay đổi theo tình huống
Tên hiển thị
Mô tả

YB_DRIVE_OS_SIZE

Dung lượng ổ đĩa HĐH

Kích thước đĩa tính bằng GB

SELECT_OS_TIER

Tầng ổ đĩa HĐH

Tầng lưu trữ vSAN ưu tiên

Tài khoản người dùng

Thay đổi theo tình huống
Tên hiển thị
Mô tả

YB_USER

Tên người dùng

Tên người dùng quản trị ban đầu

YB_PASSWORD

Mật khẩu

Mật khẩu quản trị ban đầu

  1. Nhấp vào Gửi để tạo VM.

  2. Quá trình tự động hóa công thức sẽ chạy -- tạo ổ đĩa, tải xuống cloud image, cấu hình các tệp cloud-init và đặt loại máy.

  3. Bật nguồn VM. Cloud-init chạy trong lần khởi động đầu tiên để áp dụng cấu hình của bạn (hostname, người dùng, mạng, gói).

Câu hỏi và biến của công thức

Các câu hỏi của công thức là những khối xây dựng làm cho công thức có thể tùy chỉnh. Mỗi câu hỏi thu thập một giá trị được lưu dưới dạng biến và có thể được tham chiếu trong các script cloud-init, thao tác cơ sở dữ liệu hoặc cấu hình VM.

Các trường câu hỏi

Trường
Mục đích

Phần

Nhóm các câu hỏi liên quan trên biểu mẫu nhập (ví dụ: "Cài đặt phiên bản", "Mạng")

Tên

Tên biến được tham chiếu trong script (chỉ chữ và số, không có khoảng trắng)

Loại

Cách dữ liệu được thu thập; các kiểu phổ biến gồm String, Number, Password, Boolean, List, Hidden, RAM, Disk Size, Network, Cluster, Database Create/Edit/Find, Hostname, Script, Textarea, Virtual IP, Timestamp, Row, Field và Seconds

ID thứ tự

Thứ tự hiển thị trong phần

Hiển thị

Nhãn hiển thị cho người dùng trên biểu mẫu nhập

Giá trị mặc định

Câu trả lời được điền sẵn

Xác thực regex

Biểu thức chính quy để xác thực đầu vào

Văn bản giữ chỗ

Văn bản gợi ý màu xám cho biết định dạng mong đợi

Văn bản tooltip

Trợ giúp bật lên khi di chuột

Văn bản ghi chú

Văn bản trợ giúp hiển thị bên dưới trường nhập

Khi thay đổi

JavaScript để động hiển thị/ẩn các câu hỏi khác

Các câu hỏi được tạo tự động

Khi bạn tạo một công thức từ VM cơ sở, VergeOS sẽ tự động tạo các câu hỏi cho từng ổ đĩa của VM (ví dụ: YB_DRIVE_1_SIZE, YB_DRIVE_2_SERIAL, YB_DRIVE_3_NONPERSISTENT). Một số câu hỏi được tạo tự động bị vô hiệu hóa theo mặc định -- hãy bật chúng từ danh sách Câu hỏi nếu cần.

Tự động hóa cơ sở dữ liệu

Đằng sau mỗi công thức Marketplace, một tập hợp các câu hỏi kiểu cơ sở dữ liệu (Database Create, Database Edit, và Database Find) thực hiện các thao tác tự động trong quá trình cấp phát VM. Những câu hỏi này tương tác trực tiếp với API cơ sở dữ liệu của VergeOS để tạo tài nguyên, tải xuống image và cấu hình phần cứng -- mà không cần bất kỳ can thiệp thủ công nào từ người dùng.

Các thao tác cơ sở dữ liệu phổ biến

Thay đổi theo tình huống
Thao tác

CREATE_OS_DRIVE

Tạo ổ đĩa ảo HĐH với kích thước và tầng đã chỉ định

YB_DOWNLOAD_WINDOWS_ISO

Tải xuống Windows ISO từ một URL đã chỉ định

YB_DOWNLOAD_VIRTIO

Tải xuống ISO driver VirtIO cho máy khách Windows

YB_CREATE_VIRTIO_CD_DL

Tạo một CD-ROM ảo và gắn ISO VirtIO

GET_CLUSTER_CPU

Truy vấn cụm để lấy thông tin model CPU khả dụng

CHANGE_CLUSTER_CPU

Đặt kiểu CPU của VM khớp với cụm

EDIT_MACHINE_TYPE

Điều chỉnh loại máy của VM (ví dụ: Q35) sau khi tạo

Các thao tác này sử dụng cùng một REST API mà quản trị viên và các công cụ tự động hóa có thể truy cập. Tác giả công thức có thể thêm các câu hỏi Database tùy chỉnh để tự động hóa bất kỳ thao tác nào được API của VergeOS hỗ trợ -- tạo mạng, đăng ký bản ghi DNS, đặt quy tắc tường lửa, và nhiều hơn nữa.

Bạn đang chuyển từ VMware hay Nutanix?

Một công thức VergeOS gói gọn mẫu, biểu mẫu tùy chỉnh theo từng phiên bản và tự động hóa cấp phát -- cloud-init/Cloudbase-init, tạo ổ đĩa, thao tác API -- trong một gói tự chứa, nên bạn không cần ghép nối riêng lẻ các công cụ tạo mẫu, tùy chỉnh, quản lý image và điều phối để cấp phát một VM.

Tích hợp Cloud-Init (Linux)

VergeOS tích hợp với cloud-initcông cụ tiêu chuẩn ngành dùng để tùy chỉnh VM Linux trong lần khởi động đầu tiên. Các công thức tận dụng cloud-init để áp dụng hostname, tài khoản người dùng, cấu hình mạng, cài đặt gói và script tùy chỉnh -- tất cả đều được điều khiển bởi các biến câu hỏi của công thức.

Cách hoạt động

  1. Của VM Nguồn dữ liệu Cloud-init được đặt thành Config Drive v2.

  2. VergeOS tạo một ổ đĩa ảo chứa hai tệp:

    • user_data -- Các script và chỉ thị cấu hình được thực thi trong lần khởi động đầu tiên

    • meta_data.json -- Siêu dữ liệu của phiên bản (hostname, UUID, vùng sẵn sàng)

  3. Các biến câu hỏi của công thức được chèn vào các tệp này bằng cú pháp mẫu.

  4. Trong lần khởi động đầu tiên, cloud-init đọc Config Drive và áp dụng cấu hình.

Tính năng Nguồn dữ liệu Cloud-init trường cung cấp nhiều hơn một tùy chọn. Các công thức Marketplace sử dụng Config Drive v2 (nguồn dữ liệu cloud-init tiêu chuẩn), nhưng VergeOS cũng hỗ trợ:

  • Không — Cloud-init bị vô hiệu hóa cho VM.

  • NoCloud — một nguồn dữ liệu cloud-init tiêu chuẩn dùng để cấu hình một VM không có kết nối mạng.

Cả hai Config Drive v2NoCloud đều cung cấp cùng user_data / meta_data các tệp cho máy khách; hãy chọn NoCloud khi máy khách không có mạng trong lần khởi động đầu tiên.

Biến mẫu

Các biến của công thức được chèn vào tệp cloud-init bằng ${VARIABLE_NAME} cú pháp:

Tính năng ${$ALL_VARIABLES} sẽ mở rộng để bao gồm mọi biến câu hỏi dưới dạng một đối tượng JSON, giúp tất cả câu trả lời của công thức đều có sẵn cho các script cloud-init. ${$...} Biểu mẫu này không phải là lỗi đánh máy: bộ máy thay thế quét theo ${...} cú pháp chuẩn, và $ALL_VARIABLES là một tên biến đặc biệt (với một ký tự $dẫn đầu theo nghĩa đen) mà bộ hiển thị nhận diện và thay thế bằng toàn bộ tập biến.

Các định dạng User Data

Tính năng user_data tệp hỗ trợ nhiều định dạng script, được xác định bởi dòng đầu tiên:

Định dạng
Dòng đầu tiên
Trường hợp sử dụng

Cloud-config (YAML)

#cloud-config

Cấu hình khai báo (người dùng, gói, tệp, runcmd)

Script shell

#!/bin/bash

Các lệnh shell tùy ý

PowerShell

#ps1

Script PowerShell (chủ yếu cho Cloudbase-init trên Windows)

Batch

rem cmd

Script batch Windows (Cloudbase-init)

Bộ điều phối dòng đầu tiên ở trên là hành vi tiêu chuẩn của cloud-init/Cloudbase-init, không phải là quy ước riêng của VergeOS -- VergeOS chỉ đơn giản cung cấp user_data tệp qua Config Drive v2 và để tác nhân trong máy khách tự diễn giải nó.

Ví dụ: Cloud-Config YAML

Ảnh đám mây trực tuyến

Các công thức Linux có thể tải xuống trực tiếp các cloud image dựng sẵn từ các máy nhân bản của bản phân phối. Điều này được cấu hình thông qua các câu hỏi ẩn của công thức:

  • OS_DL_URL (loại: Hidden) -- Tải xuống và lưu đệm image cục bộ (ví dụ, https://cloud-images.ubuntu.com/releases/noble/release/ubuntu-24.04-server-cloudimg-amd64-disk-kvm.img)

  • OS_URL (loại: Hidden) -- Truyền image qua web mà không lưu đệm cục bộ

Các cloud image này đã được cài sẵn cloud-init, vì vậy công thức chỉ cần cung cấp user_datameta_data.json các tệp để tùy chỉnh.

Cloudbase-Init (Windows)

Đối với VM Windows, VergeOS sử dụng Cloudbase-init -- phiên bản tương đương của cloud-init dành cho Windows. Cloudbase-init đọc cùng một nguồn dữ liệu Config Drive v2 và thực thi các script PowerShell hoặc batch trong lần khởi động đầu tiên.

Quy trình thiết lập

  1. Cài đặt ứng dụng khách Cloudbase-init trong VM mẫu Windows.

  2. Sysprep VM bằng các tùy chọn unattend của Cloudbase-init.

  3. Thiết lập VM Nguồn dữ liệu Cloud-init thành Config Drive v2.

  4. Tạo các câu hỏi của công thức cho các tùy chọn đặc thù Windows (khóa bản quyền, RDP, driver VirtIO).

Tự động hóa công thức Windows

Các công thức Windows Marketplace tự động hóa toàn bộ chuỗi cấp phát:

  1. Tải xuống ISO đánh giá Windows thông qua một câu hỏi Database

  2. Tải xuống ISO driver VirtIO

  3. Tạo các ổ CD-ROM ảo và gắn cả hai ISO

  4. Cấu hình loại máy và cài đặt UEFI

  5. Trong lần khởi động đầu tiên, Cloudbase-init áp dụng hostname, thông tin xác thực quản trị, cài đặt RDP và cấu hình mạng

Tạo công thức tùy chỉnh

Khi các công thức Marketplace không đáp ứng nhu cầu của bạn, bạn có thể tạo công thức tùy chỉnh từ bất kỳ VM hiện có nào.

Quy trình

  1. Xây dựng VM cơ sở -- Cài đặt hệ điều hành, ứng dụng và cấu hình mà bạn muốn làm golden image. Tổng quát hóa VM (xóa dữ liệu đặc thù của máy, cài cloud-init hoặc Cloudbase-init).

  2. Tạo công thức -- Điều hướng đến Máy ảo > Công thức VM mới.

    • Nếu chưa có danh mục cục bộ nào, bạn sẽ được nhắc tạo một danh mục trước.

  3. Cấu hình các trường của công thức:

Trường
Mô tả

Tên

Tên mô tả cho công thức

Mô tả

Tài liệu và hướng dẫn

Biểu tượng

Biểu tượng Font Awesome để nhận dạng trực quan

Danh mục

Vùng chứa tổ chức cho công thức

Máy ảo

VM mẫu cơ sở

Phiên bản

Bắt đầu từ 1.0.0, tự động tăng khi có thay đổi (1.0.0-1, 1.0.0-2, v.v.)

Dùng tài sản làm tên câu hỏi

Đặt tên câu hỏi drive/NIC theo số tài sản thay vì thứ tự

Phụ thuộc phiên bản

Các tính năng VergeOS cần có để công thức hoạt động

  1. Xác định các câu hỏi -- Thêm các phần và câu hỏi để thu thập đầu vào cho từng phiên bản. Cấu hình xác thực, giá trị mặc định, tooltip và logic hiển thị/ẩn có điều kiện.

  2. Cấu hình các tệp cloud-init -- Viết user_datameta_data.json các mẫu tham chiếu đến các biến câu hỏi của bạn.

  3. Mô phỏng công thức -- Nhấp vào Mô phỏng công thức từ bảng điều khiển công thức để kiểm tra biểu mẫu nhập, xác thực các trường và xem trước các tệp đáp án được tạo.

  4. Xuất bản -- Công thức sẽ khả dụng trong danh mục của nó để tạo các VM mới.

Chỉnh sửa và xuất bản lại

Khi bạn thay đổi một công thức, nó phải được xuất bản lại để các thay đổi có hiệu lực. Bảng điều khiển công thức hiển thị một thông báo với một Xuất bản lại liên kết. Sau khi xuất bản lại, các hệ thống từ xa và tenant sẽ được thông báo rằng có bản cập nhật.

Các phiên bản công thức

Một VM được tạo từ một công thức là một phiên bản của công thức đó cho đến khi nó bị xóa hoặc gỡ liên kết. Bạn có thể xem tất cả các phiên bản từ bảng điều khiển công thức. Không thể xóa một công thức khi nó còn các phiên bản liên kết.

Giới hạn được ghi nhận

Một hệ thống VergeOS hỗ trợ tối đa 1.000 công thức50.000 phiên bản công thức tổng cộng, với tối đa 10.000 nhật ký công thức cho mỗi công thức (tự động dọn khi đạt 100 và hết hạn sau 7 ngày). Những giới hạn này cao hơn nhiều so với mức sử dụng thông thường, nhưng đáng biết nếu bạn đang lên kế hoạch cấp phát quy mô lớn theo công thức.

Trao đổi công thức

VergeOS hỗ trợ chia sẻ công thức giữa các hệ thống và tenant thông qua kiến trúc kho lưu trữ và danh mục.

Chia sẻ với tenant

  1. Đặt Phạm vi xuất bản thành Tenant (hoặc Toàn cục để truy cập bên ngoài).

  2. Trong giao diện tenant, điều hướng đến Nhà cung cấp dịch vụ kho lưu trữ và nhấp Làm mới.

  3. Nhấp đúp vào danh mục để duyệt các công thức.

  4. Chọn các công thức và nhấp Tải xuống/Cập nhật để làm cho chúng khả dụng cục bộ.

Chia sẻ với hệ thống từ xa

  1. Tạo một người dùng API trên hệ thống chia sẻ với quyền Liệt kê và Đọc đối với danh mục.

  2. Trên hệ thống nhận, tạo một Kho lưu trữ từ xa trỏ đến URL của hệ thống chia sẻ với thông tin xác thực của người dùng API.

  3. Nhấp Làm mới để lấy danh sách danh mục. Tải công thức xuống để sử dụng cục bộ.

Phạm vi xuất bản

Phạm vi
Hiển thị

Riêng tư

Chỉ đám mây VergeOS cục bộ

Không

Đã tắt -- không khả dụng ở bất kỳ đâu

Tenant

Đám mây cục bộ và các tenant trực tiếp của nó

Toàn cục

Đám mây cục bộ, tenant và hệ thống từ xa (có thông tin xác thực)

Thực hành tốt nhất

Bắt đầu với Marketplace

Dùng các công thức Marketplace làm điểm khởi đầu. Sao chép chúng vào một danh mục cục bộ và tùy chỉnh thay vì xây dựng từ đầu -- cách này tiết kiệm thời gian và đảm bảo bạn kế thừa các cấu hình đã được kiểm thử.

Mô phỏng trước khi xuất bản

Luôn mô phỏng một công thức trước khi cho phép người dùng sử dụng. Xác minh rằng việc xác thực trường hoạt động, logic có điều kiện hoạt động đúng, và các tệp cloud-init được tạo chứa các giá trị mong đợi.

Đánh số phiên bản cho công thức của bạn

Hãy dùng số phiên bản có ý nghĩa và cập nhật chúng khi thực hiện các thay đổi quan trọng. Các hệ thống từ xa và tenant sẽ được thông báo về các bản cập nhật, vì vậy việc đánh số phiên bản rõ ràng giúp theo dõi những gì đã thay đổi.

Dọn dẹp dữ liệu nhạy cảm

Xóa các tệp cloud-init sau lần khởi động đầu tiên, đặc biệt nếu chúng chứa mật khẩu hoặc thông tin xác thực. Hãy cân nhắc sử dụng YB_DISABLE_CLOUDINIT tùy chọn để xóa dữ liệu cloud-init sau khi cấu hình ban đầu.

Cập nhật lần cuối

Nội dung này có hữu ích không?