Container Runtimes 비교 표
          
             
  2 minute read
          
        
      
      
        
          
        
        
  
    
      |   | 
      CRI-O | 
      Containerd CRI plugin | 
      Docker Engine | 
      gVisor CRI plugin | 
      CRI-O Kata Containers | 
    
  
  
    
      | sponsors | 
      CNCF | 
      CNCF | 
      Docker Inc | 
      Google | 
      Intel | 
    
    
      | started | 
      2016 | 
      2015 | 
      Mar 2013 | 
      2015 | 
      2017 | 
    
    
      | version | 
      1.15 | 
      1.12 | 
      18.06 | 
      runc | 
      1.3 | 
    
    
      | runtime | 
      runc (default) | 
      containerd managing runc | 
      runc | 
      runsc | 
      kata-runtime | 
    
    
      | kernel | 
      shared | 
      shared | 
      shared | 
      partially shared | 
      isolated | 
    
    
      | syscall filtering | 
      no | 
      no | 
      no | 
      yes | 
      no | 
    
    
      | kernel blobs | 
      no | 
      no | 
      no | 
      no | 
      yes | 
    
    
      | footprint | 
      - | 
      - | 
      - | 
      - | 
      30mb | 
    
    
      | start time | 
      <10ms | 
      <10ms | 
      <10ms | 
      <10ms | 
      <100ms | 
    
    
      | io performance | 
      host performance | 
      host performance | 
      host performance | 
      slow | 
      host performance | 
    
    
      | network performance | 
      host performance | 
      host performance | 
      host performance | 
      slow (see comment) | 
      close to host performance | 
    
    
      | Docs | 
      https://github.com/kubernetes-sigs/cri-o/ | 
      https://github.com/containerd/cri | 
      https://github.com/moby/moby | 
      https://github.com/google/gvisor | 
      https://github.com/kata-containers/runtime | 
    
    
      | 장점 | 
      경량의 쿠버네티스 전용 Docker 데몬이 필요하지 않음 OpenShift의 기본 컨테이너 런타임 아마도 최고의 컨테이너 기본 런타임 | 
      최신 Docker Engine과 함께 기본적으로 설치됨 Kubernetes는 ContainerD를 직접 사용할 수 있으며, Docker또한 동일한 호스트에서 직접 사용할 수도 있음  DockerD 데몬을 실행할 필요가 없음 | 
      방대한 수의 사용자가 테스트하고 반복 한 가장 성숙한 런타임 seccomp, SELinux 및 AppArmor를 사용하여 강화할 수 있음 가장 빠른 시작 시간  메모리 사용량이 가장 적음 | 
      gcloud appengine에서 고객 간의 격리 계층으로 사용함 상태를 저장하지 않는 웹 앱에 적합 표준 컨테이너에 두 개의 보안 계층을 추가함 | 
      아마도 가장 안전한 옵션 보안에 대한 주요 절충안으로 오버헤드가 발생하는것은 그렇게 나쁘지 않은 것으로 보임 | 
    
    
      | 단점 | 
      Docker Engine이 같고 있는 동일한 보안 이슈를 가지고 있음 보안정책을 별도로 관리해야 함 | 
      This is slightly newer as it has been through a few iterations of being installed differently. | 
      Kubernetes는 CRI 플러그인 아키텍처로 이동하고 있음 보안을 강화하고 관리하는것은 너무 복잡함 | 
      버전이 지정되지 않았으며 아직 Kubernetes에서 프로덕션에 사용해서는 안됨 많은 syscall을 만드는 응용 프로그램에는 적합하지 않음 400 개 Linux syscall이 모두 구현되어 일부 앱이 작동하지 않을 수 있음 (예 : postgres). | 
      kata-runtime 자체는 v1이지만 이것이 Kubernetes 상에서 어떻게 준비 되어 있는지  확인이 필요 30MB 메모리 오버 헤드로 인한 비효율적 패킹 시작 시간 | 
    
  
        
      
      
      
      
  
     
    
      
    
  
Comments