Run PHP containers in production with Kubernetes (part 2)
After containerizing your application, the next step is to deploy your application containers to production. While you could start a Docker container manually on a production server, that would not be the most robust solution. How will you deploy a new version of the application without downtime? How will you safely handle secrets, such as database passwords or external API keys? How will you deal with a sudden spike of users? How will you deal with a crash of your application or server?
Instead of re-inventing the wheel for all these questions, let’s use Kubernetes, a proven platform that can handle these challenges for us. In this interactive workshop, we will deploy a PHP application to a Kubernetes cluster, using the most commonly used building blocks of Kubernetes such as Pods, Deployments, Secrets, Services, Ingresses, CronJobs, and more. We will also configure Liveness and Readiness Probes to monitor the health of our applications, and autoscaling to scale our application up and down based on the load. We will also deal with questions specific to PHP and web applications such as how to deal with (Doctrine) database migrations.
To use the time as efficient as possible you are expected to bring your own laptop with Docker and kubectl already installed. During the workshop you are expected to have some basic knowledge of the command line, Linux commands, and Docker.