/home/ahmetb
  • Blog
  • About me
  • Tweets
  • GitHub
  • Talks

Tag: Docker

29 October 2019

Knative = Kubernetes Networking++

Knative project is usually explained as building blocks for “serverless on Kubernetes”. As a result of this implication, most Kubernetes users are not aware of what Knative can do for their non-serverless workloads: Better autoscaling and networking for stateless microservices on Kubernetes. Read More →

15 July 2019

Choosing an init process for multi-process containers

If you are developing containers you must have heard the “single process per container” mantra. Inherently, there’s nothing wrong1 with running multiple processes in a container, as long as your ENTRYPOINT is a proper init process. Some use cases are having processes are aiding each other (such as a sidecar proxy process) or porting legacy applications.

Recently, I had to spawn a sidecar process inside a container. Docker’s own tutorial for running multiple processes in a container is a good place to start, but not production-ready. So I outsourced my quest on Twitter to find an init replacement that can:

  1. run multiple child processes, but do not restart them
  2. exit as soon as a child process terminates (no point of restarting child processes, let the container crash to be restarted by docker or Kubernetes)
  3. fulfill PID 1 (init process) responsibilities like zombie child reaping and signal forwarding.

In this article I explored pros and cons of some of the options like supervisord, runit, monit, tini/dumb-init, s6 (audience favorite), and tini+bash4.x combo (personal favorite). Read More →

31 May 2018

Skaffold: happy Kubernetes workflows

Skaffold is my top Kubernetes developer tool of the year so far. Since its accidental reveal about 3 months ago, it already got 3,700 stars on GitHub. Clearly the community is lovin’ it. Read More →

27 February 2018

Faster iterations on Kubernetes with freshpod

If you are using Minikube or Docker for Mac/Windows to run your Kubernetes deployments locally, I have developed a tool to restart containers automatically when their images are rebuilt: Check out freshpod on GitHub! Read More →

20 February 2018

Debugging “FROM scratch” on Kubernetes

How would you debug a Docker container that has no shell, no tools, but a single statically-compiled executable? Creating docker images FROM scratch is a trend on the rise, but is it really taking away our debugging capabilities? Read More →

02 January 2018

Minikube on the cloud

Minikube is a great tool! Almost everybody begins Kubernetes with it and continues to use it all the time. I figured out a way to use single-node GKE clusters just like Minikube: Read More →

04 April 2017

Coolest features of Google Container Builder

Google Cloud Container Builder was announced last month and I have been using it ever since. It has a few features that I really love that have gone unhighlighted. I wrote a testimony on Hacker News when it came out, so I am going to elaborate on that here. Read More →

04 January 2017

Docker Logs API Format Explained

I recently wrote a log collector that uses Docker’s Container Logs API to subscribe output streams of containers. Most people don’t collect logs from containers this way, because they can use well known logging drivers that Docker supports, so it’s hard to find programs out there consuming this logs API. Read More →

  • ««
  • «
  • 1
  • 2
  • 3
  • »
  • »»