Kubernetes
Build Kubernetes-ready applications on your desktop
What is Kubernetes?
Kubernetes is an open source orchestration system for automating the management, placement, scaling and routing of containers that has become popular with developers and IT operations teams in recent years. It was first developed by Google and contributed to Open Source in 2014, and is now maintained by the Cloud Native Computing Foundation. There is an active Kubernetes community and ecosystem developing around Kubernetes with thousands of contributors and dozens of certified partners.
Build Kubernetes-ready applications on your desktop
Docker Desktop is an application for MacOS and Windows machines for the building and sharing of containerized applications and microservices.
Docker Desktop delivers the speed, choice, and security you need for designing and delivering these containerized applications on your desktop. Docker Desktop includes Docker App, developer tools, Kubernetes, and version synchronization to production Docker Engines. Docker Desktop allows you to leverage certified images and templates and your choice of languages and tools. Development workflows leverage Docker Hub to extend your development environment to a secure repository for rapid auto-building, continuous integration, and secure collaboration.
Kubernetes Advantages
Why use Kubernetes?
Kubernetes has become the standard orchestration platform for containers. All the major cloud providers support it, making it the logical choice for organizations looking to move more applications to the cloud.
Kubernetes provides a common framework to run distributed systems so development teams have consistent, immutable infrastructure from development to production for every project. Kubernetes can manage scaling requirements, availability, failover, deployment patterns, and more.
Kubernetes’ capabilities include:
- Service and process definition
- Service discovery and load balancing
- Storage orchestration
- Container-level resource management
- Automated deployment and rollback
- Container health management
- Secrets and configuration management
What are the advantages of Kubernetes?
Kubernetes has many powerful and advanced capabilities. For teams that have the skills and knowledge to get the most of it, Kubernetes delivers:
- Availability. Kubernetes clustering has very high fault tolerance built-in, allowing for extremely large scale operations.
- Auto-scaling. Kubernetes can scale up and scale down based on traffic and server load automatically.
- Extensive Ecosystem. Kubernetes has a strong ecosystem around Container Networking Interface (CNI) and Container Storage Interface (CSI) and inbuilt logging and monitoring tools.
However, Kubernetes’ complexity is overwhelming for a lot of people jumping in for the first time. The primary early adopters of Kubernetes have been sophisticated, tribal sets of developers from larger scale organizations with a do-it-yourself culture and strong independent developer teams with the skills to “roll their own” Kubernetes.
As the mainstream begins to look at adopting Kubernetes internally, this approach is often what is referenced in the broader community today. But this approach may not be right for every organization.
While Kubernetes has advanced capabilities, all that power comes with a price; jumping into the cockpit of a state-of-the-art jet puts a lot of power under you, but how to actually fly the thing is not obvious.
Get Started with Docker
Docker Desktop
Developer productivity tools and a local Kubernetes environment
Docker Hub
Cloud-based application registry and development team collaboration services.
Play with Docker
Cloud-based docker environment to try out docker and learn the ropes.