At this rate I'm going to have to dump Linode and go with someone else.

Following How to Set Up a Docker Registry with LKE and Object Storage.

$  helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
"ingress-nginx" has been added to your repositories
$  helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "ingress-nginx" chart repository
Update Complete. ⎈Happy Helming!⎈
$  helm install ingress-nginx ingress-nginx/nginx-ingress
Error: INSTALLATION FAILED: failed to download "ingress-nginx/nginx-ingress"

3 Replies

Modifications to the installation instructions.

Replace the ingress-nginx installation with this:

helm upgrade --install ingress-nginx ingress-nginx \
  --repo https://kubernetes.github.io/ingress-nginx \
  --namespace ingress-nginx --create-namespace

Replace the docker-registry installation with this:

Change docker-configs.yaml setting ingress.annotations/kubernetes.io/ingress.class to ingress.annotations/kubernetes.io/ingress.className:

ingress:
  annotations:
    kubernetes.io/ingress.class: nginx
ingress:
  annotations:
    kubernetes.io/ingress.className: nginx

Install with:

$ helm repo add twuni https://helm.twun.io
$ helm install docker-registry twuni/docker-registry -f docker-configs.yaml

I just checked and this is a typo in the How to Set Up a Docker Registry with LKE and Object Storage documentation.

Instead of

helm install ingress-nginx ingress-nginx/nginx-ingress

You would need to use this:

helm install ingress-nginx ingress-nginx/ingress-nginx

I was able to get the Nginx Ingress on LKE guide working without issue.

@bshoemaker

I'm having problems getting this working, even running with your command.

STATUS                     REASON          MESSAGE
Failure                    InternalError   an error on the server ("unable to decode an event from the watch stream: http2: client connection lost") has prevented the request from succeeding

See below.

Installation.

$ helm upgrade --install ingress-nginx ingress-nginx  --repo https://kubernetes.github.io/ingress-nginx  --namespace ingress-nginx --create-namespace
Release "ingress-nginx" does not exist. Installing it now.
NAME: ingress-nginx
LAST DEPLOYED: Sat Jul 30 21:54:58 2022
NAMESPACE: ingress-nginx
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The ingress-nginx controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status by running 'kubectl --namespace ingress-nginx get services -o wide -w ingress-nginx-controller'

An example Ingress that makes use of the controller:
  apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: example
    namespace: foo
  spec:
    ingressClassName: nginx
    rules:
      - host: www.example.com
        http:
          paths:
            - pathType: Prefix
              backend:
                service:
                  name: exampleService
                  port:
                    number: 80
              path: /
    # This section is only required if TLS is to be enabled for the Ingress
    tls:
      - hosts:
        - www.example.com
        secretName: example-tls

If TLS is enabled for the Ingress, a Secret containing the certificate and key must also be provided:

  apiVersion: v1
  kind: Secret
  metadata:
    name: example-tls
    namespace: foo
  data:
    tls.crt: <base64 encoded cert>
    tls.key: <base64 encoded key>
  type: kubernetes.io/tls

View external IP

$ kubectl --namespace ingress-nginx get services -o wide -w ingress-nginx-controller
NAME                       TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                      AGE   SELECTOR
ingress-nginx-controller   LoadBalancer   10.128.119.198   A.B.C.D   80:32615/TCP,443:32063/TCP   13m   app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx
STATUS                     REASON          MESSAGE
Failure                    InternalError   an error on the server ("unable to decode an event from the watch stream: http2: client connection lost") has prevented the request from succeeding

View ingress services, pod

$ kubectl get services,pods --namespace ingress-nginx
NAME                                         TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                      AGE
service/ingress-nginx-controller             LoadBalancer   10.128.119.198   A.B.C.D   80:32615/TCP,443:32063/TCP   3h26m
service/ingress-nginx-controller-admission   ClusterIP      10.128.40.247    <none>          443/TCP                      3h26m

NAME                                            READY   STATUS    RESTARTS   AGE
pod/ingress-nginx-controller-54d587fbc6-zbmmh   1/1     Running   0          3h26m

View ingress log

$ kubectl logs -n ingress-nginx ingress-nginx-controller-54d587fbc6-zbmmh
W0731 01:55:06.592677       6 client_config.go:617] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
I0731 01:55:06.592791       6 main.go:230] "Creating API client" host="https://10.128.0.1:443"
-------------------------------------------------------------------------------
NGINX Ingress controller
  Release:       v1.3.0
  Build:         2b7b74854d90ad9b4b96a5011b9e8b67d20bfb8f
  Repository:    https://github.com/kubernetes/ingress-nginx
  nginx version: nginx/1.19.10

-------------------------------------------------------------------------------

I0731 01:55:06.613837       6 main.go:274] "Running in Kubernetes cluster" major="1" minor="23" git="v1.23.8" state="clean" commit="a12b886b1da059e0190c54d09c5eab5219dd7acf" platform="linux/amd64"
I0731 01:55:06.867558       6 main.go:104] "SSL fake certificate created" file="/etc/ingress-controller/ssl/default-fake-certificate.pem"
I0731 01:55:06.884383       6 ssl.go:531] "loading tls certificate" path="/usr/local/certificates/cert" key="/usr/local/certificates/key"
I0731 01:55:06.917378       6 nginx.go:258] "Starting NGINX Ingress controller"
I0731 01:55:06.930714       6 event.go:285] Event(v1.ObjectReference{Kind:"ConfigMap", Namespace:"ingress-nginx", Name:"ingress-nginx-controller", UID:"6c08b8ee-fa0d-4ef5-9661-b9f80c53bc43", APIVersion:"v1", ResourceVersion:"68095", FieldPath:""}): type: 'Normal' reason: 'CREATE' ConfigMap ingress-nginx/ingress-nginx-controller
I0731 01:55:08.120189       6 nginx.go:301] "Starting NGINX process"
I0731 01:55:08.120201       6 leaderelection.go:248] attempting to acquire leader lease ingress-nginx/ingress-controller-leader...
I0731 01:55:08.120843       6 nginx.go:321] "Starting validation webhook" address=":8443" certPath="/usr/local/certificates/cert" keyPath="/usr/local/certificates/key"
I0731 01:55:08.120965       6 controller.go:167] "Configuration changes detected, backend reload required"
I0731 01:55:08.136098       6 leaderelection.go:258] successfully acquired lease ingress-nginx/ingress-controller-leader
I0731 01:55:08.136263       6 status.go:84] "New leader elected" identity="ingress-nginx-controller-54d587fbc6-zbmmh"
I0731 01:55:08.157035       6 controller.go:184] "Backend successfully reloaded"
I0731 01:55:08.157104       6 controller.go:195] "Initial sync, sleeping for 1 second"
I0731 01:55:08.157370       6 event.go:285] Event(v1.ObjectReference{Kind:"Pod", Namespace:"ingress-nginx", Name:"ingress-nginx-controller-54d587fbc6-zbmmh", UID:"74dc526b-da20-49e0-96b2-f448d2edf45d", APIVersion:"v1", ResourceVersion:"68142", FieldPath:""}): type: 'Normal' reason: 'RELOAD' NGINX reload triggered due to a change in configuration

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct