1. 먼저 docker와 k8s의 공식 정의를 살펴보겠습니다.
Docker는 오픈 소스 애플리케이션 컨테이너 엔진입니다. 개발자는 애플리케이션과 종속성을 휴대용 컨테이너에 패키징하여 인기 있는 가상화 도구에 게시할 수 있습니다. Linux 시스템에서도 구현될 수 있습니다.
(추천 튜토리얼: docker)
k8s는 컨테이너 클러스터의 자동 배포, 자동 확장 및 축소, 유지 관리 및 기타 기능을 구현할 수 있는 오픈 소스 컨테이너 클러스터 관리 시스템입니다.
2. 다음으로 두 가지 기술과 기존 기술의 비교를 살펴보겠습니다.
1. 가상화의 관점에서
전통적인 가상 기술은 물리적 하드웨어를 여러 하드웨어 세트로 가상화한 후 각 세트가 필요합니다. 하드웨어 각 운영 체제에 운영 체제를 배포한 다음 이러한 운영 체제에서 해당 응용 프로그램을 실행합니다.
Docker 컨테이너의 애플리케이션 프로세스는 호스트(실제 물리적 시스템)의 커널에서 직접 실행됩니다. Docker 엔진은 일부 독립적인 애플리케이션과 해당 종속성을 패키지화하여 서로 독립적으로 가상화되지 않은 서버에서 직접 실행합니다. 호스트 하드웨어에서 각 컨테이너에는 자체 커널이 없으며 이는 기존 가상 머신보다 확실히 가볍습니다.
각 클러스터에는 여러 개의 노드가 있으며 각 노드는 이러한 애플리케이션이 있는 소규모 실행 환경(컨테이너)을 관리하도록 설계되었습니다.
2. 배포 관점에서
전통적인 방법은 모든 애플리케이션을 동일한 물리적 시스템 노드에 직접 배포하여 각 앱의 종속성이 정확히 동일하고 앱 간 격리를 달성할 수 없도록 하는 것입니다. 격리하기 위해 가상 머신을 만들어 앱을 배포할 수도 있지만 이는 너무 번거롭습니다.
이제 우리는 컨테이너 컨테이너 배포 기술을 사용하여 애플리케이션을 배포하고, 모든 컨테이너는 컨테이너 엔진에서 실행될 수 있습니다.
가상머신의 과중한 작업량이 싫고 Docker를 사용하고 싶으시다면 어떻게 사용하나요? 수동으로 하나씩 만드시겠습니까? 물론 그렇지는 않았기 때문에 쿠버네티스 기술이 등장했고, 쿠버네티스로 대표되는 컨테이너 클러스터 관리 시스템이 등장할 뻔했다.
3. 마지막으로 docker와 k8s의 관계를 분석해 보겠습니다.
우리는 kubernetes를 사용하여 Docker 클러스터를 관리합니다. 즉, Docker는 Kubernetes에서 내부적으로 사용하는 하위 수준 구성 요소로 간주될 수 있습니다.
또한 kubernetes는 Docker뿐만 아니라 또 다른 컨테이너 기술인 Rocket도 지원합니다.
위 내용은 도커와 k8s의 관계는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!