I recently do some changes in mkubectx including:
- golang testing
- github workflows for testing when PR is submitted
- github workflows for releasing version supported by gorelaser
Feel free to use and contribute :)
How to get logs from selected container in a pod ?
I faced with the problem where I have to react on specific log entry from an third party application. It wasn't possible to change behaviour of this application, but fortunately it generates specific log when something bad happened. So I decide to use liveness probe with some exec to ...read more
Ways of distributing pods across nodes
How can more evenly distribute pod across nodes ? After quick research I found that this example of deployment should be ok:
apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: selector: matchLabels: app: nginx replicas: 3 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest affinity: podAntiAffinity ...
GKE Node Debugging
Kind - local k8s
Few words after using
- works only with docker, there is also a podman provider (not tested)
- docker image node-image simulates a k8s node - all components in one image, started by systemd
- docker container is priviledged
- easy to start just use
kindcommand, under the hood it download right
Custom node condition in Kubernetes
When you go through node object in k8s you can see that there is a field called
$ kubectl describe node kind-control-plane ... Conditions: Type Status LastHeartbeatTime LastTransitionTime Reason Message ---- ------ ----------------- ------------------ ------ ------- MemoryPressure False Sun, 30 Aug 2020 10:54:31 +0200 Sun, 30 Aug 2020 10:53:23 +0200 KubeletHasSufficientMemory kubelet has ...
ICMP Echo permissions
Network ping tool, one of the most widely used tool to debug network problem. It's mainly using ICMP protocol, due to specific security requirements to send/receive ICMP ECHO packets regular user is not allowed to use it. How can dealt with it on linux box ?
- the easiest way ...
gRPCurl - curl for gRPC
CNI - the Container Network Interface
CNI is simple interface based on environment variables and JSON config. Both environment variables and JSON config are processed by CNI plugin started by container management system like Kubernetes. CNI plugin is responsible for connecting container namespace into selected network, second responsibility for CNI is to provide IP address it ...read more
Docker and Kubernetes at network layer
I wrote some posts about how kubernetes is interacting with docker at CRI level, but what about networking ? Docker has developed it's own solution called CNM to maintain network, to interact with it just use commands under docker network. How it looks like in k8s multi node environment:
# docker ...