ngrok / kubernetes-ingress-controller

The official ngrok Ingress Controller for Kubernetes
https://ngrok.com
MIT License
183 stars 20 forks source link

unable to start manager || ngrok ingress kubernetes #330

Closed faizank789 closed 5 months ago

faizank789 commented 6 months ago

Kubernetes Version

v1.27.8

Helm Chart Version

version.BuildInfo{Version:"v3.10.3", GitCommit:"835b7334cfe2e5e27870ab3ed4135f136eecc704", GitTreeState:"clean", GoVersion:"go1.18.9"}

Helm Chart configuration

No response

What happened

unable to start manager || ngrok ingress kubernetes

HI team, facing issue can anybody assist for same. pods are getting crash , i have used same steps as mentioned ,during installation using helm chart.

kubectl describe ngrok-ingress-controller ngrok-ingress-controller-kubernetes-ingress-controller-man6n94k 0/1 Running 8 (4m56s ago) 20m ngrok-ingress-controller ngrok-ingress-controller-kubernetes-ingress-controller-man6n94k 0/1 Error 8 (5m26s ago) 20m ngrok-ingress-controller ngrok-ingress-controller-kubernetes-ingress-controller-man6n94k 0/1 CrashLoopBackOff 8 ( ago) 21m

kubectl logs k logs --all-containers ngrok-ingress-controller-kubernetes-ingress-controller-man6n94k -f Tuesday 02 January 2024 01:02:07 PM {"level":"info","ts":"2023-12-21T09:33:57Z","logger":"setup","msg":"starting manager","version":"0.10.1","commit":"1cf33f17961038010f0011663c7bf17d997e1108"} {"level":"error","ts":"2023-12-21T09:34:27Z","msg":"Failed to get API Group-Resources","error":"Get "https://10.96.0.1:443/api?timeout=32s\": dial tcp 10.96.0.1:443: i/o timeout","stacktrace":"sigs.k8s.io/controller-runtime/pkg/cluster.New\n\tsigs.k8s.io/controller-runtime@v0.14.1/pkg/cluster/cluster.go:161\nsigs.k8s.io/controller-runtime/pkg/manager.New\n\tsigs.k8s.io/controller-runtime@v0.14.1/pkg/manager/manager.go:351\nmain.runController\n\t./main.go:164\nmain.cmd.func1\n\t./main.go:98\ngithub.com/spf13/cobra.(Command).execute\n\tgithub.com/spf13/cobra@v1.6.1/command.go:916\ngithub.com/spf13/cobra.(Command).ExecuteC\n\tgithub.com/spf13/cobra@v1.6.1/command.go:1044\ngithub.com/spf13/cobra.(*Command).Execute\n\tgithub.com/spf13/cobra@v1.6.1/command.go:968\nmain.main\n\t./main.go:68\nruntime.main\n\truntime/proc.go:250"} Error: unable to start manager: Get "https://10.96.0.1:443/api?timeout=32s": dial tcp 10.96.0.1:443: i/o timeout Usage: manager [flags]

Flags: --controller-name string The name of the controller to use for matching ingresses classes (default "k8s.ngrok.com/ingress-controller") --election-id string The name of the configmap that is used for holding the leader lock (default "ngrok-ingress-controller-leader") --health-probe-bind-address string The address the probe endpoint binds to. (default ":8081") -h, --help help for manager --manager-name string Manager name to identify unique ngrok ingress controller instances (default "ngrok-ingress-controller-manager") --metadata string A comma separated list of key value pairs such as 'key1=value1,key2=value2' to be added to ngrok api resources as labels --metrics-bind-address string The address the metric endpoint binds to (default ":8080") --region string The region to use for ngrok tunnels --server-addr string The address of the ngrok server to use for tunnels --watch-namespace string Namespace to watch for Kubernetes resources. Defaults to all namespaces. --zap-devel Development Mode defaults(encoder=consoleEncoder,logLevel=Debug,stackTraceLevel=Warn). Production Mode defaults(encoder=jsonEncoder,logLevel=Info,stackTraceLevel=Error) --zap-encoder encoder Zap log encoding (one of 'json' or 'console') (default ) --zap-log-level level Zap Level to configure the verbosity of logging. Can be one of 'debug', 'info', 'error', or any integer value > 0 which corresponds to custom debug levels of increasing verbosity (default ) --zap-stacktrace-level level Zap Level at and above which stacktraces are captured (one of 'info', 'error', 'panic'). (default ) --zap-time-encoding time-encoding Zap time encoding (one of 'epoch', 'millis', 'nano', 'iso8601', 'rfc3339' or 'rfc3339nano'). Defaults to 'epoch'.

{"level":"error","ts":"2023-12-21T09:34:27Z","logger":"setup","msg":"error running manager","error":"unable to start manager: Get "https://10.96.0.1:443/api?timeout=32s\": dial tcp 10.96.0.1:443: i/o timeout","stacktrace":"main.main\n\t./main.go:69\nruntime.main\n\truntime/proc.go:250"}

What you think should happen instead

No response

How to reproduce

No response

bobzilladev commented 6 months ago

Hello! It looks the like ngrok ingress controller can't access the Kubernetes API due to a network restriction within the cluster. The ingress controller needs access to the API to maintain the network connectivity to other pods. Here's a stack overflow with a similar issue. Hopefully that gets you pointed in the right direction, let us know if there are other questions. Thanks for writing in!

bobzilladev commented 5 months ago

Hi there, wanted to check in and see if you were able to get passed the issue of the ingress controller not being able to access the Kubernetes API? Hope it is up and running now!

bobzilladev commented 5 months ago

Hello, hopefully you found the issue that was preventing the ingress controller from communicating with the kubernetes api, going to close this ticket, but feel free to reopen if there are further questions or issues. Thanks for writing in, this will likely help others diagnose problems!