Kris's Quick Cup of K8s #1

Starting a totally new Tech Tips subsection feels great - especially when it’s going to be purely dedicated to Kubernetes utilizing Azure Kubernetes Service (AKS) for demo purposes! :-) In this first edition I would like to demonstrate 4 helpful commands that can make your life easier when working with Kubernetes. AKS will be my Kubernetes distribution of choice. #1 - Live streaming of Pod logs Sometimes it can be really useful to monitor application’s logs, for instance when there are errors happening during application’s start-up or while it’s up and running. If you use kubectl logs <pod_name> -n <namespace> you will only get what’s been logged until the execution of command. In order to stream logs and follow them in real-time you will need to use -f flag (“f” for “follow”) with kubectl logs command, i.e. kubectl logs <pod_name> -n <namespace> -f. ...

March 4, 2022 · 3 min · Kristina Devochko

Cleaning up secrets in Azure DevOps and GitHub repositories with BFG Repo-Cleaner

Why should you care about secrets management? There are very few applications out there that don’t require a secret, an API key or a password of some kind. Secrets and sensitive values are a natural part of a software developer’s life and are tightly incorporated into software development process. With the vast and diverse amount of cybersecurity threats in the modern world proper secrets management hasn’t been as crucial and important as it is now. ...

February 22, 2022 · 13 min · Kristina Devochko

Power of --query in Azure CLI

Have you ever heard of or used query parameter when running Azure CLI commands? If not, I do recommend you checking it out because this is a pretty powerful parameter that can help you with much faster and efficient data retrieval and filtering! Let's use DNS records retrieval as an example: I need to update DNS records pointing to a specific IP, f.ex. 192.0.2.146. So, in order to retrieve all DNS records in respective DNS zone pointing to 192.0.2.146 with Azure CLI I could either: ...

February 13, 2022 · 3 min · Kristina Devochko

How to upgrade NGINX Ingress Controller with zero downtime in production

Introduction to the needs for upgrading Ingress Controller In some scenarios you may need to perform maintenance work on the Ingress Controller which can potentially result in downtime - in my case the time has come to move away from NGINX Ingress Controller for Kubernetes Helm chart located in stable repo and fully embrace the new Helm chart located in ingress-nginx repository. The reason for that is related to higher maintenance costs for the Helm repositories' maintainers which has become significantly more challenging with release of Helm 3. Therefore EOL timeline has been officially announced by CNCF and Helm back in 2020. You can read the official announcement as well as the reasoning behind deprecation of Helm repositories here: Important Helm Repo Changes & v2 End of Support in November. ...

January 14, 2022 · 16 min · Kristina Devochko

How to include new Kubernetes resource into existing Helm release

Helm is extremely useful and efficient when it comes to distributing, installing and upgrading applications hosted in Kubernetes. But sometimes you may have a need to patch an existing release and there is a quick way to do that which I would like to share with you today. A scenario I had to face was that I discovered missing PodDisruptionBudget on one of the production deployments and after this has been fixed in the source code I had therefore a need to add it to the existing Helm release to ensure configuration consistency. ...

October 21, 2021 · 8 min · Kristina Devochko