I had the opportunity to present at OSCON 2018 this year. My session was Herding cat pictures: How to develop, deploy, and operate services at Reddit scale. I talked through our rapid growth as an engineering org, some of the growing pains that resulted, and how we shifted our Infrastructure team from operations to enablement.
Thanks to some excellent work by the Helm Summit organizers, we have recordings for all of the sessions. I've posted mine (Helm at Reddit: From Local dev, staging, to production) for your enjoyment/merciless criticism/amusement.
After a lengthy delay, python-colormath 3.0.0 has been released. The big changes are requiring networkx>=2.0 and shifting our Python 3 support from 3.3/3.4 to 3.5/3.6. See the release notes for the full details.
I'll probably give this release a while to simmer in the wild to make sure I didn't break anything. At some arbitrary point in the next few months, I intend to archive python-colormath in Github so users understand that it will no longer be maintained. This codebase is now ten years old, needs more love than I can afford to give it, and I'm very far from this subject matter these days.
If you are interested in taking the reigns, please get in touch with me and we can talk potential fit!
Update: Jan 2018
We have some preliminary interest, so the project remains un-archived. We're working through a few updates and will see if activity remains steady enough to transfer the project over!
As an excuse to learn more about Helm, I put together a chart for Minecraft dedicated server. You too can fire up a Minecraft server on your Kubernetes cluster:
$ helm install --set minecraftServer.eula=true minecraft
In those cases where you need a throw-away interactive shell within your cluster:
$ kubectl run my-shell --rm -i --tty --image ubuntu -- bash
You may, of course, use a different image or shell. Some of the arguments explained:
- my-shell: This ends up being the name of the Deployment that is created. Your pod name will typically be this plus a unique hash or ID at the end.
- --rm: Delete any resources we've created once we detach. When you exit out of your session, this cleans up the Deployment and Pod.
- -i/--tty: The combination of these two are what allows us to attach to an interactive session.
- --: Delimits the end of the kubectl run options from the positional arg (bash).
- bash: Overrides the container's CMD. In this case, we want to launch bash as our container's command.
Note that you'll need to update your apt cache before you can install packages:
$ apt update $ apt install cowsay
Once you are done with your tinkering:
Post-exit, the Deployment and Pod that kubectl created will both be stopped and deleted, taking with it our container and anything we did within it.