Hypeman – 클라우드 하이퍼바이저/QEMU를 기반으로 VM에서 컨테이너화된 워크로드 실행

hackernews | | 💼 비즈니스
#hypeman #qemu #tip #컨테이너 #클라우드 #하이퍼바이저
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

Hypeman은 Cloud Hypervisor, Firecracker, QEMU 등의 하이퍼바이저를 활용하여 가상머신(VM) 내에서 컨테이너화된 워크로드를 실행할 수 있는 도구입니다. macOS(애플 실리콘 지원) 및 리눅스 환경에서 설치 스크립트나 Homebrew를 통해 쉽게 구성할 수 있으며, 자동화된 설치 과정을 통해 JWT 토큰 기반의 인증 설정이 간편합니다. 사용자는 CLI를 통해 이미지를 풀(pull)하고 VM을 실행하는 기본적인 관리 작업뿐만 아니라, 인그레스(Ingress)를 생성하여 호스트와 VM 간의 TLS 역프록시를 설정하는 고급 네트워킹 기능을 제공받을 수 있습니다.

본문

██╗ ██╗ ██╗ ██╗ ██████╗ ███████╗ ███╗ ███╗ █████╗ ███╗ ██╗ ██║ ██║ ╚██╗ ██╔╝ ██╔══██╗ ██╔════╝ ████╗ ████║ ██╔══██╗ ████╗ ██║ ███████║ ╚████╔╝ ██████╔╝ █████╗ ██╔████╔██║ ███████║ ██╔██╗ ██║ ██╔══██║ ╚██╔╝ ██╔═══╝ ██╔══╝ ██║╚██╔╝██║ ██╔══██║ ██║╚██╗██║ ██║ ██║ ██║ ██║ ███████╗ ██║ ╚═╝ ██║ ██║ ██║ ██║ ╚████║ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═══╝ Run containerized workloads in VMs, powered by Cloud Hypervisor, Firecracker, QEMU, and Apple Virtualization.framework. - Docker-compatible CLI — run ,exec ,stop ,ps ,logs ,pull work like you'd expect - Multiple hypervisors — Cloud Hypervisor, Firecracker, QEMU on Linux; Virtualization.framework on macOS - Standby & restore — snapshot a VM to disk and resume it in milliseconds - Built-in ingress — reverse proxy with TLS termination and subdomain routing - GPU passthrough — vGPU and VFIO device support - OCI image support — pull and run standard container images - Remote API — JWT-authenticated server with a separate CLI client KVM virtualization support required. Supports Cloud Hypervisor, Firecracker, and QEMU as hypervisors. macOS 11.0+ on Apple Silicon. Uses Apple's Virtualization.framework via the vz hypervisor. Install Hypeman (Linux and macOS supported): curl -fsSL https://get.hypeman.sh | bash This installs the Hypeman server, CLI, and token tool. The installer: - Generates a YAML config file with a random JWT secret - Starts the server as a system service (launchd on macOS, systemd on Linux) - Creates a CLI config file ( ~/.config/hypeman/cli.yaml ) with a pre-authenticated token No environment variables needed -- just run hypeman commands immediately after install. To use the Hypeman CLI from a different machine than the server: Homebrew (macOS): brew install kernel/tap/hypeman Linux: curl -fsSL https://get.hypeman.sh/cli | bash Go: go install 'github.com/kernel/hypeman-cli/cmd/hypeman@latest' Then create a CLI config file at ~/.config/hypeman/cli.yaml : base_url: http://:8080 api_key: "" To generate a token, run hypeman-token on the server: hypeman-token -user-id "my-user" -duration 8760h Environment variables (HYPEMAN_BASE_URL , HYPEMAN_API_KEY ) and CLI flags (--base-url ) also work and take precedence over the config file. Hypeman is configured via YAML config files. | Component | Config File | |---|---| | Server | /etc/hypeman/config.yaml (Linux) or ~/.config/hypeman/config.yaml (macOS) | | CLI | ~/.config/hypeman/cli.yaml | See config.example.yaml (Linux) and config.example.darwin.yaml (macOS) for all available server options. # Pull an image hypeman pull nginx:alpine # Boot a new VM (auto-pulls image if needed) hypeman run --name my-app nginx:alpine # List running VMs hypeman ps # Show all VMs hypeman ps -a # View logs (supports VM name, ID, or partial ID) hypeman logs my-app hypeman logs -f my-app # Execute a command in a running VM hypeman exec my-app whoami # Shell into the VM hypeman exec -it my-app /bin/sh # Stop the VM hypeman stop my-app # Start a stopped VM hypeman start my-app # Put the VM in standby (snapshot to disk, stop hypervisor) hypeman standby my-app # Restore the VM from standby hypeman restore my-app # Delete all VMs hypeman rm --force --all Create a reverse proxy from the host to your VM: # Create an ingress hypeman ingress create --name my-ingress my-app --hostname my-nginx-app --port 80 --host-port 8081 # List ingresses hypeman ingress list # Test it curl --header "Host: my-nginx-app" http://127.0.0.1:8081 # Delete an ingress hypeman ingress delete my-ingress # TLS-terminating ingress (requires DNS credentials in server config) hypeman ingress create --name my-tls-ingress my-app \ --hostname hello.example.com -p 80 --host-port 7443 --tls # Test TLS curl --resolve hello.example.com:7443:127.0.0.1 https://hello.example.com:7443 # Subdomain-based routing hypeman ingress create --name subdomain-ingress '{instance}' \ --hostname '{instance}.example.com' -p 80 --host-port 8443 --tls # Delete all ingresses hypeman ingress delete --all # View Cloud Hypervisor logs hypeman logs --source vmm my-app # View Hypeman operational logs hypeman logs --source hypeman my-app For all available commands, run hypeman --help . See DEVELOPMENT.md for build instructions, configuration options, and contributing guidelines. See LICENSE.

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →