Running Drupal in Kubernetes with Docker in production

Update : Since posting this, there have been some interesting new developments in this area, for example:

Since 2014, I've been working on various projects which containerized Drupal in a production environment. There have always been a few growing pains—there


Drupal VM 5 ('Flynn Lives') brings updates to all the things!

It's been five years since Drupal VM 's first release, and to celebrate, it's time to release Drupal VM 5.0 "Flynn Lives" ! This update is not a major architectural shift, but instead, a new major version that updates many defaults to use the latest versions of the base VM OS and application software. Some of the new default versions include:

  • Ubuntu 18.04 'Bionic' LTS (was Ubuntu 16.04)
  • PHP 7.2 (

Drupal 8 successes and failures

Thoughts about Drupal 8, Drupal 7, Backdrop, the Drupal Community, DrupalCon's meteoric price increases, DrupalCamps, and the future of the framework/CMS/enterprise experience engine that is Drupal have been bubbling up in the back of my mind for, well, years now.

I am almost always an optimist about the future, and Drupal 8 promised (and usually delivered ) on many things:

  • Vastly improved content administration
  • Views in core, and even better than ever
  • Media in core
  • Layouts in core
  • Modern programming paradigms

Running 'php artisan schedule:run' for Laravel in Kubernetes CronJobs

I am working on integrating a few Laravel PHP applications into a new Kubernetes architecture, and every now and then we hit a little snag. For example, the app developers noticed that when their cron job ran ( php artisan schedule:run ), the MySQL container in the cluster would drop an error message like:

2019-03-27T16:20:05.965157Z 1497 [Note] Aborted connection 149

Display webcam content overlaid on your presentation on a Mac

For my Raspberry Pi Dramble presentation, Everything I know about Kubernetes I learned from a cluster of Raspberry Pis , I wanted to be able to show all of the audience—who could be dozens or hundreds of feet away—a tiny Raspberry Pi cluster of computers, which is in total about the size of a cantaloupe.

Logitech webcam and Raspberry Pi Dramble Cluster for presentation

I wanted to find a way to display an external USB webcam (in my case this Logitech 1080p webcam ) live picture, overlaid on my presentation. I


Basement electrical work - electric dryer and clothes washer wiring

The Geerling household is preparing for the largest home project to date; and while my wife and I have decided to spend a bit extra to have a contractor do the work for the actual kitchen reno, we are still doing what we can to maintain a functional household during the extensive refurbishment of our original kitchen, dining, and laundry area to make it a lot more amenable to our family lifestyle (our current layout is difficult with three kids and two kitchen peninsulas!).

'Phase 1', as I'


The 2019 Drupal Local Development Survey (updated with results)

Update : The results are available for viewing in our presentation slides: download the 2019 Drupal Local Development presentation (PDF) . There is also a video of the survey results presentation from DrupalCon Seattle .

It's that time of year again! Leading up to DrupalCon Seattle, Chris Urban and I are working on a presentation on Local Development environments for Drupal, and we have just opened up the 2019 Drupal Local Development Survey .

Local development environments - 2018 usage stats

Local development environment usage results from 2018's

Monitoring Kubernetes cluster utilization and capacity (the poor man's way)

If you're running Kubernetes clusters at scale, it pays to have good monitoring in place. Typical tools I use in production like Prometheus and Alertmanager are extremely useful in monitoring critical metrics, like "is my cluster almost out of CPU or Memory?"

But I also have a number of smaller clusters—some of them like my Raspberry Pi Dramble have very little in the way of resources available for hosting monitoring internally. But I still want to be able to say, at any given moment, "


Expanding K8s PVs in EKS on AWS

If that post title isn't a mouthful...

I'm excited to be moving a few EKS clusters into real-world production use after a few months of preparation. Besides my Raspberry Pi Dramble project (which is pretty low-key), these are the only production-grade Kubernetes clusters I've dealt with—and I've learned a lot . Enough that I'm working on a new book.

Anyways, back to the main topic: As of Kubernetes 1.


How I upgrade Drupal 8 Sites with exported config and Composer

tl;dr : See the video below for a run-through of my process upgrading Drupal core on the real-world open source Drupal 8 site codebase Drupal Example for Kubernetes .