• Kubernetes: Find deprecated API versions

    2 min read

    On a Kubernetes cluster we might have deprecated versions of the object, so after updating it we might end up with something not properly working:

    $ kubectl api-resources | grep Ingress\$
    ingresses                         ing              extensions/v1beta1                     true         Ingress
    ingresses                         ing              networking.k8s.io/v1                   true         Ingress


  • Kubernetes: List all objects using get-all plugin

    2 min read

    If we need to take a look at the resources of a Kubernetes cluster, by using kubectl get all we won't be able to see all the resources. Most notably, it won't list Ingress objects. You can take a look at this issue for kubectl for the details but we won't be able to get all the resources using this command, we'll have to install the get-all krew plugin


  • Using kubectl patch to modify existing Kubernetes objects

    2 min read

    To be able to modify a Kubernetes object we can use kubectl edit to do it interactively. It can come handy if we need to test values but it makes it harder to automate it. If we need a way to change a Kubernetes object using a non-interactive command, kubectl patch is the best option for us.


  • Getting Kubernetes documentation using kubectl

    3 min read

    While forking on Kubernetes manifest it's easy to forget the available fields for each Kubernetes object. Using kubectl explain we can get all the fields available with a short description of them. Pretty much a man inside kubectl


  • Kubernetes: cannot delete Pods with local storage

    2 min read

    While draining a node it might fail with the message cannot delete Pods with local storage as follows:

    $ kubectl drain tycho.pet2cattle.com --ignore-daemonsets
    node/tycho.pet2cattle.com already cordoned
    error: unable to drain node "tycho.pet2cattle.com", aborting command...
    There are pending nodes to be drained:
    error: cannot delete Pods with local storage (use --delete-emptydir-data to override): spinnaker-ampa/spin-rosco-658fdb4694-v99jt



Older content...

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