I see this all over the place in documentation, blog posts, scripts, articles, etc: kubectl exec -it my-pod -- do_something_here These type options have the following help text: -i, --stdin=f...
Search Through Azure Locations and Their Names
When you’re working with the Azure CLI, locations are one of the most commonly used parts of commands you have to write. Some of them are really easy to remember, like eastus. But others may be a l...
Access the OS Disk from an Inaccessible Azure Linux VM
When working with Linux VMs in Azure, there can be a few situations where your VM is not accessible. Say, for instance, you receive an OS provisioning timeout error. This is just one example, but i...
Azure Linux VM SSH Error - Permission denied (publickey)
When you are working with Linux VMs (IaaS) in Azure, the most common way to access the VM is through Secure Shell (SSH). A common issue when you’re trying to SSH into your Linux VM for the first ti...
AKS StorageClass Objects and Provisioners
Storage (typically) plays a large role in software systems. With Kubernetes that is, of course, no different. The way Kubernetes handles storage can be a little confusing, especially in cloud-provi...
Azure CLI Tips and Tricks
As a software engineer, I’m working with Azure on a daily basis. Like most things in my daily computing life, I choose the terminal (and keyboard) over a GUI (and mouse). My development and interac...
Azure Active Directory Service Principals and Permissions from the Azure CLI
A lot of us, especially in the non-Windows world, rely heavily on the Azure CLI to do our day-to-day jobs: As engineers, developers, administrators, etc. When dealing with Azure, you are destined t...
Simple vs Oneshot - Choosing a systemd Service Type
This post is intentionally thorough, but if you’re just looking for a summary and when to use which service type, jump down below. When you are creating your systemd service, choosing a service ty...
Why Feature Flags Are Great
The rhythm that we develop software is at a high velocity, and as a software engineer I really like to take a step back and think about what works really well, and what doesn’t work really well. In...
Kubernetes Application Upgrade Synchronization With Helm
There is a long list of benefits to running applications on Kubernetes, but complexity of the application lifecycle can come along with this added layer. Upgrading software is one of the most compl...