Welcome to the Linux Foundation Forum!

Lab 7 review ingress controller

I don't understand how I'm supposed to set up an ingress controller using the resources allowed during the exam. I can't find a good yaml example to bookmark and I won't be able to use the traefik example. Anyone got any tips?

Comments

  • serewicz
    serewicz Posts: 971

    Hello,

    Were you able to find YAML examples of working with an existing ingress controller when looking among the allowed domains?

    Regards,

  • krisslott
    krisslott Posts: 4

    No, i moved on with the following lab in the meantime. I would still appreciate pointers

  • krisslott
    krisslott Posts: 4

    I'm still struggling with this. I've tried checking out the nginx ingress controller but:
    1. The installation instructions are located outside the allowed domains for the exam (https://kubernetes.github.io/ingress-nginx/deploy/)
    2. The installation instructions depend on which k8s distribution you're using, and the candidate handbook doesn't say which distribution the exam environment uses (https://docs.linuxfoundation.org/tc-docs/certification/tips-cka-and-ckad#cka-and-ckad-environment)

  • chrispokorni
    chrispokorni Posts: 1,218

    Hi @krisslott,

    The documentation page on Ingress Controllers, at the bottom, provides a link for a controller's installation, which is within the Kubernetes documentation. It may help, in addition to the Ingress and the Ingress Controllers pages.

    Regards,
    -Chris

  • shirleydst
    shirleydst Posts: 11

    There doesn't seem to be one good example of apiversion v1 with an annotation (e.g. kubernetes.io/ingress.class: traefik ) and an ImplementationSpecific pathType.

  • chrispokorni
    chrispokorni Posts: 1,218

    Hi @shirleydst,

    The Ingress page may provide the information you are looking for - annotation usage and path types.

    Reading about the three supported path types may help you to decide if/when to use the ImplementationSpecific type, vs Exact and Prefix types.

    Regards,
    -Chris

  • haegi
    haegi Posts: 1

    Hi @chrispokorni ,

    Unfortunately, I can not find any ingress installation section in the Kubernetes documentation.
    Even not in https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/.
    Will there be some guide in the exam, in case I need to install an ingress controller during the exam?

    Best regards,
    Benni

  • chrispokorni
    chrispokorni Posts: 1,218

    Hi @haegi,

    The ingress controller implementations listed on that page are third party solutions - each with its own installation mechanism, set of features, documentation, and release cycles - which are independent of the Kubernetes project. Therefore, the Kubernetes documentation is not hosting such material.

    When such resources are needed, typically a Kubernetes administrator would be responsible for retrieving the required installation and configuration steps from the documentation of the desired ingress controller.

    As far as accessing resources for such tools during the certification exam, please reach out to the Customer Support Team with any exam-related questions at trainingsupport.linuxfoundation.org.

    Regards,
    -Chris

  • serewicz
    serewicz Posts: 971

    Hello,

    This info may also help. The nginx folks had a breaking change 2 days ago:

    https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.0.0

    If you miss the ingressclass the controller gives you:

    "Ignoring ingress because of error while validating ingress class" ingress="default/ingress-test" error="ingress does not contain a valid IngressClass"

    So a quick fix is adding the annotation for the ingress class to your ingress.yaml Otherwise the whole ingress part of lab 7 will not work.

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: ingress-test
      namespace: default
      annotations:
        kubernetes.io/ingress.class: "nginx"
    spec:
      rules:
      - host: www.example.com
        http:
          paths:
          - backend:
              service:
                name: secondapp
                port:
                  number: 80
            path: /
            pathType: ImplementationSpecific
      - host: thirdpage.org
        http:
          paths:
          - backend:
              service:
                name: thirdpage
                port:
                  number: 80
            path: /
            pathType: ImplementationSpecific
    

Categories

Upcoming Training