RSSAmplifier

Blog

Hongli Lai

On Coding, Startups & Life

joyfulbikeshedding.comRSS feed ↗6 posts

Latest posts

Clear Kubernetes namespace contents before deleting the namespace, or else

Our Kubernetes platform test suite creates namespaces with their corresponding contents, then deletes everything during cleanup. We noticed a strange problem: namespace deletion would sometimes get stuck indefinitely. The root cause was surprising — we had to clear the contents before deleting the namespace! We also learned that getting stuck isn’t the only issue that can occur if we don’t do…

EBS StorageClass with VolumeBindingMode Immediate is incompatible with pod topology pinning

We ran into a weird pod scheduling error on Amazon Elastic Kubernetes Service (EKS). Some pods, which scheduled just fine in the past, now stay in Pending with the following event: Failed to schedule pod, incompatible with nodepool “default”, daemonset...

Causes of major page faults

There’s a common Prometheus alert called “NodeMemoryMajorPagesFaults”. It’s part of the Node Exporter’s node-mixin project and also included in the kube-prometheus-stack default alert rules . But what does this alert mean, and what do you do about it? This article helps you form a good mental model and provides practical guidance.

Cure Docker volume permission pains with MatchHostFsOwner

Run a container with a host directory mount, and it either leaves root-owned files behind or it runs into “permission denied” errors. Welcome to the dreadful container host filesystem owner matching problem . These issues confuse and irritate people , and they happen because apps in the container run as a different user than the host user. There are various strategies to solve this issue , but…

Ubuntu 22.04 support for Fullstaq Ruby is here

Ubuntu 22.04 was released a couple of days ago. Fullstaq Ruby now provides packages for this distribution!

Ruby gem: distributed locking on Google Cloud

I previously designed a robust distributed locking algorithm based on Google Cloud . Now I’m releasing a Ruby implementation of this algorithm: distributed-lock-google-cloud-storage-ruby . To use this, add to your Gemfile: gem 'distributed-lock-google-cloud-storage'