This is the tale of a low-severity incident that took place in our Kubernetes cluster fleet at LinkedIn that taught me a lot about how to think about off the shelf components we bring from the ecosystem into the critical path. Read More →
I’ve been blogging since 2005.
I hope you enjoy what I find interesting enough to
write.
This is the tale of a low-severity incident that took place in our Kubernetes cluster fleet at LinkedIn that taught me a lot about how to think about off the shelf components we bring from the ecosystem into the critical path. Read More →
A quick code search query reveals at least 7,000 Kubernetes Custom Resource Definitions in the open source corpus,1 most of which are likely generated with controller-gen —a tool that turns Go structs with comments-based markers into Kubernetes CRD manifests, which end up being custom APIs served by the Kubernetes API server.
At LinkedIn, we develop our fair share of custom Kubernetes APIs and controllers
to run workloads or manage infrastructure. In doing so, we rely on the custom
resource machinery and controller-gen
heavily to generate our CRDs.
Read More →
Files on Kubernetes Secret and ConfigMap volumes work in peculiar and
undocumented ways when it comes to watching changes to these files with the
inotify(7)
syscall. Your typical file watch that works outside
Kubernetes might not work as you expect when you run the same progam on
Kubernetes.
On a normal filesystem, you start a watch on a file on disk with a library and
expect to get an event like IN_MODIFY
(file modified) or IN_CLOSE_WRITE
(file opened for writing closed) when the file is changed. But these filesystem
events never happen for files on Kubernetes Secret/ConfigMap volumes.
Read More →
When I first heard of Alex Xu’s System Design Interview – An insider’s guide, my reaction was “finally someone wrote a book with deep discussions around scalable systems design”, so I purchased it.
tl;dr: If you are new to systems design and uninitiated in distributed systems space, this book should be an instant buy for you. If you are seeking answers to how Facebook scales, how APIs like AWS S3 work or want to learn trade-offs around distributed databases and queues, this book might leave you unsatisfied as it seems to be focused on getting the beginners to succeed in the interviews. Read More →
I’m continuing with these articles on Cloud Run REST API that nobody really needs to read. This time, I’m back with a Go code walkthrough that shows how to deploy and manage services in Cloud Run through its Go API client library.
Cloud Run already offers deployment via mainstream method like CLI, web UI, IDEs and Terraform. So this article is dedicated for the <%0.1 of Cloud Run users (a.k.a. the ones keeping it real) out there who needs to use Cloud Run API with Go. Let’s begin. Read More →