Author image

Alen Komljen

Total 37 Posts

Helping companies to embrace Cloud Native.

  • Sarajevo
kubernetes, api, kube tips

Kubernetes API Resources: Which Group and Version to Use?

Kubernetes uses declarative API which makes the system more robust. But, this means that we create an object using CLI or REST to represent what we want the system to do. For representation, we need to define things like API resource name, group, and version. But users get confused. The main reason for the confusion is that we as humans are not good at remembering things like this. In one deployment definition you could see this apiVersion: apps/v1beta2, and ...

kubernetes, dev.to, howto

How to Run Dev.to on Kubernetes

Recently I was checking Dev.to community. I must say, I really like how the application looks, clean and simple. And more important I like the community there. I also started to republish some posts because I want to show Kubernetes to the larger audience, preferably developers. But, any time I check something new I get some new ideas. This time I saw that Dev.to is open source and thought, it would be pretty interesting for people to see ...

kubernetes, ingress, contour, envoy, proxy

Kubernetes Contour Ingress Controller for Envoy Proxy

Most users while starting to learn Kubernetes will get to the point of exposing some resources outside the cluster. This is like a Hello World example in the Kubernetes world. And in most cases, the solution to this problem is the ingress controller. Think of ingress as a reverse proxy. Ingress sits between the Kubernetes service and Internet. It provides name-based routing, SSL termination, and other goodies. Often when approaching this problem users will choose Nginx. And the reason is ...

kubernetes, addons, plugins

Kubernetes Add-ons for more Efficient Computing

I will say that "starting" a Kubernetes cluster is a relatively easy job. Deploying your application to work on top of Kubernetes requires more effort especially if you are new to containers. For people that worked with Docker this can also be a relatively easy job, but of course, you need to master new tools like Helm for example. Then, when you put all together and when you try to run your application in production you will find out there ...

blogging, self development

The Importance of Tech Blogging

I have a lot to share when it comes to blogging. This is actually my third tech blog and a pretty successful one. Yay, finally! :) It's a shame that really good engineers, with a lot to share often find excuses to not start blogging. Usually, you will hear things like "I have no time for writing" or they just don't see the point. They don't understand how the blog can help them professionally among other things. Now, more than ever ...

kubernetes, oauth, proxy, authentication

Protect Kubernetes External Endpoints with OAuth2 Proxy

Sometimes you just want to expose some services that don't have any authentication mechanism. Many users have this issue, especially with Kubernetes, because it is damn easy to expose any service over ingress and also to have HTTPS by default with Let's Encrypt. The missing piece could be authentication in the application you want to expose. In this case, we can always leverage external authentication from GitHub, Google, and many others via OAuth. This is where OAuth2 Proxy comes into ...

https, letsencrypt, kubernetes, ingress

Get Automatic HTTPS with Let's Encrypt and Kubernetes Ingress

A few days ago I read a great post from Troy Hunt about HTTPS. The title "HTTPS is easy" is there for a good reason! HTTPS is easy, especially with the platforms like Kubernetes. Unfortunately, not all people agree with this. I understand that for some huge organizations moving all traffic to HTTPS is not trivial, but for all others saying how Google is evil with forcing it is just nonsense. You should use HTTPS for every external endpoint and ...

monthly update

Monthly Update 4

Welcome to another monthly update. Last week I was on vacation in Brela, Croatia. Really beautiful place. So, I feel fresh again to start writing. I wrote only three articles in June and one of them was the last monthly update. Definitely not happy with that. I need to write more.This view tho! pic.twitter.com/pMKCCbCCtH— Alen Komljen (@alenkomljen) June 26, 2018 My UpdatesAs you already know this blog is running with Ghost. The default editor was ...

kubernetes, ingress, aws

AWS Cost Savings by Utilizing Kubernetes Ingress with Classic ELB

A few months ago I wrote an article about Kubernetes Nginx Ingress Controller. That article is actually the second most popular post on this blog. It's focused on using Kubernetes ingress for on-premises deployments. But, most of the users run Kubernetes on AWS and other public cloud providers. The problem is that for each service with LoadBalancer type, AWS will create the new ELB. And that can be pricey. With Kubernetes ingress you will need only one. How Does it ...

serverless

Serverless: The New Way of Thinking

I'm preparing the first CNCF meetup in Sarajevo and thinking about what would be interesting to present at the first meetup. Of course, I will talk a little bit about CNCF in general, but I want something interesting for the second talk. Something that will bring more developers to future CNCF meetups. And, as you can guess it will be about Serverless. I'm not expert in this area, but I like the idea. My colleague, Andan Rahic loves to write ...

monthly update

Monthly Update 3

It took me a while to write this update. A lot of is going on in my private life and it is hard to find some free time to write. But, I enjoy writing and sharing. There are some great and important things I want to share in this monthly update. My Updates A few weeks ago I created Cloud Native meetup group in Sarajevo. In Sarajevo we don't have any DevOps or Cloud Native related meetups. But, I know ...

kubernetes, autoscaling, aws

Kubernetes Cluster Autoscaling on AWS

Make no mistake, running a production Kubernetes cluster is not that easy. And, unless you use cloud resources smart you will be spending a lot of money. You only want to use resources that are really needed. When you deploy Kubernetes cluster on AWS, you define min and max number of instances per autoscaling group. You want to watch Kubernetes cluster and on insufficient resources to scale up. Also to scale down when you have underutilized nodes. The piece of ...