Category Archives: Kubernetes

Kubernetes is an open-source container orchestration system for automating application deployment, scaling, and management.

VictoriaLogs: a Grafana dashboard for AWS VPC Flow Logs – migrating from Grafana Loki
0 (0)

7 December 2024

In the previous post – AWS: VPC Flow Logs – logs to S3 and Grafana dashboard with Loki, we created a Grafana dashboard that displays NAT Gateway traffic usage statistics. What we were interested in there was which Kubernetes Pods use the most bytes, because it directly affects our AWS Costs. And everything appears to… Read More: VictoriaLogs: a Grafana dashboard for AWS VPC Flow Logs –… »

Loading

AWS: VPC Flow Logs – logs to S3 and Grafana dashboard with Loki
0 (0)

7 December 2024

Continuing the topic about AWS: VPC Flow Logs, NAT Gateways, and Kubernetes Pods – a detailed overview. There we analyzed how to work with VPC Flow Logs in general, and learned how we can get information about traffic to/from Kubernetes Pods. But there is one problem when using Flow Logs with CloudWatch Logs – the… Read More: AWS: VPC Flow Logs – logs to S3 and Grafana… »

Loading

GitHub Actions: running the Actions Runner Controller in Kubernetes
0 (0)

16 October 2024

We use GitHub Actions for deployments, and eventually came to the point where we wanted to run its Runners on our own Kubernetes cluster because: self-hosted GitHub Runners are cheaper – in fact, you pay only for the servers that run the jobs we need to run SQL migrations on AWS RDS in AWS VPC… Read More: GitHub Actions: running the Actions Runner Controller in Kubernetes0 (0) »

Loading

Karpenter: an introduction to the Disruption Budgets
0 (0)

8 October 2024

Disruption budgets were introduced in version 0.36, and it looks like a very interesting tool to limit Karpenter from recreating WorkerNodes. For example, in my case, we don’t want EC2 instances to be killed during business hours in the US because we have customers there, so we currently have consolidationPolicy=whenEmpty to prevent “unnecessary” deletion of… Read More: Karpenter: an introduction to the Disruption Budgets0 (0) »

Loading

VictoriaLogs: an overview, run in Kubernetes, LogsQL, and Grafana
0 (0)

9 September 2024

VictoriaLogs is a relatively new system for collecting and analyzing logs, similar to Grafana Loki, but – like VictoriaMetrics compared to vanilla Prometheus – less demanding on CPU/Memory resources. Personally, I’ve been using Grafana Loki for about 5 years, but sometimes I have concerns about it – both in terms of documentation and the overall… Read More: VictoriaLogs: an overview, run in Kubernetes, LogsQL, and Grafana0 (0) »

Loading

AWS: Kubernetes and External Secrets Operator for AWS Secrets Manager
0 (0)

24 August 2024

We have a new EKS cluster 1.30 on our project, where we want to completely remove the old IRSA with OIDC and start using EKS Pod Identities – see AWS: EKS Pod Identities – a replacement for IRSA? Simplifying IAM access management. And everything seems to work fine, but when I started deploying our Backend… Read More: AWS: Kubernetes and External Secrets Operator for AWS Secrets Manager0… »

Loading

Terraform: managing EKS Access Entries and EKS Pod Identities
0 (0)

24 August 2024

So, we have an AWS Elastic Kubernetes Service cluster with Authentication mode EKS API and ConfigMap, which we enabled during upgrade of the EKS Terraform module from version 19.21 to 20.0. Before switching EKS Authentication mode completely to the API, we need to transfer all users and roles to Access Entries of the EKS cluster… Read More: Terraform: managing EKS Access Entries and EKS Pod Identities0 (0) »

Loading

Terraform: EKS and Karpenter version upgrade 19.21 to 20.0
0 (0)

13 July 2024

It seems like a common task to update a version of a Terraform module, but terraform-aws-modules/eks version 20.0 had some pretty big changes with breaking changes. The changes relate to authentication and authorization in AWS IAM and AWS EKS, which I analyzed in the post AWS: Kubernetes and Access Management API, the new authentication in… Read More: Terraform: EKS and Karpenter version upgrade 19.21 to 20.00 (0) »

Loading

Kubernetes: containers, and the “lost” SIGTERM signals
0 (0)

23 June 2024

We have an API service with Gunicorn in Kubernetes that periodically returns 502, 503, 504 errors. I started debugging it, and found a weird thing: there were no messages in the logs about the received SIGTERM, so I first went to deal with Kubernetes – why doesn’t it send it? The Issue So, here’s what… Read More: Kubernetes: containers, and the “lost” SIGTERM signals0 (0) »

Loading

Kubernetes: monitoring Events with kubectl and Grafana Loki
0 (0)

23 June 2024

In Kubernetes, in addition to metrics and logs from containers, we can get information about the operation of components using Kubernetes Events. Events usually store information about the status of Pods (creation, evict, kill, ready or not-ready status of pods), WorkerNodes (status of servers), Kubernetes Scheduler (inability to start a pod, etc.). Kubernetes Events types… Read More: Kubernetes: monitoring Events with kubectl and Grafana Loki0 (0) »

Loading