New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
webhook initialization fails with istio injection enabled #6394
Comments
i'm using ingree-nginx v0.41.2. after disable webhook function still can't injection istio sidecar into ingress-nginx-controller |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-contributor-experience at kubernetes/community. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-contributor-experience at kubernetes/community. |
Rotten issues close after 30d of inactivity. Send feedback to sig-contributor-experience at kubernetes/community. |
@fejta-bot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This seems like a bug to me. Can we reopen this? Why was it closed? |
Ran into this and did a bit of digging, this issue is about Kubernetes, Job containers and Sidecars, it isn't specific to TLDR; Any job started in a namespace where sidecar injection is enabled gets a sidecar, but this sidecar pod does not know if/when the original job pod completed. The job that is set up when installing ingress-nginx works fine and completes, but the Istio sidecar pod runs till infinity, leaving the job in incomplete state. Solution 1: Disable sidecar injectionExactly as suggested by the issue author, add this to your values.yaml: controller:
admissionWebhooks:
patch:
podAnnotations:
sidecar.istio.io/inject: "false" Solution 2: Manually send the stop command to the job containerAs per this post for the curl command that you need to send to istio-proxy, here's a couple one-liners for executing the call in the relevant container, note example namespace as EXAMPLE: # admission-create
kubectl exec -it $(kubectl get pods -o custom-columns=":metadata.name" -A | grep nginx-admission-create) -n EXAMPLE -c istio-proxy -- curl -sf -XPOST http://127.0.0.1:15020/quitquitquit
# admission-patch
kubectl exec -it $(kubectl get pods -o custom-columns=":metadata.name" -A | grep nginx-admission-create) -n EXAMPLE -c istio-proxy -- curl -sf -XPOST http://127.0.0.1:15020/quitquitquit References: |
when trying to deploy the helm chart into a namespace (in a cluster with istio installed) with injection enabled
(there is a label on the namespace like
istio-injection=enabled
), the{blah}-admission-create
will seem to complete, with the following in the logs:but then other components expected for successful operation (e.g.
{blah}-controller
) will not show up.i have found that the following setting will remediate this issue:
this may or may not qualify as a bug, but i'm leaving this here in case it helps anyone else 👍
The text was updated successfully, but these errors were encountered: