Repolode
google

google/gvisor

Linux 시스템 호출을 사용자 공간에서 가로채 컨테이너를 샌드박싱하는 Go 기반 애플리케이션 커널로, runsc OCI 런타임으로 실행할 수 있습니다.

스타
19,738
포크
2,025
열린 이슈
1,005
마지막 커밋
3시간 전

어떤 프로젝트인가요?

gVisor는 Linux와 유사한 인터페이스를 구현하고 컨테이너화된 애플리케이션과 호스트 운영체제 사이에서 동작하는 애플리케이션 커널입니다. 사용자 공간에서 메모리 안전 언어인 Go로 실행되므로 컨테이너가 호스트 커널에 접근할 수 있는 범위를 제한해 컨테이너 탈출 취약점의 영향을 줄입니다.

gVisor는 Docker 및 Kubernetes와 통합되는 runsc라는 OCI 런타임을 제공하므로, 기존 컨테이너 도구를 거의 변경하지 않고도 샌드박싱된 컨테이너를 실행할 수 있습니다. 가상 머신이 아닌 일반 호스트 프로세스로 실행되며, seccomp-bpf와 같은 시스템 호출 필터링과 완전한 가상 머신 사이의 절충안으로 자리매김하고 있습니다.

이 저장소는 Bazel을 빌드 컨테이너로 감싸 사용해 Linux 5.6 이상을 실행하는 x86_64 및 ARM64 호스트에서 빌드할 수 있습니다. 또한 Netstack TCP/IP 스택과 같은 패키지를 다른 Go 프로젝트에 가져올 수 있도록 Go 호환 브랜치도 제공합니다.

핵심 기능

  • 01사용자 공간에서 Linux와 유사한 시스템 호출 인터페이스 구현
  • 02Docker 및 Kubernetes용 runsc OCI 런타임 제공
  • 03메모리 안전 언어인 Go로 작성
  • 04완전한 가상 머신 없이 일반 호스트 프로세스로 실행
  • 05x86_64 및 ARM64에서 빌드 가능

활용 사례

  • 신뢰할 수 없거나 타사에서 제공한 코드를 샌드박싱된 컨테이너에서 실행
  • 멀티 테넌트 Kubernetes 워크로드에 추가 격리 계층 적용
  • 사용자 공간 TCP/IP 스택인 Netstack을 Go 프로젝트에 가져와 사용

빠른 시작

  1. 1

    요구 사항을 확인합니다: Linux 5.6 이상 및 Docker 17.09.0 이상

  2. 2

    runsc가 포함된 릴리스 tarball을 빌드합니다

    make release-tarball DESTINATION=bin/
  3. 3

    tarball을 /usr/local/bin에 압축 해제합니다

    sudo tar -C /usr/local/bin -xf bin/gvisor.tar.bz2

사용 전 알아둘 점

  • Linux 5.6 이상에서만 실행되며, x86_64 및 ARM64에서만 빌드할 수 있습니다.
  • 소스에서 빌드하려면 Docker 기반 빌드 컨테이너 또는 수동으로 구성한 Bazel 툴체인이 필요합니다.
  • runsc는 go 브랜치에서 빌드하는 것을 지원하지 않습니다.

토픽

자주 묻는 질문

gvisor은(는) 무엇인가요?
Linux 시스템 호출을 사용자 공간에서 가로채 컨테이너를 샌드박싱하는 Go 기반 애플리케이션 커널로, runsc OCI 런타임으로 실행할 수 있습니다. gVisor는 Linux와 유사한 인터페이스를 구현하고 컨테이너화된 애플리케이션과 호스트 운영체제 사이에서 동작하는 애플리케이션 커널입니다. 사용자 공간에서 메모리 안전 언어인 Go로 실행되므로 컨테이너가 호스트 커널에 접근할 수 있는 범위를 제한해 컨테이너 탈출 취약점의 영향을 줄입니다.
gvisor은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
gvisor은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
gvisor은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. gvisor의 마지막 커밋은 2026년 10월 22일입니다.
gvisor은(는) 어디에 사용할 수 있나요?
신뢰할 수 없거나 타사에서 제공한 코드를 샌드박싱된 컨테이너에서 실행 멀티 테넌트 Kubernetes 워크로드에 추가 격리 계층 적용 사용자 공간 TCP/IP 스택인 Netstack을 Go 프로젝트에 가져와 사용
gvisor는 어떻게 설치하나요?
요구 사항을 확인합니다: Linux 5.6 이상 및 Docker 17.09.0 이상 runsc가 포함된 릴리스 tarball을 빌드합니다: make release-tarball DESTINATION=bin/ tarball을 /usr/local/bin에 압축 해제합니다: sudo tar -C /usr/local/bin -xf bin/gvisor.tar.bz2
gvisor은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/google/gvisor

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트