Over the past month, I started rebuilding the Raspberry Pi Dramble project using Kubernetes instead of installing and configuring the LEMP stack directly on nodes via Ansible (track GitHub issues here). Along the way, I've hit tons of minor issues with the installation, and I wanted to document some of the things I think turn people away from Kubernetes early in the learning process. Kubernetes is definitely not the answer to all application hosting problems, but it is a great fit for some, and it would be a shame for someone who could really benefit from Kubernetes to be stumped and turn to some other solution that costs more in time, money, or maintenance!
Back in 2015, I wrote a popular post comparing the performance of a number of microSD cards when used with the Raspberry Pi. In the intervening three years, the marketplace hasn't changed a ton, but there have been two new revisions to the Raspberry Pi (the model 3 B and just-released model 3 B+). In that article, I stated:
One of the highest-impact upgrades you can perform to increase Raspberry Pi performance is to buy the fastest possible microSD card—especially for applications where you need to do a lot of random reads and writes.
Three generations of multi-core Pi: model 2 B, model 3 B, model 3 B+
Whether it's been a 6-node Raspberry Pi cluster running Drupal 8, or a distributed home temperature monitoring application, I use Raspberry Pis for a wide variety of fun projects. The Raspberry Pi model 3 B+ is the latest iteration of the 'top of the line' Pi, with all the bells and whistles, and it still comes in at just $35. This year's iteration improves the CPU frequency, wired LAN performance, and WiFi performance, among other smaller changes, and I ordered one and have taken it for a spin.
What follows are my benchmarks and impressions after a couple weeks poking and prodding the new model 3 B+.
The original Raspberry Pi Camera model v1.3 came from the factory set to ∞ (infinity) focus, so when you used it out of the box for something like a landscape timelapse rig, or for security or monitoring purposes (where the Pi is at least 5 meters away from the subjects it's recording), everything would look crisp and sharp.
For many fixed-focus cameras and lower-end camera sensors, it makes sense to set them to infinity focus; closer objects are still recognizable, but slightly blurry. Most of these cameras don't need to focus on a person a meter away for a portrait, and they're also rarely used for FaceTime-like video chat.
For my Raspberry Pi Time-Lapse App, I find myself having to either copy hundreds (or thousands!) of 3+ MB image files, or a 1-2 GB video file from a Raspberry Pi Zero W to my Mac.
Copying over the WiFi network works, but it's extremely slow (usually topping out around 5 Mbps... which means it could take a couple hours to copy). So I decided to finally try to mount the Raspberry Pi's drive directly on my MacBook Pro (running macOS Sierra 10.12). This is normally a bit tricky, because the Raspberry Pi uses the Linux
ext4 filesystem—which is not compatible with either macOS or Windows!
Pi Hole is a nifty open source project that allows you to offload the task of blocking advertisements and annoying (and often malicious) trackers to a Raspberry Pi. The installation is deceptively simple (a
curl | bash affair), but I wanted to document how I set up mine headless (just plugging the Pi into power and the network).
Set up Raspbian Lite
I bought a Raspberry Pi model 2 B along with the official Raspberry Pi foundation Case. Then I bought a Samsung Evo+ 32GB microSD card (which comes with a full-size SD card adapter), and did the following steps on my MacBook Pro to set up the Pi's OS:
tl;dr: There are many ways to capture time-lapse videos. But this one is cheap, completely wireless, and mine. If you want to skip the post and go straight for the glory, grab a copy of my Time-lapse app for the Raspberry Pi.
Time-lapses transform subtle, slow processes into something beautiful, and often make us think about things in new ways. For example, have you ever thought about just how heavy a wet snow is? The trees in your yard might know a thing or two about that! Check out a time-lapse I recorded this morning some mighty oak tree branches, as they relaxed upward as if in relief from the wet snow falling off:
I recently found a discount code through SlickDeals for $10 off the Elecrow 5" HDMI Touchscreen display for the Raspberry Pi. Since the Raspberry Pi was introduced, I've wanted to try out one of these mini screens (touchscreen or no), but they've always been prohibitively expensive (usually $60+).
This screen hit the right price (even regular price is $40, which is near my 'okay for experimentation' range), and I picked it up, not knowing what to expect. I've had mixed experiences with Pi accessories from Amazon, and had never tried a product from Elecrow.
A few months ago, when I spoke at php[tek] in St. Louis, I had the honor of being interviewed by Cal Evans on the Voices of the elePHPant podcast! In the interview, we discussed Drupal 8, Acquia, the Raspberry Pi Dramble, and the PHP community.
Check out the interview: Interview with Jeff Geerling - Voices of the elePHPant.
There's also a video recording of the podcast, embedded below:
Tonight, after I made a couple changes to my wired in-house Gigabit network (I recently added a few Cat6 runs after moving my main Wireless router—in this case an AirPort Extreme base station), I noticed the Raspberry Pi webserver that was hosting www.pidramble.com wasn't reachable over the network, and Server Check.in started reporting an outage.
I have that particular device set using a DHCP Reservation based on it's MAC address, and it's been working like a champ for over a year. So something was strange, since I hadn't made any networking configuration changes on the Pi itself in a few months, nor had I unplugged it at all in the past month.