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.
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?
Always Powerful, Occasionally Unwieldy
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.
Docker Simplifies Kubernetes for the Masses
The Docker platform includes a secure and fully-conformant Kubernetes environment for developers and operators of all skill levels, providing out-of-the-box integrations for common enterprise requirements while still enabling complete flexibility for expert users.
Why Docker for Kubernetes
No learning curve to get started with Kubernetes -- just a push of the button using Docker Desktop to bring the simplicity of Docker containers to Kubernetes.
Run Kubernetes in production and at scale with Docker Enterprise, leveraging built-in encryption and advanced role-based access controls.
Full Platform Integration
An integrated desktop and image registry solution for a complete and secure software supply chain from the development to production.
Container Orchestration Choice in the Same Cluster
Running both Swarm and a conformant distribution of Kubernetes interchangeably in the same cluster means IT can build an environment that allows developers to choose how they want to deploy applications at runtime.
Teams can deploy applications to Swarm today and migrate these same applications to Kubernetes using the same Docker Compose file. Applications deployed by either orchestrator can be managed through the same control plane, allowing you to scale more efficiently.
CI/CD and DevOps That’s Secure By Design
Docker Enterprise makes CI/CD and DevOps possible with a secure software supply chain—and makes it easy to implement with built-in Kubernetes.
With the Docker platform, applications become immutable objects that can be passed securely along the CI/CD pipeline. Vulnerability scanning and Docker Content Trust ensure uninterrupted provenance of your application content as it progresses from development to test, to QA and staging and production.
“We needed an enterprise container platform that could support our legacy VMware infrastructure with .NET and Java applications, let us run Swarm and Kubernetes and give us the ability to run in the cloud. Docker Enterprise was the only solution that met all of our criteria.””
Additional Kubernetes Resources
Kubernetes Made Easy with Docker Enterprise
Docker Kubernetes Service
Docker and Kubernetes, Better Together