Overview: Container development using Podman, Podman Desktop, and Kubernetes
Looking to learn how to create, manage, and deploy containers? This learning path demonstrates the full lifecycle of how you can go from an initial application, to a container, to a fully running Pod on Kubernetes in 30 minutes using Podman Desktop and the Developer Sandbox. Here is a rundown of key technologies you’ll be using:
- Container: An isolated environment containing everything your application needs to run.
- Image: The blueprint for a container, including the application and its dependencies.
- Pod: The smallest deployable unit in Kubernetes, often containing one or more containers.
- Kubernetes: An open-source platform for automating deployment, scaling, and operations of application containers.
Together, these components represent a complete ecosystem for developing, packaging, and managing applications in an efficient, scalable manner.
Prerequisites:
- A Developer Sandbox account. See How to access the Developer Sandbox for a step-by-step guide.
- The OpenShift command line tool,
oc
. You can find the installation instructions on this page. - Podman Desktop installed locally, which will guide you through installing Podman if necessary.
- The Git command-line interface (CLI), which will help us to download the example Python front-end application.
- Access to a container registry, such as Quay.io or Docker Hub, where we can push our containerized image to be used remotely.
In this learning path, you will:
- Build a container image from a sample Python application using Podman.
- Start the two running containers that form one microservice-based application.
- Create a Kubernetes pod using two containers.
- Deploy the pod to the Developer Sandbox.
- Update the original Python application and deploy it.
What you will learn
When you have finished this activity, you will know how to use Podman Desktop and the Developer Sandbox for iterative development of services as well as how to alter a route—the URL—to instantly switch between application versions, also known as a blue/green deployment.
Programming languages
The front-end (web) app for this learning path is written in Python. You do not need to know Python to complete this learning path.
If you need help
If you get stuck, if something isn’t working, or you simply have questions, you can easily contact us via email at devsandbox@redhat.com.