Closed nelsonic closed 5 years ago
Relevant reading: https://blog.containership.io/k8svsdocker
Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications. http://kubernetes.io/
https://containerjournal.com/2017/11/08/kubernetes-bigger-deal-docker/ Kubernetes is a tool that can help you deploy Docker containers. It's only one of several such tools. You don't have to use it to use Docker—but you can't use Kubernetes without also using software from Docker.
https://technologyadvice.com/blog/information-technology/kubernetes-vs-docker/ The following notes comparing Kubernetes with Docker are comparing the container management facilities of them. So to be specific it's a comparison of Kubernetes with Docker Swarm.
Both of these tools provide extensive capabilities to build and manage virtual containers at scale, but the ways they go about it differ significantly.
Kubernetes Pros:
Kubernetes Cons:
gets a lot of clout because it’s an intricate and sometimes overly-complicated system.
One of the main complaints users have about Kubernetes is that it uses a different setup for each OS.
building custom environments... defining your nodes... add to that some manual integrations, and the installation of Kubernetes can feel like a mammoth task.
Docker Pros:
With its easy-to-use command structure Docker has the usability edge.
Whereas Kubernetes can feel like reinventing the wheel, Docker allows for speed.
Docker Cons: The major detraction from working in Docker? If you want to perform a function and can’t based on the current API, you’re stuck.
The size and number of the containers you could spin used to define the difference in the choice between Kubernetes vs. Docker, but release of recent Docker updates has significantly closed the gap. Both systems now support 1,000 node clusters and up to 30,000 containers.
Conclusion There isn't a clear 'winner' as such, both have pros and cons and so it's more about what better suits your needs. Kubernetes has scaling advantages (once you get over the initial learning curve), is a strong choice for orchestration and in some areas offers greater flexibility, whereas Docker offers a strong performance which is easier to adopt from the get go.
https://blog.containership.io/k8svsdocker/
Kubernetes is an open source container orchestration platform, allowing large numbers of containers to work together in harmony, reducing operational burden. It helps with things like:
Running containers across many different machines Scaling up or down by adding or removing containers when demand changes Keeping storage consistent with multiple instances of an application Distributing load between the containers Launching new containers on different machines if something fails
Kubernetes isn’t the only container management tool around. Docker also has its own native container management tool called Docker Swarm. It lets you deploy containers as Swarms that you can interact with as a single unit, with all the container management taken care of. To be clear, Kubernetes does not interact with Docker Swarm in any fashion, only the Docker engine itself.
When used together, both Docker and Kubernetes are great tools for developing a modern cloud architecture, but they are fundamentally different at their core. It is important to understand the high-level differences between the technologies when building your stack.
@cleop nice work with Kubernetes overview. 👍