OpenForge 문서 목차 보기
Kube-Ready-Box · OSS Project

Kube-Ready-Box

Kubernetes를 위한 Ubuntu 24.04/26.04 LTS Vagrant Base Box · ARM64/AMD64 · ext4/XFS

KubernetesVagrantPackerUbuntuARM64AMD64XFSext4VMwareVirtualBox
RepositoryGitHub ↗
Documentation5 sections
Updated2026-09-14T00:00:00.000Z
ECOSYSTEM ROLE
Node Foundation

Kubernetes 설치기 대신, ARM64/AMD64와 여러 provider에서 반복 사용할 수 있는 OS readiness baseline을 Packer와 Vagrant image로 제공합니다.

OS readinessMulti-archFilesystem variants
PROJECT CONFORMANCE

저장소 evidence 체크리스트

3 present · 6 missing

Present는 저장소 또는 사이트에서 명시적 artifact가 관찰됐다는 뜻입니다. Missing은 audit에서 해당 artifact를 찾지 못했다는 뜻이며 실제 practice가 없다는 증거는 아닙니다. Tracked는 가장 가까운 기존 backlog owner를 가리키며 이슈를 자동 생성하지 않습니다.

CONTRIBUTING
Missing
CODE_OF_CONDUCT
Missing
SECURITY.md
Missing
SBOM evidence
Missing
Provenance / attestation
Missing
GitHub Release
Present
Evidence 확인됨
프로젝트 상세 Docs
Present
5 sections
Evidence 확인됨
Community contributor 신호
Present
2 contributors
Evidence 확인됨
repository audit 미인덱싱
Problem

로컬 Kubernetes 클러스터를 반복해서 만들 때 OS 튜닝, kernel modules, networking, storage prerequisites를 매번 준비해야 하고 ARM64/AMD64와 provider별 차이까지 별도로 관리해야 함

Approach

Packer로 Kubernetes용 Ubuntu base image를 사전 구성하고 Vagrant Cloud로 배포해 동일한 OS baseline을 여러 로컬 클러스터 프로젝트에서 반복 사용

ENGINEERING EVIDENCE

숫자보다 검증 가능한 근거를 보여줍니다.

Ubuntu
24.04 / 26.04

Maintains conservative and latest-LTS node baselines for local Kubernetes environments.

Architecture
ARM64 / AMD64

Targets Apple Silicon and x86 local development environments.

Filesystem
ext4 / XFS

Separates general-purpose and quota/storage-oriented filesystem variants.

Boundary
OS readiness

Prepares kernel, networking, storage prerequisites, time sync, and diagnostics without bundling Kubernetes itself.

START HERE

README를 처음부터 읽지 않아도 됩니다.

ENGINEERING PRINCIPLES
Source-driven

설명은 repository의 source, architecture, tests, release와 운영 기록을 근거로 유지합니다.

Independently useful

생태계에 속하더라도 가능한 한 독립 설치·검증·릴리스 가능한 경계를 유지합니다.

Evidence over claims

기능 개수보다 재현 가능한 검증, 장애 지식, upgrade gate와 운영 증거를 우선합니다.

프로젝트 소개

Kube-Ready-Box는 Kubernetes를 로컬 VM 환경에서 빠르게 부트스트랩하기 위한 Ubuntu Vagrant Base Box 프로젝트입니다.

이 프로젝트의 핵심은 Kubernetes 자체를 포함하는 것이 아니라, Kubernetes가 올라가기 전에 필요한 **운영체제 수준의 준비 상태(OS readiness)**를 하나의 재현 가능한 이미지로 만드는 것입니다.

현재 Ubuntu 24.04 LTS와 26.04 LTS를 제공하며, ext4와 XFS filesystem variant를 분리합니다. Apple Silicon 환경을 포함한 ARM64와 AMD64를 지원하고 VirtualBox와 VMware Fusion 같은 로컬 hypervisor에서 사용할 수 있습니다.

Kube-Ready-Box는 Kubernetes installer가 아닙니다. kubelet, kubeadm, kubectl, CNI 및 container runtime은 사용자가 원하는 버전을 선택해 이후 설치합니다.

왜 필요한가

Narwhal, Beluga와 같은 로컬 Kubernetes 프로젝트에서는 VM을 만들 때마다 다음 작업이 반복됩니다.

Ubuntu Cloud Image
      ↓
filesystem / disk 준비
      ↓
kernel modules / sysctl
      ↓
network / conntrack / buffers
      ↓
CSI / iSCSI / NFS prerequisite
      ↓
time synchronization
      ↓
monitoring / diagnostics tools
      ↓
Kubernetes bootstrap

Kube-Ready-Box는 이 중 Kubernetes가 요구하는 OS baseline을 이미지 단계에서 표준화합니다. 결과적으로 각 상위 프로젝트는 cluster bootstrap 로직에만 집중할 수 있습니다.

제공 이미지

UbuntuFilesystem주요 용도
24.04 LTSext4기본 안정형 로컬 Kubernetes 노드
24.04 LTSXFSstorage/quota 및 대용량 workload
26.04 LTSext4최신 LTS / cgroup v2-only 환경
26.04 LTSXFS최신 LTS + project quota 활용

Vagrant Cloud의 주요 box 이름은 다음과 같습니다.

dasomel/ubuntu-24.04-ext4
dasomel/ubuntu-24.04-xfs
dasomel/ubuntu-26.04-ext4
dasomel/ubuntu-26.04-xfs

Kubernetes Readiness Baseline

