CKAD (Certified Kubernetes Application Developer) 相關資料

Linux Foundation 旗下的 CNCF (Cloud Native Computing Foundation) 提供兩個與 Kubernetes 相關的個人技術檢定:偏維運的 CKA (Certified Kubernetes Administrator),以及偏研發的 CKAD (Certified Kubernetes Application Developer)

其中,CKAD 與我關注的範圍、與我設計的工作坊最接近,便想進一步瞭解它的細節。

CKAD logo

CKAD logo

Docker File Permissions on Windows

Currently Linux containers are still more popular than Windows containers. And Windows users often need to use Linux containers even from their Windows computers.

Recently I’ve found something very strange about Linux-style file permissions when the Docker images are built from Windows hosts.1 Therefore, I’ve conducted a suite of test cases to investigate whether file permissions are preserved with Docker & Skaffold toolchains. All experiment materials are available in the container-chmod repo.

Auto-Reload from ConfigMap

My previous article “Inotify in Containers” has demonstrated that when ConfigMap is mounted as directories, any changes in the ConfigMap will propagate to related pods, and can be detected with inotify-like APIs.

A follow-up question might be: what should a well-behaved application react to this trigger accordingly? What if it’s a ill-designed application?

To clarify this I’ve conducted a series of experiments for 3 possible configmap-reloading strategies:

  • Built-in auto-reloading apps
  • External signals
  • Pod rollout

In this article I’m going to explain the experiments and preliminary findings. All experiment materials are available in the configmap-auto-reload repo.

Containers and Environment Variables

My previous article “Inotify in Containers” has demonstrated that when ConfigMap is mounted as directories, any changes in the ConfigMap will propagate to related pods.

A follow-up question might be: what if the ConfigMap is mounted as environment variables?

Some said that the answer is NO in Kubernetes1; even in the old Docker world2. Therefore, I’d like to begin with a simple experiment to try to answer the question: After a container starts, will it see any changes of environment variables?