Chapter 2. Creating and Running Containers
Kubernetes is a platform for creating, deploying, and managing distributed applications. These applications come in many different shapes and sizes, but ultimately, they are all comprised of one or more programs that run on individual machines. These programs accept input, manipulate data, and then return the results. Before we can even consider building a distributed system, we must first consider how to build the application container images that contain these programs and make up the pieces of our distributed system.
Application programs are typically comprised of a language runtime, libraries,
and your source code. In many cases, your application relies on external shared
libraries such as libc
and libssl
. These external libraries are generally
shipped as shared components in the OS that you have installed on a particular
machine.
This dependency on shared libraries causes problems when an application developed on a programmer’s laptop has a dependency on a shared library that isn’t available when the program is rolled out to the production OS. Even when the development and production environments share the exact same version of the OS, problems can occur when developers forget to include dependent asset files inside a package that they deploy to production.
The traditional methods of running multiple programs on a single machine require that all of these programs share the same versions of shared libraries on the system. If the different ...
Get Kubernetes: Up and Running, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.