이미지는 다음과 같은 OS 수준 준비 작업을 포함합니다.

  • swap 비활성화
  • Kubernetes에 필요한 kernel modules (br_netfilter, overlay, iscsi_tcp)
  • IP forwarding / bridge networking
  • conntrack 및 network buffer 튜닝
  • /sys/fs/bpf 영구 마운트 (Cilium eBPF 리소스 유지)
  • open-iscsi(+iscsid 활성화), cryptsetup, dmsetup — Longhorn V1 요구사항 · nfs-common
  • chrony 기반 시간 동기화 — Ubuntu 25.10+/26.04 기본값인 systemd-timesyncd를 대체, 한국 NTP 서버를 /etc/chrony/sources.d/kr-ntp.sources로 사전 구성 (etcd clock-skew 민감성 대응)
  • 보안 하드닝: needrestart 제거(Qualys 로컬 권한상승 CVE 5건 대응), unattended-upgrades 완전 purge(kubelet Graceful Node Shutdown 충돌 방지), auditd 설치 후 비활성화(CIS 대응, I/O 제한 포함), apparmor-utils 추가
  • jq, yq, network diagnostics, performance tools
  • 자동 disk/partition/LVM/filesystem 확장 (1TB thin-provisioned 디스크, box 크기는 ext4 약 2.2GB / XFS 약 3.4GB)

24.04와 26.04의 차이

26.04는 cgroup v2-only 환경이며 containerd/kubelet의 systemd cgroup 설정을 명시적으로 맞춰야 합니다. 반대로 24.04는 보다 보수적인 기본값으로 안정적인 로컬 Kubernetes 개발 환경을 제공합니다.

항목Ubuntu 24.04Ubuntu 26.04
Kernel6.87.0
cgroupv2 기본v2-only
기본 선택안정성 중심최신 커널/플랫폼 기능
Kubernetes 주의점일반적인 설정SystemdCgroup=true 확인

Build Pipeline

Ubuntu Cloud Image
       ↓
     Packer
       ↓
OS configuration + filesystem tuning
       ↓
provider-specific validation
       ↓
Vagrant Box
       ↓
Vagrant Cloud
       ↓
Narwhal / Beluga / local K8s projects

Packer가 이미지를 생성하고 GitHub Actions가 provider와 architecture별 빌드·검증·배포를 자동화합니다. Box version과 Ubuntu release를 명확히 분리해 상위 프로젝트가 재현 가능한 개발 환경을 선택할 수 있습니다.

Filesystem 선택

ext4

일반적인 Kubernetes 개발 환경과 범용 workload에 적합합니다. Shrink와 일반 Linux tooling 호환성이 필요한 경우 유리합니다.

XFS

대용량 데이터와 Kubernetes storage/quota 실험에 적합합니다. 특히 NFS Quota Agent와 함께 사용할 경우 XFS Project Quota를 활용할 수 있습니다.

시작하기

# 안정적인 기본 이미지
vagrant init dasomel/ubuntu-24.04-ext4
vagrant up --provider=vmware_desktop
 
# XFS / quota 환경
vagrant init dasomel/ubuntu-24.04-xfs
vagrant up --provider=vmware_desktop
 
# Ubuntu 26.04
vagrant init dasomel/ubuntu-26.04-ext4
vagrant up --provider=vmware_desktop

사용 후에는 box 자체가 Kubernetes cluster를 제공하는 것이 아니라는 점을 전제로 containerd, kubelet, kubeadm 또는 원하는 Kubernetes 배포판을 추가합니다.

검증

vagrant ssh -c "cat /etc/vagrant-box/info.json"
vagrant ssh -c "/bin/bash /etc/vagrant-box/check-tuning.sh"

검증 포인트는 단순히 VM이 boot되는지가 아니라, kernel setting, network readiness, filesystem 및 Kubernetes prerequisite가 의도한 baseline과 일치하는지입니다.

현재 상태

최신 릴리스는 v1.1.0(2026-07-19)입니다. Ubuntu 26.04 LTS(Resolute Raccoon, kernel 7.0)를 24.04 LTS(Noble Numbat, 기본값)와 함께 정식 태그로 배포하는 첫 릴리스이며, 위 보안 하드닝과 chrony 전환, CSI/Longhorn 전제조건, bpffs 영구 마운트가 이 릴리스에서 추가됐습니다.

ProviderAMD64ARM64비고
VirtualBox✅✅ARM64는 VirtualBox 7.1+ 필요
VMware Fusion✅*✅Apple Silicon 지원; *AMD64는 로컬 빌드만 — Vagrant Cloud는 CI runner 제약으로 ARM64만 배포
  • 별도 프로젝트로 선언형 NixOS 변형 dasomel/nixos-kube-ready(libvirt/arm64, Apple Silicon은 vagrant-qemu 경유)도 배포됩니다.
  • Packer 1.10+ (CI는 1.15.4 고정), 빌드 타임아웃은 ssh_timeout 1시간(vmware-arm64는 2시간), CI job 타임아웃 90분입니다.

상세 기술 문서

주제문서내용
Overview박스 개요프로젝트 목적과 지원 범위
Architecture시스템 구조Packer → Box → Vagrant 흐름
Getting Started사용 가이드provider와 filesystem 선택
Operations빌드/릴리스Packer와 Vagrant Cloud 운영
Verification검증OS readiness와 release validation

프로젝트 관계

Architecture diagram
Responsive vector rendering · source preserved
kube-ready-box ↓ local Kubernetes node baseline Narwhal Beluga KubeMetal / other K8s projects ↓ higher-level platform