Tag: kubernetes

Total 31 Posts
kubernetes, descheduler

Meet a Kubernetes Descheduler

The kube-scheduler is a component responsible for scheduling in Kubernetes. But, sometimes pods can end up on the wrong node due to Kubernetes dynamic nature. You could be editing existing resources, to add node affinity or (anti) pod affinity, or you have more load on some servers and some are running almost on idle. Once the pod is running kube-scheduler will not try to reschedule it again. Depending on the environment you might have a lot of moving parts. In ...

kubernetes, efk, monitoring, logs

Get Kubernetes Logs with EFK Stack in 5 Minutes

Last week I wrote about getting Kubernetes cluster metrics with Prometheus. Metrics are only one part of the story. Logs are essential as well, and luckily we have a great set of tools that will help us to create simple and easy logging solution. In this post, I will show you how to start monitoring Kubernetes logs in 5 minutes with EFK stack (Elasticsearch, Fluent Bit, and Kibana) deployed with Helm and Elasticsearch operator. Previous post Just blogged: Get #Kubernetes ...

kubernetes, prometheus, monitoring, metrics

Get Kubernetes Cluster Metrics with Prometheus in 5 Minutes

To have a Kubernetes cluster up and running is pretty easy these days. However, when you start to use it and deploy some applications, you might expect some issues over time. Kubernetes being a distributed system is not easy to troubleshoot. You need a proper monitoring solution, and because the Prometheus is CNCF project as Kubernetes, it is probably the best fit. In this post, I will show you how to get the Prometheus running and start monitoring your Kubernetes ...

kubernetes, persistent storage

Kubernetes Persistent Volumes with Deployment and StatefulSet

I get many questions about Kubernetes and persistence. Of course, persistence is essential for stateful apps. We often say that for stateful apps you need to use StatefulSet and for stateless apps a Deployment. It doesn't mean that you couldn't run stateful apps using deployments with persistent volumes. For example, the official MySQL Helm chart is using deployment. So, it can be done, but users get confused about this. What is the deal? When should you use deployment and when ...

kubernetes, drone, ci/cd, pipeline

Set Up a Drone CI/CD Pipeline with Kubernetes

I like to say that continuous delivery or CD is the most important part of Cloud Native. There are so much great tools out there and you need to pick up the right ones. A few weeks ago I was writing almost about the same topic, only with Jenkins. While the Jenkins is the most used CI/CD tool, not every team is happy with it. Jenkins has a huge number of plugins and the great set of features, but ...

kubernetes, ceph, persistent storage

Using Existing Ceph Cluster for Kubernetes Persistent Storage

I wrote about Rook storage a few weeks ago, but maybe you already have Ceph cluster running in your datacenter. Or you prefer to use Ceph on separate nodes and without Kubernetes. Also, currently Rook is alpha software and not ready for production use. I would assume that this large Ceph cluster if you have one, is also used for other services outside Kubernetes. Whatever is the case it is simple to connect Ceph and Kubernetes together to provision persistent ...

kubernetes, persistent storage, resize

Easy Way to Resize Kuberntes Persistent Volumes

The previous post about Rook got great attention from the community. But, I also got a lot of questions about persistence on Kubernetes in general. Among many questions, there were a few about resizing persistent volume claims or PVCs. If you are using on-premises storage solutions like Ceph (Rook) this is not the big issue. The part of the reason is that when you create a volume in Ceph, let's say a 100GB, this space is not actually allocated. But, ...

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 running, ...

kubernetes, jenkins, ci/cd, pipeline

Set Up a Jenkins CI/CD Pipeline with Kubernetes

Continuous integration and delivery or CI/CD is the most crucial part of DevOps, and cloud-native too. CI/CD connects all the bits. With Kubernetes cluster deploying Jenkins server is easy. Of course thanks to Helm. The hard part is creating pipeline which builds, deploys and test your software. The focus of this post is understanding the Jenkins pipeline and what is happening in the background when running on Kubernetes. Deploy Jenkins on Kubernetes Deploying Jenkins is the easy part ...

kubernetes, applications, troubleshooting

Learn How to 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. The list keeps growing really fast. So, all this is a good thing. But, there is also a small problem. People run some commands that they don't quite understand. It can be a copy/paste ...

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 much stuff with it. Having a service mesh seemed like overhead to me. You often have some API which is available only on the internal network. However, this is not the case anymore with modern applications. The API is probably exposed to the Internet as ...

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. ...