charts
charts copied to clipboard
Helm waits forever
I am using this ingress controller in a manner similar to #23. I'm using controller.hostNetwork=true
and thus do not require the Service
resource that this chart creates. My values config is as follows:
controller:
hostNetwork: true
extraArgs:
"watch-ingress-without-class":
kind: DaemonSet
stats:
enabled: true
daemonset:
useHostPort: true
nodeSelector:
role: ingress-controller
When deploying with helm, with the --wait
as I need the command to block until the controller is ready, causes Helm to wait forever on a condition that will never happen:
$ helm upgrade --install haproxy-ingress haproxy-ingress/haproxy-ingress --create-namespace --namespace ingress-controller --version 0.14.2 -f values.yaml --debug --wait
history.go:56: [debug] getting history for release haproxy-ingress
upgrade.go:142: [debug] preparing upgrade for haproxy-ingress
upgrade.go:150: [debug] performing update for haproxy-ingress
upgrade.go:322: [debug] creating upgraded release for haproxy-ingress
client.go:396: [debug] checking 11 resources for changes
client.go:684: [debug] Patch PodDisruptionBudget "haproxy-ingress" in namespace ingress-controller
client.go:675: [debug] Looks like there are no changes for ServiceAccount "haproxy-ingress"
client.go:675: [debug] Looks like there are no changes for ConfigMap "haproxy-ingress"
client.go:675: [debug] Looks like there are no changes for ConfigMap "haproxy-ingress-tcp"
client.go:675: [debug] Looks like there are no changes for ClusterRole "haproxy-ingress"
client.go:675: [debug] Looks like there are no changes for ClusterRoleBinding "haproxy-ingress"
client.go:675: [debug] Looks like there are no changes for Role "haproxy-ingress"
client.go:675: [debug] Looks like there are no changes for RoleBinding "haproxy-ingress"
client.go:684: [debug] Patch Service "haproxy-ingress" in namespace ingress-controller
client.go:675: [debug] Looks like there are no changes for Service "haproxy-ingress-stats"
client.go:684: [debug] Patch DaemonSet "haproxy-ingress" in namespace ingress-controller
upgrade.go:394: [debug] waiting for release haproxy-ingress resources (created: 0 updated: 11 deleted: 0)
wait.go:48: [debug] beginning wait for 11 resources with timeout of 5m0s
ready.go:258: [debug] Service does not have load balancer ingress IP address: ingress-controller/haproxy-ingress
ready.go:258: [debug] Service does not have load balancer ingress IP address: ingress-controller/haproxy-ingress
ready.go:258: [debug] Service does not have load balancer ingress IP address: ingress-controller/haproxy-ingress
ready.go:258: [debug] Service does not have load balancer ingress IP address: ingress-controller/haproxy-ingress
ready.go:258: [debug] Service does not have load balancer ingress IP address: ingress-controller/haproxy-ingress
ready.go:258: [debug] Service does not have load balancer ingress IP address: ingress-controller/haproxy-ingress
ready.go:258: [debug] Service does not have load balancer ingress IP address: ingress-controller/haproxy-ingress
... (message is repeated many times) ...
ready.go:258: [debug] Service does not have load balancer ingress IP address: ingress-controller/haproxy-ingress
upgrade.go:434: [debug] warning: Upgrade "haproxy-ingress" failed: timed out waiting for the condition
Error: UPGRADE FAILED: timed out waiting for the condition
helm.go:84: [debug] timed out waiting for the condition
UPGRADE FAILED
main.newUpgradeCmd.func2
helm.sh/helm/v3/cmd/helm/upgrade.go:202
github.com/spf13/cobra.(*Command).execute
github.com/spf13/[email protected]/command.go:916
github.com/spf13/cobra.(*Command).ExecuteC
github.com/spf13/[email protected]/command.go:1044
github.com/spf13/cobra.(*Command).Execute
github.com/spf13/[email protected]/command.go:968
main.main
helm.sh/helm/v3/cmd/helm/helm.go:83
runtime.main
runtime/proc.go:250
runtime.goexit
runtime/asm_arm64.s:1172
This goes on for some time until Helm gives up and returns an error, despite everything working correctly.
Not using --wait
is not an option here as I need to wait until the daemonset is actually up and healthy.
Hi, you can try configuring controller's service as ClusterIP, here is one of the installation tips regarding that:
The default service type is `LoadBalancer`, add `--set controller.service.type=<type>`
command-line option to change to `ClusterIP` or `NodePort`