Tích hợp Rancher
VergeOS tích hợp với Rancher thông qua trình điều khiển node Docker Machine và tiện ích mở rộng UI, cho phép cấp phát và quản lý các cụm RKE2/K3s trên VergeOS từ giao diện Rancher.
Tổng quan
VergeOS tích hợp với Rancher thông qua một driver node Docker Machine và một tiện ích mở rộng giao diện người dùng. Cùng nhau, các thành phần này cho phép chúng tôi cung cấp và quản lý các cụm RKE2/K3s trên hạ tầng VergeOS trực tiếp từ giao diện Rancher.
Cung cấp các VM VergeOS làm các node Kubernetes
Thêm thông tin xác thực cloud VergeOS và cấu hình máy vào Rancher
Khi các cụm đã chạy, Tích hợp Kubernetes các thành phần (CSI Driver và Cloud Controller Manager) cung cấp lưu trữ bền vững và quản lý vòng đời node — các thành phần này hoạt động với bất kỳ cụm Kubernetes nào trên VergeOS, không chỉ các cụm được Rancher cung cấp.
Điều kiện tiên quyết
Một môi trường VergeOS có quyền truy cập API
Một cài đặt Rancher Server (v2.10+)
Một VM mẫu chạy Ubuntu 24.04 với cloud-init đã cài đặt
Một khóa API VergeOS (được tạo trong Cài đặt người dùng)
kubectlvàhelmCác công cụ CLI
Docker Machine Driver
Driver Docker Machine là nền tảng của tích hợp Rancher. Nó quản lý toàn bộ vòng đời VM thông qua API VergeOS — nhân bản các VM mẫu, chèn khóa SSH qua cloud-init, và tạo máy khi các cụm được cung cấp. Khi một cụm bị xóa, driver sẽ tự động xóa các VM mà nó đã tạo.
Cách hoạt động
Nhân bản VM mẫu với tên máy được yêu cầu
Cấu hình số lõi CPU, RAM và cloud-init (khóa SSH + hostname + user-data tùy chọn)
Thay đổi kích thước ổ đĩa chính nếu chỉ định kích thước tùy chỉnh
Gắn VM vào mạng được chỉ định
Bật nguồn và chờ địa chỉ IP (ưu tiên QEMU guest agent, dự phòng bằng DHCP của NIC)
Nếu bất kỳ bước nào thất bại, driver sẽ tự động dọn dẹp VM được tạo dở.
Chuẩn bị VM mẫu
Trước khi cung cấp các cụm, chúng ta cần một VM mẫu trong VergeOS với các yêu cầu sau:
Bắt buộc:
Ubuntu 24.04 (Noble Numbat) — hiện tại là hệ điều hành mẫu duy nhất được hỗ trợ
cloud-init đã cài đặt và bật — driver chèn khóa SSH và đặt hostname thông qua một payload cloud-init MIME nhiều phần
Khuyến nghị:
QEMU guest agent — cho phép phát hiện IP chính xác; nếu không có, driver sẽ quay về dùng IP lease DHCP của NIC
Chi tiết riêng cho Ubuntu 24.04
Driver tự động xử lý một số chi tiết riêng của Ubuntu 24.04 thông qua cloud-init:
Cấu hình DHCP Netplan — ghi một cấu hình netplan khớp với
en*giao diện vớidhcp4: true, xử lý các thay đổi tên khe PCI giữa các bản saoTạo lại Machine-ID — tạo lại
/etc/machine-idtrên mỗi bản sao để mỗi VM có một định danh khách DHCP duy nhấtDọn dẹp lease DHCP được lưu cache — xóa các lease DHCP cũ được thừa kế từ mẫu
Yêu cầu về bộ nhớ
Khi dùng với Rancher, hãy cấp phát ít nhất 4 GB RAM mỗi node (khuyến nghị 8 GB). Một cụm RKE2 một node với Calico CNI sẽ bị OOM với 2 GB.
Docker là không bắt buộc trên mẫu — Rancher cài đặt runtime container riêng của nó (containerd) thông qua system agent. Mẫu chỉ cần cloud-init và guest agent.
Yêu cầu về mạng
Mạng VergeOS được chỉ định trong --vergeos-network phải đáp ứng các yêu cầu sau để các cụm do Rancher cung cấp hoạt động.
Bắt buộc có DHCP
Mạng phải bật DHCP. Driver phát hiện IP của node qua QEMU guest agent, và các VM được nhân bản sẽ không nhận được địa chỉ nếu không có DHCP.
Node → Rancher
443
TCP
Đăng ký và giao tiếp system agent
Rancher → Node
9345
TCP
Đăng ký node RKE2
Rancher → Node
6443
TCP
Máy chủ API Kubernetes
Node → Internet
443
TCP
Kéo image container từ registry
Cài đặt trong Rancher
Driver node và tiện ích mở rộng UI được đóng gói cùng nhau trong một Helm chart duy nhất. Nó cài đặt binary Docker Machine driver, đăng ký tài nguyên NodeDriver, và triển khai tiện ích mở rộng UI.
Qua Helm CLI:
Danh sách vergeosHosts giá trị là một danh sách trắng các hostname VergeOS mà proxy của Rancher được phép truy cập. Hãy thay vergeos.example.com bằng hostname của môi trường VergeOS.
Qua giao diện Rancher:
Đi tới Tiện ích mở rộng và nhấp vào ⋮ menu > Quản lý kho lưu trữ
Thêm một kho lưu trữ mới với URL
https://verge-io.github.io/helm-chartsQuay lại Tiện ích mở rộng và cài đặt VergeOS Node Driver tiện ích mở rộng
Sau khi cài đặt, VergeOS sẽ xuất hiện như một tùy chọn node driver khi tạo cụm.
Cách dùng độc lập
Driver cũng hoạt động bên ngoài Rancher với Docker Machine trực tiếp:
Để xem danh sách đầy đủ các cờ của driver và biến môi trường, hãy xem kho lưu trữ driver trong Tài liệu và tài nguyên bên dưới.
Tiện ích mở rộng UI
Tiện ích mở rộng UI bổ sung các thành phần đặc thù VergeOS vào giao diện Rancher, mang lại trải nghiệm gốc khi tạo thông tin xác thực cloud và cấu hình máy.
Nó thêm gì
Biểu mẫu thông tin xác thực cloud — yêu cầu:
URL máy chủ VergeOS
Khóa API (được lưu dưới dạng secret của Rancher)
Công tắc xác minh TLS
Biểu mẫu cấu hình máy — cung cấp:
Tên VM mẫu (tên của VM VergeOS cần nhân bản)
Tên mạng (VNet VergeOS để gắn vào)
Các trường nhập cho số lõi CPU, RAM và kích thước đĩa
Trường user-data của cloud-init
Cấu hình người dùng SSH và cổng
Tóm tắt
Tích hợp Rancher gồm hai thành phần được đóng gói trong một Helm chart duy nhất:
Docker Machine Driver — nhân bản các VM mẫu VergeOS và quản lý vòng đời của chúng cho việc cung cấp cụm
Tiện ích mở rộng UI — thêm các biểu mẫu thông tin xác thực cloud và cấu hình máy VergeOS vào giao diện Rancher
Cùng nhau, chúng cho phép chúng ta cung cấp các cụm RKE2/K3s trên hạ tầng VergeOS trực tiếp từ giao diện Rancher. Khi các cụm đã chạy, Tích hợp Kubernetes các thành phần xử lý lưu trữ bền vững và vòng đời node.
Các bước tiếp theo
Chuẩn bị một VM mẫu (Ubuntu 24.04 + cloud-init + QEMU guest agent) trong VergeOS
Cài đặt VergeOS Node Driver Helm chart trong cụm Rancher
Cung cấp một cụm downstream bằng cách dùng VergeOS làm node driver
Cài đặt CSI Driver và Cloud Controller Manager trên cụm downstream để có lưu trữ bền vững và bộ cân bằng tải
Tài liệu và tài nguyên
Để xem cấu hình chi tiết, cờ của driver, giá trị chart và ghi chú phát hành, hãy xem các kho lưu trữ GitHub:
Driver node Docker Machine / Rancher
Tiện ích mở rộng UI của Rancher
Kho lưu trữ Helm chart
Hỗ trợ
Nếu bạn gặp sự cố hoặc có yêu cầu tính năng, vui lòng mở issue trong kho lưu trữ GitHub liên quan:
Cập nhật lần cuối
Nội dung này có hữu ích không?