kubernetes, rook, ceph, persistent storage

Rook: Cloud Native On-Premises Persistent Storage for Kubernetes on Kubernetes

Software defined storage is not something new. One of the most popular is Ceph. I started with Ceph five years ago because I was looking into unified storage for OpenStack. There are many other solutions, but I like the Ceph because it is all in one solution for the block, object and file storage, and it is opensource. Inktank the company behind Ceph is later acquired by RedHat, but that made things even better. If you already have Ceph cluster ...

kubernetes, jenkins, ci/cd, pipeline

Set Up a Jenkins CI/CD Pipeline with Kubernetes

Continuous integration and delivery or CI/CD is the most important part of DevOps, and cloud native too. CI/CD connects all the bits together. With access to Kubernetes cluster deploying Jenkins server is easy. Of course thanks to Helm. But, deploying Jenkins server is the easy part. The hard part is creating pipeline which will build, deploy and test your software. The focus of this post is understanding the Jenkins pipeline and what is happening in the background when ...

kubernetes, applications, troubleshooting

Troubleshoot Applications Running on Kubernetes

I'm writing a lot of about Kubernetes for a few months already. I like the idea of cloud native applications. There are a lot of easily installable applications for Kubernetes out there. One of the biggest resources of "Kube ready" applications is Kubeapps Hub. A week ago, when I submitted the Sematext Docker Agent to the stable charts repository there were 149 applications. At the time of writing, there is already 157 of them. It keeps growing really ...

kubernetes, service mesh

Kubernetes Service Mesh

A few months ago my colleague asked me what I think about integrating Linkerd to our new application running on Kubernetes. My first thought was, heck, isn't Kubernetes service and ingress enough? You can do a lot of stuff with it. Having a service mesh seemed like an overhead to me. You often have some API which is available only on the internal network. But, this is not the case anymore with modern apps. The API is probably exposed to ...

kubernetes, nginx, ingress

Kubernetes Nginx Ingress Controller

Ingress is the built‑in Kubernetes load‑balancing framework for HTTP traffic. With Ingress, you control the routing of external traffic. When running on public clouds like AWS or GKE the load-balancing feature is available out of the box. You don't need to define Ingress rules. In this post, I will focus on creating Kubernetes Nginx Ingress controller running on Vagrant or any other non-cloud based solution, like bare metal deployments. I deployed my test cluster on Vagrant, with kubeadm. ...

kubernetes, helm

Package your Kubernetes Applications with Helm

Writing a bunch of Kubernetes configuration files is not so much fun. For a few containers, you will end up with 10+ yaml files. Maintaining them is only one issue, but running in different environments or using the same files for CI/CD is a nightmare. You can always use some bash tricks to replace some values, but that is a bad practice. Here is where Helm comes into place. I should mention that there is also another interesting tool ...