Answers: <p>After quite some time, I found the issue. the <code>1.28</code> branch of <code>microk8s</code> appeared to have be the culprit. When I switched to <code>1.27.4</code> it was all solved.</p>
  
Answers: CC BY-SA 4.0
Answers: 2023-08-19T15:33:32.480Z
Answers: 2023-08-19T15:33:32.480Z
Answers: Coen Hacking
Body: <p>I using a root server at <code>v2202111160479168516.hotsrv.de</code>. I set up a microk8s install and enabled the plugins:</p>
  <pre><code>    cert-manager         # (core) Cloud native certificate management
      dashboard            # (core) The Kubernetes dashboard
      dns                  # (core) CoreDNS
      ha-cluster           # (core) Configure high availability on the current node
      helm                 # (core) Helm - the package manager for Kubernetes
      helm3                # (core) Helm 3 - the package manager for Kubernetes
      host-access          # (core) Allow Pods connecting to Host services smoothly
      ingress              # (core) Ingress controller for external access
      metrics-server       # (core) K8s Metrics Server for API access to service metrics
  </code></pre>
  <p>Then I tried to create the ingress for my dashboard, but it doesn't seem to be working. When I try to go to the /.well-known/acme-challenge/ the response is an nginx 404. I already tried changing the endpoint of the dashboard to /dashboard, but it doesn't seem to work. As far I can see in the logs, everything else is working, I do get to the dashboard with a certificate complaint.</p>
  <pre class="lang-yaml prettyprint-override"><code>---
  apiVersion: cert-manager.io/v1
  kind: ClusterIssuer
  metadata:
    name: letsencrypt
    namespace: kube-system
  spec:
    acme:
      # You must replace this email address with your own.
      # Let's Encrypt will use this to contact you about expiring
      # certificates, and issues related to your account.
      email: coen.hacking@gmail.com
      server: https://acme-v02.api.letsencrypt.org/directory
      privateKeySecretRef:
        # Secret resource that will be used to store the account's private key.
        name: letsencrypt-account-key
      # Add a single challenge solver, HTTP01 using nginx
      solvers:
        - http01:
            ingress:
              class: nginx
  ---
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    annotations:
      className: nginx
      cert-manager.io/cluster-issuer: letsencrypt
      nginx.ingress.kubernetes.io/backend-protocol: &quot;HTTPS&quot;
    name: kubernetes-dashboard
    namespace: kube-system
  spec:
    rules:
      - host: v2202111160479168516.hotsrv.de
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: kubernetes-dashboard
                  port:
                    number: 443
    tls:
      - hosts:
          - v2202111160479168516.hotsrv.de
        secretName: dashboard-ingress-cert
  </code></pre>
  <p>I'm just getting into Kubernetes, so I'm probably missing something.
  Does anybody know what the mistake in my configuration is?</p>
  
Tags: <kubernetes><ingress-nginx>
Title: Kubernetes ingress fails to fetch letsencrypt
UserDisplayName: Coen Hacking
ThreadText: # Kubernetes ingress fails to fetch letsencrypt
  
  (Asked by: username_0 on 2023-08-19)
  
  I using a root server at `v2202111160479168516.hotsrv.de`. I set up a microk8s install and enabled the plugins:
  
  ```
      cert-manager         # (core) Cloud native certificate management
      dashboard            # (core) The Kubernetes dashboard
      dns                  # (core) CoreDNS
      ha-cluster           # (core) Configure high availability on the current node
      helm                 # (core) Helm - the package manager for Kubernetes
      helm3                # (core) Helm 3 - the package manager for Kubernetes
      host-access          # (core) Allow Pods connecting to Host services smoothly
      ingress              # (core) Ingress controller for external access
      metrics-server       # (core) K8s Metrics Server for API access to service metrics
  
  ```
  
  Then I tried to create the ingress for my dashboard, but it doesn't seem to be working. When I try to go to the /.well-known/acme-challenge/ the response is an nginx 404. I already tried changing the endpoint of the dashboard to /dashboard, but it doesn't seem to work. As far I can see in the logs, everything else is working, I do get to the dashboard with a certificate complaint.
  
  ```yaml
  ---
  apiVersion: cert-manager.io/v1
  kind: ClusterIssuer
  metadata:
    name: letsencrypt
    namespace: kube-system
  spec:
    acme:
      # You must replace this email address with your own.
      # Let's Encrypt will use this to contact you about expiring
      # certificates, and issues related to your account.
      email: username_0.username_0@gmail.com
      server: https://acme-v02.api.letsencrypt.org/directory
      privateKeySecretRef:
        # Secret resource that will be used to store the account's private key.
        name: letsencrypt-account-key
      # Add a single challenge solver, HTTP01 using nginx
      solvers:
        - http01:
            ingress:
              class: nginx
  ---
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    annotations:
      className: nginx
      cert-manager.io/cluster-issuer: letsencrypt
      nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    name: kubernetes-dashboard
    namespace: kube-system
  spec:
    rules:
      - host: v2202111160479168516.hotsrv.de
        http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: kubernetes-dashboard
                  port:
                    number: 443
    tls:
      - hosts:
          - v2202111160479168516.hotsrv.de
        secretName: dashboard-ingress-cert
  
  ```
  
  I'm just getting into Kubernetes, so I'm probably missing something.
  Does anybody know what the mistake in my configuration is?
  
  **Tags:** kubernetes, ingress-nginx
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_0 on 2023-08-19. Score: 0
  
  After quite some time, I found the issue. the `1.28` branch of `microk8s` appeared to have be the culprit. When I switched to `1.27.4` it was all solved.
  
  
  ---
  
  