• Kubernetes: nginx ingress controller - failed calling webhook

    3 min read

    kubernetes nginx-controller service "ingress-nginx-controller-admission"

    On a kubernetes cluster you might find the following error:

    $ kubectl apply -f ingress.yaml 
    Error from server (InternalError): error when creating "ingress": Internal error occurred: failed calling webhook "validate.nginx.ingress.kubernetes.io": Post https://ingress-nginx-controller-admission.ingress-nginx.svc:443/networking/v1beta1/ingresses?timeout=10s: service "ingress-nginx-controller-admission" not found
    

    26/02/2021

    Read more...
  • Ingress API changes from beta to GA

    2 min read

    kubernetes Ingress extensions/v1beta1 networking.k8s.io/v1

    In kubernetes it has become common practice to use objects that are not yet GA, for instance: The Kubernetes team graduated the Ingress API to general availability (GA) in the 1.19 release (September 25th, 2020): it was first introduced in 2015. But there's one drawback that we really need to be aware: Using a alpha or beta API means that the interface might change and, for Ingress, it did change.

    Let's take this Ingress yaml using extensions/v1beta1 as an example:

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: beta-ingress
      annotations:
        kubernetes.io/ingress.class: alb
        alb.ingress.kubernetes.io/scheme: internal
        alb.ingress.kubernetes.io/target-type: ip
    spec:
      rules:
        - http:
            paths:
              - backend:
                  serviceName: example
                  servicePort: 8080
                path: /*
    

    If we try to apply it on a 1.19+ kubernetes cluster, we will get a warning message like this:

    $ kubectl apply -f beta-ingress.yaml
    Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
    ingress.extensions/testingress created
    

    25/02/2021

    Read more...
  • Helm: How to wait for the deployment before assuming it has succeeded

    4 min read

    helm kubernetes wait

    When you upgrade your application using helm what it really does is to just apply the deployments and other objects upgrades. If your new deployment fails to start for some reason (such as missing image) you won't notice it until you actually check the kubernetes cluster.

    Helm install and upgrade commands include a couple of options to assist in checking the deployments: --wait and --timeout

    24/02/2021

    Read more...
  • kubernetes Deployments hands-on: Pod recovery

    2 min read

    kubernetes deployment recovery hands-on

    When we create a deployment we set how many replicas want for that pod but what happens if we delete on of the pods?

    23/02/2021

    Read more...
  • Set host header for livenessProbe and readinessProbe

    2 min read

    kubernetes livenessProbe readinessProbe host header

    Some apps might rely on the host Header to deliver the right content. For example, is quite common for django apps to require an specific host header in order to sent a response. Lucky enough for these kind of applications, we can actually configure livenessProbe and readinessProbe to send a Host header

    22/02/2021

    Read more...

More recent...

Older content...