
Learn the core tools for deploying and backing up Postgres on Kubernetes, including Docker, helm, and cronjobs, with a local Docker Desktop setup and a 30-minute backup schedule.
Describe the architecture for building a custom postgres image with backup and restore scripts, using Docker Hub, Helm, and GitHub, all on a local Kubernetes with cron jobs.
Install Docker Desktop, kubectl, and Helm; list Kubernetes contexts, and set up Docker Hub and GitHub repositories to prepare the environment for Helm charts and a custom Postgres image.
Explore how to deploy Postgres on Kubernetes using a Bitnami Helm chart, customize values.yaml, and prepare Docker images and Bash scripts for backups with cronjobs.
Learn to build a cronjob helm chart from scratch to automate Postgres backups, configure the schedule in values YAML, and assign a service account with permissions.
Create bash scripts for Postgres backup and restore, name backups by date and hour, set PG password, and save as .sh for a custom Postgres Docker setup.
Build and publish a custom Postgres docker image by extending the bitnami base, adding backup and restore scripts, setting ownership and permissions, and updating the helm chart to use it.
Push code to a Postgres GitHub repo by creating a local repo, staging with git add, committing, and pushing, then pull for deployment on another computer, while noting password handling.
Pull the code from the GitHub Postgres repo into a local git folder, clone the master branch, and verify the code is ready for deployment.
deploy a Postgres instance on Kubernetes with helm, validate the installation, inspect the pod and PVCs, and examine backup and restore scripts in the custom scripts directory.
Log into a running Postgres instance, switch to the Postgres database, create an employees table with three rows, and prepare to back up the database using a cron job.
Deploy the cronjob to automate postgres backups, edit schedules, and validate success; update the api version to batch v1 and trigger runs every five minutes.
Restore the employees table by accessing the Postgres pod and running the restore script or SQL command from a backup file, showing a solid Kubernetes cronjob backup strategy.
Clean up a helm-managed Postgres deployment by listing releases, deleting with helm delete, and removing PVCs and PVs to fully decommission on Kubernetes. Redeploy using steps from earlier chapters.
Deploy a Postgres database server on a local Kubernetes instance and automate the database backups using Kubernetes cronjobs. Docker Desktop will be used to provision the local Kubernetes environment.
Technical details:
Set Up a Local Kubernetes Environment: Use Docker Desktop to provision a Kubernetes cluster, making cloud-native development simpler and more accessible for hands-on practice.
Hands-On DevOps for Modern Applications: Build, deploy, and manage applications on Kubernetes with GitHub, Helm, Docker, and bash scripting.
Backup and Restore Automation with Bash Scripts: Write and implement scripts to back up and restore PostgreSQL data, leveraging Kubernetes CronJobs for seamless automation.
Building & Publishing Docker Images: Learn to create custom Docker images and publish them on Docker Hub, preparing you for robust deployment processes.
Master Version Control with GitHub: Use GitHub to host application code, manage versions, and collaborate effectively across deployments.
Efficient Application Management with Helm: Manage Kubernetes applications using Helm—install, delete, and roll back versions for streamlined operations.
Introduction to PostgreSQL Essentials: Gain hands-on experience with PostgreSQL by creating tables, managing data, and navigating a PostgreSQL instance.
Using Architectural Diagrams for Technical Communication: Understand and use architectural diagrams to communicate your deployment architecture effectively.
Automate Backups with Kubernetes CronJobs: Configure a Kubernetes CronJob to automate PostgreSQL backups, simplifying maintenance and ensuring data integrity.
Essential Kubernetes Commands for Troubleshooting: Learn to view logs, identify and resolve deployment issues, and execute key commands for effective Kubernetes management.
Manual Backup Restoration: Restore PostgreSQL backups manually with a bash script, gaining a full-cycle understanding of backup and recovery.
Interactive Quizzes for Concept Reinforcement: Test your knowledge with quizzes at the end of each section to reinforce your learning.
At the end of each section you will be quizzed on the concepts which were introduced to reinforce what you learned. Ultimately, after completing this course, you would be able to architect and deploy modern applications on Kubernetes and automate various workflows.