Service is not ready: gitlab-managed-apps/ingress-nginx-ingress-controller

Viewed 819

I want to build a gitlab + kubernetes small gitops on my self hosted system. But when i try to install nginx ingress from gitlab kubernetes section, i got this error:

Service is not ready: gitlab-managed-apps/ingress-nginx-ingress-controller

Because I use self hosted kubernetes, i need to patch LoadBalancer nginx-ingress service.

kubectl patch svc ingress-nginx-ingress-controller -n gitlab-managed-apps -p '{"spec": {"type": "LoadBalancer", "externalIPs":["10.0.0.5","10.0.0.6","10.0.0.7"]}}'

But this couldn't solve the problem.

I check the event in this namespace:

18m         Normal    Started             pod/ingress-nginx-ingress-default-backend-78dd5dc449-fpvwb    Started container nginx-ingress-default-backend
18m         Normal    Created             pod/ingress-nginx-ingress-default-backend-78dd5dc449-fpvwb    Created container nginx-ingress-default-backend
18m         Normal    Started             pod/ingress-nginx-ingress-controller-7fdc67ff64-spxsn         Started container nginx-ingress-controller
18m         Normal    Created             pod/ingress-nginx-ingress-controller-7fdc67ff64-spxsn         Created container nginx-ingress-controller
18m         Normal    Pulled              pod/ingress-nginx-ingress-controller-7fdc67ff64-spxsn         Container image "quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.28.0" already present on machine
18m         Normal    Pulled              pod/ingress-nginx-ingress-default-backend-78dd5dc449-fpvwb    Container image "k8s.gcr.io/defaultbackend-amd64:1.5" already present on machine
18m         Normal    ExternalIP          service/ingress-nginx-ingress-controller                      Count: 0 -> 3
13m         Normal    Killing             pod/ingress-nginx-ingress-controller-7fdc67ff64-spxsn         Stopping container nginx-ingress-controller
13m         Normal    Killing             pod/ingress-nginx-ingress-default-backend-78dd5dc449-fpvwb    Stopping container nginx-ingress-default-backend
13m         Warning   Unhealthy           pod/ingress-nginx-ingress-default-backend-78dd5dc449-fpvwb    Readiness probe failed: Get "http://192.168.126.172:8080/healthz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
12m         Warning   Unhealthy           pod/ingress-nginx-ingress-controller-7fdc67ff64-spxsn         Readiness probe failed: HTTP probe failed with statuscode: 500
12m         Warning   Unhealthy           pod/ingress-nginx-ingress-controller-7fdc67ff64-spxsn         Liveness probe failed: HTTP probe failed with statuscode: 500

The Readines and Liveness rows generated when the install-ingress pod, terminating all related pods,services.

Logs from install-ingress pod:

...

[tiller] 2020/09/02 22:41:21 performing install for ingress
[tiller] 2020/09/02 22:41:21 executing 0 crd-install hooks for ingress
[tiller] 2020/09/02 22:41:21 hooks complete for crd-install ingress
[tiller] 2020/09/02 22:41:21 executing 0 pre-install hooks for ingress
[tiller] 2020/09/02 22:41:21 hooks complete for pre-install ingress
[storage] 2020/09/02 22:41:21 getting release history for "ingress"
[storage] 2020/09/02 22:41:21 creating release "ingress.v1"
[kube] 2020/09/02 22:41:21 building resources from manifest
[kube] 2020/09/02 22:41:21 creating 10 resource(s)
[kube] 2020/09/02 22:41:21 beginning wait for 10 resources with timeout of 5m0s
[kube] 2020/09/02 22:41:23 Service is not ready: gitlab-managed-apps/ingress-nginx-ingress-controller
[kube] 2020/09/02 22:41:25 Service is not ready: gitlab-managed-apps/ingress-nginx-ingress-controller
[kube] 2020/09/02 22:41:27 Service is not ready: gitlab-managed-apps/ingress-nginx-ingress-controller
[kube] 2020/09/02 22:41:29 Service is not ready: gitlab-managed-apps/ingress-nginx-ingress-controller

...

When i start installing ingress, and patching the service, the ingress working, i can make queries to the ingressm etc.

1 Answers

Post you install logs (during installation):

kubectl logs pod/install-ingress-nginx -n gitlab-managed-apps

I had the same problem. For bare-metalal installation use MetalLB: https://metallb.universe.tf/installation/ and https://metallb.universe.tf/configuration/

You can use helm: https://github.com/bitnami/charts/tree/master/bitnami/metallb then you have to change namespace and name:

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: default
  name: metallb
data:
  config: |
      address-pools:
      - addresses:
        - 192.168.1.100-192.168.88.110
        name: default
        protocol: layer2

You need get External IP for service/ingress-nginx-ingress-controller:

kubectl get svc --all-namespaces

More about Load Balancing support: https://rancher.com/docs/rancher/v2.x/en/k8s-in-rancher/load-balancers-and-ingress/load-balancers/

https://kubernetes.github.io/ingress-nginx/deploy/baremetal/

Related