More on mkubectx


Pause - most popular container in k8s environment

Sat 02 May 2020 by admin

Probably the most popular container in kubernetes environment. Container image is really small:

$ docker images | grep -i pause
k8s.gcr.io/pause                          3.2                 80d28bedfe5d        2 months ago        683kB

Codebase is also small pause. According to source code it is responsible for doing pretty... nothing, except of dealing ...

read more

How to change default k8s container runtime to containerd ?

Sun 26 April 2020 by admin

Default kubelet container runtime configuration use docker as CRI. Containerd has another implementation of CRI, it should fullfill the same requirements as docker so ie. it's responsible to maintain container images. Containerd extends its functionality by using plugins, one of them is cri. To interact with containerd we can ...

read more

How kubernetes is interacting with docker ?

Sun 19 April 2020 by admin

In a few words Container Runtime Interface is the answer to this questions. But we are going a little bit deeper. First of all what is CRI ? CRI is one of the most mature interface in kubernetes, it's a bridge between kubelet and container runtime. k8-diagram. Creating such interfaces in ...

read more

Kubectl - writing your own plugin

Sat 28 March 2020 by admin

Kubectl is an entrypoint for maintaing k8s clusters, you can find a lot useful switches to extract data. For example to get all containers images, just use:

$ kubectl get pods --all-namespaces -o go-template --template="{{range .items}}{{range .spec.containers}}{{printf \"%s\n\" .image}}{{end}}{{end}}"

Lots of switches ...

read more

Growpart

Sun 17 June 2018 by admin

Easy alternative to fdisk and partprobe when resizing partition to its maximum. Extensively used in cloud environments (i.e. cloud-init).

https://www.systutorials.com/docs/linux/man/1-growpart/

read more

Sysdig Tracers

Sun 03 June 2018 by admin

Tracers is nice extension to one of my favourite tool sysdig to troubleshooting problems. Using damn simple approach of writing tags to /dev/null, give an idea about your app's health. More performing than popular statsd to measure duration, because of low overhead ca. 1 microsecond per tracer. Moreover ...

read more

HTTP Server-Timing

Sun 20 May 2018 by admin

One of the easiest way to visualize your app internal performance metrics on demand is too use pretty new standard described in:

https://www.w3.org/TR/server-timing/

combined it with for example Chrome Developers Tools from version 65. More practically with Python Flask app:

 1
 2
 3
 4
 5 ...
read more

Uninterruptible process state

Sun 13 May 2018 by admin

Looking for reason why some processes cannot be killed, you probably reach to process state called uninterruptible. Nice explanation:

https://stackoverflow.com/questions/223644/what-is-an-uninterruptable-process

Linux ps command shows which process is in that state by pinning D in process output list. But on which step this process really stuck ...

read more

Bash script template

Thu 20 April 2017 by admin

Writing bash scripts is a daily basis for sysops/devops teams. Some parts of each written script stay the same like being verbose for easy debugging, so it's good to have some templates. One of them helps us to deal with logs, which are written to log file and ...

read more