Skip to content
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

Pods with sidecar injection stuck in ContainerCreating status #15895

Closed
mishaque opened this issue Jul 29, 2019 · 9 comments · Fixed by istio/cni#172
Closed

Pods with sidecar injection stuck in ContainerCreating status #15895

mishaque opened this issue Jul 29, 2019 · 9 comments · Fixed by istio/cni#172
Assignees
Labels
Milestone

Comments

@mishaque
Copy link

mishaque commented Jul 29, 2019

No description provided.

@mishaque mishaque changed the title Pods with sidecar injection stuck in containercreated status Pods with sidecar injection stuck in ContainerCreating status Jul 29, 2019
@howardjohn howardjohn added the area/networking/cni Istio CNI-related issues label Jul 29, 2019
@rlenglet
Copy link
Contributor

rlenglet commented Jul 29, 2019

@mishaque Istio CNI logs into journalctl on the node. Can you grep for "nsenter" in journalctl logs?

@rlenglet
Copy link
Contributor

@mishaque more specifically look for a log containing "nsenter failed".

@rlenglet
Copy link
Contributor

@mishaque Also can you give more details about the kernel on your worker nodes? What version? Does it support iptables? nftables?

@rlenglet
Copy link
Contributor

Ok so IPv6 is disabled in your kernel?

@rlenglet
Copy link
Contributor

rlenglet commented Jul 29, 2019

That is weird because the script attempts to setup ip6tables chains only if the pod has an IPv6 address.
@mishaque could you please run "ip addr" inside a pod (without injection) and post the output?

@rlenglet
Copy link
Contributor

Thanks! So that means that the isIPv6 function in the istio-iptables.sh script is buggy. I'll fix that.

@mishaque
Copy link
Author

@rlenglet is there a workaround for time being?

@rlenglet rlenglet added this to the 1.3 milestone Jul 29, 2019
@mishaque
Copy link
Author

@rlenglet, thanks for including this in the 1.3 milestone. I will try enabling the IPV6 on the Node as a workaround; I am not sure if this would solve the issue. Please let me know your recommendation/workaround.

@rlenglet
Copy link
Contributor

The ENABLE_INBOUND_IPV6 variable is not set in your logs:

ENABLE_INBOUND_IPV6=\n

So there is no mis-detection of IPv6. That part is correct.
The commands that are failing are those executed in case IPv6 is not detected:
https://github.com/istio/cni/blob/master/tools/packaging/common/istio-iptables.sh#L665-L668

  ip6tables -F INPUT || true
  ip6tables -A INPUT -m state --state ESTABLISHED -j ACCEPT || true
  ip6tables -A INPUT -i lo -d ::1 -j ACCEPT || true
  ip6tables -A INPUT -j REJECT || true

These commands are failing because of the retrying of the commands in this script.
I need to disable retries for those in case IPv6 is disabled.

This bug is specific to Istio CNI's version of the istio-iptables.sh script.
So @mishaque you could try using normal injection instead of Istio CNI. It won't have this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants