Ales Nosek - The Software Practitioner

Helping you navigate the world of Kubernetes.

Apr 21, 2020 - Comments - devops

Openshift UPI using Static IPs

Recently, I have been working on the openshift-auto-upi project, which automates UPI deployments of OpenShift. I was looking for a way to configure OpenShift nodes with static IP addresses. After several failed attempts, I found a working approach that can be easily automated. If you prefer using static IPs over the default DHCP provisioning, please read on as I share my approach with you.

The blog is published at

Oct 8, 2019 - Comments - development

Open Policy Agent, Part I — The Introduction

Recently I was looking for a way to implement access control for microservices. I needed a solution that would allow defining complex authorization rules that could be enforced across many services. After searching the web, I discovered a very promising Open Policy Agent project that seems to be the right tool for the job. In this series of three blog posts, I am going to introduce Open Policy Agent to you and highlight how it can help you.

Sep 23, 2019 - Comments - events

Future-Proof Monolithic Applications with Modular Design

The Cloud Native Virtual Event, presented by Red Hat, is coming up on October 10th, 2019. As part of the Development track, I will be co-presenting on the topic: Future-proof monolithic applications with modular design. If you are interested in hearing Eric Murphy and myself discussing the development of highly-modular applications, you can register for the event here. As part of our presentation, we will be demonstrating a sample Quarkus + Vert.x application that can be deployed both as a monolith or as a set of microservices while using the same code and modular design.

Aug 19, 2019 - Comments - cloud devops

Configuring Envoy to Auto-Discover Pods on Kubernetes

Pods on Kubernetes are ephemeral and can be created and destroyed at any time. In order for Envoy to load balance the traffic across pods, Envoy needs to be able to track the IP addresses of the pods over time. In this blog post, I am going to show you how to leverage Envoy’s Strict DNS discovery in combination with a headless service in Kubernetes to accomplish this.

Aug 5, 2019 - Comments - development

Troubleshooting the Performance of Vert.x Applications, Part III — Troubleshooting Event Loop Delays

In the previous entry to this series, we reviewed several techniques that help you to prevent event loop delays. However, even the best programmer makes mistakes. What should you do when your Vert.x application doesn’t perform as expected? How to find out what part of your code is blocking the event loop threads? In the final part of the series, we are going to focus on troubleshooting event loop delays.