Category Archives: Virtualization

In computing, virtualization refers to the act of creating a virtual version of something, including virtual computer hardware platforms, storage devices, and computer network resources.

Kubernetes: Evicted pods and Pods Quality of Service

3 October 2020
 

 We have a Kubernetes cluster running on AWS Elastic Kubernetes Service. In this cluster, we have an application which is usually working fine but sometimes our monitoring system notifies about unhealthy pods: Check pods: [simterm] $ kk -n eks-prod-1-web-projectname-admin-backend-ns get pod NAME READY STATUS RESTARTS AGE bttrm-web-projectname-admin-backend-64648597fc-9j29n 1/1 Running 0 43m bttrm-web-projectname-admin-backend-64648597fc-kptjj 1/1 Running 0… Read More »

Redis: running Master-Slave replication in Kubernetes

29 September 2020
 

 The task is to spin up a Redis instance in a Kubernetes cluster. Will use the Master-Slave replication setup with Sentinels for monitoring and failover operations. Check the Redis: replication, part 2 – Master-Slave replication, and Redis Sentinel post for more details. Redis cluster vs Redis replication See Redis: replication, part 1 – an overview.… Read More »

AWS Elastic Kubernetes Service: load-testing and high-load tuning – problems and solutions

4 September 2020
 

 Actually, this post was planned as a short note about using NodeAffinity for Kubernetes Pod: But then, as often happens, after starting writing about one thing, I faced another, and then another one, and as a result – I made this long-read post about Kubernetes load-testing. So, I’ve started about NodeAffinity, but then wondered how… Read More »

Kubernetes: a cluster’s monitoring with the Prometheus Operator

13 August 2020
 

 Continuing with the Kubernetes: monitoring with Prometheus – exporters, a Service Discovery, and its roles, where we configured Prometheus manually to see how it’s working – now, let’s try to use Prometheus Operator installed via Helm chart. So, the task is spin up a Prometheus server and all necessary exporter in an AWS Elastic Kubernetes… Read More »

Kubernetes: HorizontalPodAutoscaler – an overview with examples

12 August 2020
 

 Kubernetes HorizontalPodAutoscaler automatically scales Kubernetes Pods under ReplicationController, Deployment, or ReplicaSet controllers basing on its CPU, memory, or other metrics. It was shortly discussed in the Kubernetes: running metrics-server in AWS EKS for a Kubernetes Pod AutoScaler post, now let’s go deeper to check all options available for scaling. For HPA you can use three… Read More »

Kubernetes: PersistentVolume and PersistentVolumeClaim – an overview with examples

5 August 2020
 

 For the persistent data Kubernetes provides two main types of objects – the PersistentVolume and PersistentVolumeClaim. PersistentVolume – is a storage device and a filesystem volume on it, for example, it could be AWS EBS, which is attached to an AWS EC2, and from the cluster’s perspective of view, a PersistentVolume is a similar resource… Read More »

Kubernetes: manually restart a Cron Job

27 July 2020
 

 We have a Kubernetes Cron Job which failed on its last run. Let’s look for the root cause and then will see how to restart such a failed job. List current jobs: [simterm] $ kk -n eks-prod-1-bttrm-apps-ns get cronjobs NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE bttrm-apps-backend-reccuring-payment-cron 0 10 * * * False 1 22m… Read More »

Prometheus: yet-another-cloudwatch-exporter – collecting AWS CloudWatch metrics

23 July 2020
 

 Currently, to collect metrics from the AWS CloudWatch we are using AWS’s own cloudwatch-exporter, see the Prometheus: CloudWatch exporter — сбор метрик из AWS и графики в Grafana post (in Rus), but it has a few gaps: it’s written in Java, so uses CPU/memory of the monitoring host doesn’t scrapes AWS tags from resources uses… Read More »