Kubernetes Secret for Fleet Elasticsearch Agents

If you are having issues with your Elasticsearch Agents not getting the correct Fleet server enrollment token then this fix is for you. Elasticsearch support docs recommend adding the token as clear text in the Elastic agent daemonset manifest but here I show how to add it in the daemonset but as a kubernetes secret!
Read more


The NodeSelector Is My Mixed-CPU-Architecture Kubernetes Cluster's Best Friend!

I have an always growing Kubernetes cluster. I currently have a cluster made of 2 Raspberry Pis and 1 PC but HOW, isn't that frowned upon? Well, you can use the NodeSelector attribute to make the containers stick to specific nodes. The specifics we are covering in this article are the CPU architectures of the nodes since the Raspberry Pis run ARM and my PCs run AMD64.

Read more


Scale Down a specific node in Azure Kubernetes Service

Azure Kubernetes Service

In the past I've scaled up a cluster to test a new deployment or to provide extra compute during an upgrade but when it comes to scaling down AKS won't pick the node with less resources or even the drained one so I've seen it briefly disrupt a deployment.

To have more control on what AKS scales down you can use virtual machine scale set protection policies to specify which node to remove. Here's how to do so...

Read more


Add MinIO to an Elastic Cloud On Kubernetes ES Cluster to Snapshot or Restore Indices.

MinIO with ElasticSearch on Kubernetes

A client had an on prem deployment on bare metal and chose to use MinIO as a snapshot repository. We migrated to AKS and needed to restore the data in the new cluster. Initially we were going to Snapshot to an Azure Storage account but there were bugs on the old version ES containers which didn't allow us to register an Azure Repo (one of the many reasons to lift and shift) so we had to take the data off MinIO. There is not a lot of documentation out there so wanted to put it all together to help others.

Read more


Configuring snapshots for Elastic Cloud on Kubernetes with AKS and Azure Storage Accounts

Elastic Cloud on Kubernetes

We had the opportunity to migrate Elastic Cloud Enterprise running on bare metal to Azure. Initially we were going to spin up 3-5 VMs and install ECE with the Ansible role but then we found ECK and made our lives way easier. Migrating was very easy following Elastic's documentation and video posted here but we had a little trouble configuring the snapshots with an Azure Storage account that had a private link so in this article we share how we got it done.

Read more


Shifting from legacy VDI to an innovative containerized solution.


CDI / VDI enable lighter endpoints.

For the past few years I have been searching, learning and implementing different techniques to integrate DevOps practices with VDI. Most VDI solutions are using legacy solutions that require manual configurations, repetitive steps and no DevOps strategies for automation. The architects and engineers that notice this trend are creating their own orchestration around the costly vendor solutions. In my searching I found a few companies and repos that are providing containerized "desktop" solutions with graphical interfaces so that users can remote/console in and interact inside the container as they are accustomed to with a VDI or RDP. I found Kasm Technologies and, after reading their articles and configuring my POC, it became my personal favorite because it matched the vision and innovation I had in mind. A containerized desktop infrastructure (CDI) follows DevOps practices at its core with Docker and CI/CD Pipelines.

Read more


Adding an SMB/CIFS mount to your K8S Plex deployment to watch or migrate your existing content.

I like to use Plex to store and watch tech and financial videos, tutorials and seminars. Since I've been rebuilding my lab to use K8S and containers I needed to point the k8s Plex build to my existing data in my NAS. K8S has the concept of Persistent Volumes and Persistent Volume Claims which I explain in this article and how to use it with your microk8s KubePlex deployment.