컨테이너 런타임 가이드

컨테이너 런타임 가이드

K8S라고도하는 Kubernetes는 컨테이너화 된 워크로드의 배포, 스케일링 및 관리에 사용되는 오픈 소스 컨테이너 오케스트레이션 시스템입니다.

컨테이너는 Kubernetes 생태계의 핵심이며 K8S가 제작하고 관리하는 서비스의 빌딩 블록입니다. 컨테이너가 실행되는 방법을 이해하는 것은 Kubernetes 환경을 최적화하는 데 중요합니다.

컨테이너와 컨테이너 런타임은 무엇입니까?

컨테이너는 가볍고 효율적인 방식으로 응용 프로그램과 그 종속성을 번들로 묶습니다. 많은 사람들은 Docker가 컨테이너를 직접 운영한다고 생각하지만 정확하지는 않습니다. Docker는 실제로 높은 수준의 컨테이너 런타임 위에 앉아있는 도구 모음으로 저수준 런타임 구현을 사용합니다. 런타임 시스템은 컨테이너로 배포되는 이미지가 관리되는 방식을 지시합니다.

컨테이너 런타임은 컨테이너를 가장 효율적인 방식으로 실행하는 실제 연산자이며 네트워크, 디스크, 성능, I/O 등과 같은 자원이 관리되는 방식에 영향을 미칩니다. 따라서 Kubernetes는 컨테이너를 실행할 위치와 같은 컨테이너를 오케스트레이션하지만 해당 결정을 실행하는 런타임입니다. 컨테이너 런타임을 선택하면 응용 프로그램 성능에 영향을 미칩니다.

컨테이너 런타 타임 자체는 이미지 관리 및 컨테이너 수명주기를 처리하는 고급 컨테이너 런타임과 실제로 컨테이너를 생성하고 실행하는 저수준 OCI 호환 런타임의 두 가지 맛으로 제공됩니다.

낮은 수준의 런타임은 기본적으로 높은 수준의 런타임 개발자가 저수준 기능을 사용하여 높은 수준의 런타임을 개발할 수있는 라이브러리입니다. 높은 수준의 런타임은 지침을 수신하고 필요한 이미지를 관리 한 다음 저수준 런타임을 호출하여 실제 컨테이너 프로세스를 작성하고 실행합니다.

어떤 고급 컨테이너 런타임을 선택해야합니까?

저수준 런타임을 비교하는 다양한 연구가 있지만, 고급 컨테이너 런타임이 신중하게 선택되는 것도 중요합니다.

  • 도커: 이것은 컨테이너 생성, 포장, 공유 및 실행을 포함하는 컨테이너 런타임입니다. Docker는 모 놀리 식 데몬, Dockerd 및 Docker Client Program으로 만들어졌으며 클라이언트/서버 디자인을 특징으로합니다. 데몬은 컨테이너 생성, 이미지 관리 및 컨테이너 작동 및 API를 제공하기위한 논리의 대부분을 처리했습니다.
  • 컨테이너: 이것은 Docker와 Kubernetes와 Linux, Windows, Suse 및 기타 운영 체제에서 컨테이너를 작동시키기 위해 Syscalls 및 OS 특정 기능을 추상화하려는 다른 컨테이너 기술에 의해 사용되도록 만들어졌습니다.
  • 그것을 비판하십시오: 이것은 Kubernetes의 경우에만 가벼운 런타임으로 만들어졌으며 이러한 종류의 작업 만 처리 할 수 ​​있습니다.

언급 된 런타임은 인기가 있으며 모든 주요 클라우드 제공 업체가 제공하고 있습니다. 높은 수준의 컨테이너 런타임 인 ​​Docker는 나가는 동안 다른 두 사람은 여기에 있습니다.

고려해야 할 매개 변수

  • 성능: 컨테이너 또는 CRI-O는 일반적으로 운영 오버 헤드가 낮기 때문에 성능이 향상되는 것으로 알려져 있습니다. Docker는 모든 기능 비트가 필요한 모 놀리 식 시스템으로 오버 헤드가 증가합니다. 둘 사이의 네트워크 성능은 크게 다르지 않지만 중요한 요소 인 경우 어느 쪽도 선택할 수 있습니다.
  • 특징: Containerd는 가벼운 시스템이므로 중요한 고려 사항이라면 항상 모든 기능이있는 것은 아니지만 Docker는 큰 기능 세트를 가지고 있습니다. CANERD를 CRI-O와 비교할 때 CRI-O는 그 이후로 더 작은 기능 세트를 가지고 있습니다. 오직 Kubernetes를 대상으로합니다.
  • 기본값: 많은 클라우드 제공 업체에는 관리되는 컨테이너 런타임에 대한 권장 사항이 있습니다. 지원이 길어야하므로 직접 사용하는 데 이점이 있습니다.

수동 배포를 고려해야하는 이유는 무엇입니까?

지금까지 Amazon, Microsoft, Google 등과 같은 주요 클라우드 제공 업체가 제공하는 Managed K8S 배포에 대해 이야기했지만 인프라를 호스팅하는 또 다른 방법이 있습니다. 직접 관리합니다.

이곳은 수동 배포가 시작됩니다. 시스템의 모든 단일 구성 요소를 완전히 제어하여 불필요한 기능을 제거 할 수 있습니다. 그러나 배포 관리의 오버 헤드를 소개합니다.

결론

결정을 내릴 때 달성하려는 유스 케이스를 제기하는 것이 중요합니다. 경우에 따라 수동 배포가 더 좋지만 다른 경우에는 관리되는 배포가 승리합니다. 이러한 다양한 구성 요소와 트레이드 오프를 이해함으로써 최적의 성능 및 관리 가능성을 위해 고급 컨테이너 런타임 구성에 대한 더 나은 정보에 대한 결정을 내릴 수 있습니다.

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다