Docker
: containerization platform and runtime
- provides an efficient way to package and distribute containerized applications
- declaratively package an application, its dependencies, and configuration together into immutable container images
by writing a Dockerfile and then running the appropriate commands to build the image using the Docker server
- container images can be deployed and run on any platform that supports containers, such as Kubernetes, Docker Swarm, Mesos, or HashiCorp Nomad
- uses client-server architecture
- Problems: Coordinating and scheduling containers across multiple servers/clusters, upgrading or deploying applications with zero downtime, and monitoring the health of containers, running and managing containers at scale
=> need to orchestrate containers => Kubernetes
* container
- doesn’t depend on their own operating system
- Docker containers are one process per container
Kubernetes
: platform for running and managing containers from container runtimes(Docker, containerd, CRI-O, and any implementation of the Kubernetes CRI (Container Runtime Interface))
- orchestrates clusters of machines to work together and schedules multiple containers to run on those machines based on their available resources
- Containers are grouped together, through declarative definition, into pods(basic unit of Kubernetes)
- enable communications between container
- deploy application through declarative YAML files
- automatically scaling services to your desired state: scaling pods vertically or horizontally
- load balancing across containers within the cluster
- security and access control across your services: offer authentication and security
- Automated operations
- kubectl: API. command line tool
- Infrastructure abstraction
- auto health monitoring, restarts failed containers
- multi-platform deployment: deploying an application to run on multiple OS platforms
- service discovery
- automated rollouts and rollbacks
- configuration management
- resource allocation
- isolation
- not a complete PaaS
https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker
를 내맘대로 요약함
'IT > DevOps' 카테고리의 다른 글
[Docker] Application 공유하기: Docker registry, Docker Hub (0) | 2024.02.05 |
---|---|
[Docker] Application 업데이트하기 (2) | 2024.02.05 |
[Docker] Overview, Application containerize하기 (0) | 2024.02.04 |
[Pyinstaller] exe 파일 못 만드는 오류! (yolo ultralytics 관련) (2) | 2023.08.18 |
3tier 아키텍쳐 (0) | 2023.04.30 |