A little trick I learned for copying files out of a (somewhat) locked down EC2 worker node for EKS

Disclaimer: you should have also have access to EKS cluster via kubectl
Read more →

How Wireshark saved my sanity while setting up OpenVPN on Raspberry Pi

And also a shallow dive into OpenVPN protocol…
Read more →

Kubernetes CPU requests and limits

It all started with this alert…
Read more →

Orphan vs Zombie vs Daemon processes

What are processes?

A process is basically a program in execution and a program is a piece of code which may be a single line or millions of lines long written in a programming language.

When a UNIX machine gets powered up, the kernel will be loaded and complete its initialization process. Once initialization is completed, the kernel creates a set of processes in the user space, including the scheduling of the system management daemon process (usually named init) which has PID 1 and is responsible for running the right complement of services and daemons at any given time.

Read more →

Node-exporter setup with Systemd

For those who aren’t familiar, node-exporter is a Prometheus exporter that exposes hardware and OS metrics from *NIX kernels.

To get it up and running, there’s a simple guide on Prometheus official docs. The issue with the approach is that running node-exporter by executing binary directly isn’t the most reliable approach in a production environment as there’s no way to ensure that the node_exporter process will run continuously.

This is where systemd comes in. systemd is an init system and system maanger and comes with a management tool called systemctl meant for managing processes, checking statuses, configuration and changing system states.

Read more →