• Kubernetes: How to configure Deployment to evenly spread Pods across availability zones

    5 min read

    If you run Kubernetes workloads on AWS you want to make sure Pods are spread across all the available availability zones. To do so we can use podAntiAffinity to tell Kubernetes to avoid deploying all the Pods of the same deployment on the same AZ

    28/03/2022

    Read more...
  • Kubernetes running out of Pods

    2 min read

    kubernetes OutOfpods

    If you try to run too many pods on a handful of nodes you might eventually run out of available Pods. Using kubectl get pods you'll see them marked with the status OutOfpods:

    $ kubectl get pods
    (...)
    test          deploy-test-84b4fdcbbd-59hvf            0/1     ContainerCreating   0                44s
    test          deploy-test-84b4fdcbbd-7dvs9            0/1     OutOfpods           0                62s
    test          deploy-test-84b4fdcbbd-btrwz            0/1     OutOfpods           0                4m16s
    test          deploy-test-84b4fdcbbd-gpkkg            0/1     OutOfpods           0                91s
    test          deploy-test-84b4fdcbbd-hbbdv            0/1     OutOfpods           0                67s
    test          deploy-test-84b4fdcbbd-j75x4            0/1     OutOfpods           0                68s
    test          deploy-test-84b4fdcbbd-s4qzz            0/1     OutOfpods           0                64s
    (...)
    

    11/03/2022

    Read more...
  • Troubleshooting a Pod by changing it's command

    3 min read

    kubernetes Pod troubleshooting

    When a container in a Pod is crashing sometimes it's logs are not enough to fully understand what's going on. One way to approach this situation the command it runs to something that won't make Kubernetes restart the container: For example a sleep command

    08/03/2022

    Read more...
  • The activeDeadlineSeconds property on a Pod definition

    3 min read

    kubernetes activeDeadlineSeconds Pod Job

    If we take a look all the possible properties for a Pod definition we might notice that there's one to limit the time a Pod can be running:

    apiVersion: v1
    kind: Pod
    metadata:
      name: test
    spec:
      activeDeadlineSeconds: 10
      containers:
      - args:
        - sleep
        - 24h
        image: alpine
        name: test
    

    07/03/2022

    Read more...
  • bestby: Refresh Pods based on it's lifetime using a label on it's definition

    3 min read

    Kubernetes Pod lifetime bestby

    For Kubernetes a Deployment is an object to define a Pod that is intended to permanently run on the cluster, so there's no native way to refresh it's Pods. To do so we can install the bestby controller.

    04/03/2022

    Read more...

Older content...

From pet to cattle
Treat your kubernetes clusters like cattle, not pets