dwyl / learn-docker

🚢 Learn how to use docker.io containers to consistently deploy your apps on any infrastructure.
230 stars 32 forks source link

kubernetes ? #3

Closed nelsonic closed 5 years ago

nelsonic commented 9 years ago
nelsonic commented 5 years ago

Relevant reading: https://blog.containership.io/k8svsdocker

Cleop commented 5 years ago

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:

Docker Pros:

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.

Cleop commented 5 years ago

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.

nelsonic commented 5 years ago

@cleop nice work with Kubernetes overview. 👍