Technical Blog

Sharing technical insights and learnings from my journey in software engineering and cloud technologies

or

Also find my articles on

Show
per page

Showing 1-5 of 11 articles

Container Network Interface (CNI) in Kubernetes: An Introduction

One of the most important things in Kubernetes is to make sure network is correctly configured in the cluster, and pods can communicate with each other and the broader internet. In this article, we’re gonna learn about the Container Network Interface (CNI) and CNI plugins, what they’re supposed to do, and how they’re implemented. We’ll also see a simple CNI implementation in Go and Bash, and test it in a Canonical Kubernetes cluster.

1 min read
KubernetesNetworkingCNI+3 more

gRPC Name Resolution and Load Balancing on Kubernetes

Managing microservices in Go that communicate via gRPC on Kubernetes is a really common theme these days. You might have noticed that Load Balancing these gRPC requests and responses is not trivial. In my recent article I tried to dive deep in to the realm of gRPC Name Resolution and Load Balancing on Kubernetes in order to unwrap almost everything that we need to know regarding the matter, from the (tricky) problems we're facing all the way to the solutions and implementation details.

1 min read
KubernetesgRPCGolang+2 more

How Canonical Kubernetes CAPI Providers Handle In-Place Upgrades

Upgrading the machines of a Kubernetes cluster provisioned by the Cluster API can be achieved by utilizing In-Place upgrades. In Canonical Kubernetes, the orchestrated in-place upgrades happen by applying custom annotations on objects and reconciling those objects to reach the desired state (i.e. an upgraded object/cluster). In this blog, we’re gonna take a deep look at the inner workings of this process.

1 min read
KubernetesCanonicalGolang+3 more

Showing 1-5 of 11 articles

Thanks for reading!

Feel free to connect with me if you'd like to discuss software engineering or share your thoughts!