-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Restoring pods in an Istio enabled namespace causes them to error #2997
Comments
@Samze thank you for reporting this. This issue seems to have enough information to try to replicate and evaluate an outcome. |
Thanks for the detailed production steps @Samze. I'm able to confirm this with Istio 1.7.3, and in reading the Istio issue, I think it's definitely a result of Velero applying the object "as-is" (which has the configuration once) and then Istio seeing the object being recreated and trying to configure it too. This isn't necessarily unique to Istio and Velero. There are a number of operators/controllers that don't expect Velero to restore resources with their labels and annotations (though we do remove status), so they re-process the restored objects. One potential fix from our side: remove specific Istio annotations via a Pod I do think istio/istio#25931 is the more correct fix, though. |
Facing the exact same issue, currently using the workaround of excluding POD resources at the time of restore. Did upgrade to latest version 1.5.2. Any resolution to this problem will be of great help. |
Could you provide the example of command to exclude the pod resources that work for you @venksel ? |
Closing because the Istio issue has been closed, so please check to see if they have resolved the issue. If not, then we suggest you reopen the Istio issue. |
Here is the command: |
What steps did you take and what happened:
istioctl install --set profile=default
velero install
kubectl create namespace nginx-example
kubectl label namespace nginx-example istio-injection=enabled
kubectl apply -f https://raw.githubusercontent.com/vmware-tanzu/velero/main/examples/nginx-app/base.yaml
velero backup create nginx-backup --include-namespaces nginx-example
kubectl delete namespaces nginx-example
velero restore create --from-backup nginx-backup
What did you expect to happen:
The pods to be restored successfully.
Anything else you would like to add:
This was also raised on the istio repo here: istio/istio#27675
It appears as though injection of istio is happening twice on a restore, once from velero once from istio.
(You can potentially work around this by excluding the pod resource and let the deployment recreate the pods, however this will mean that volumes for pods won't be backedup)
Environment:
velero version
): v1.5.1velero client config get features
): <NOT_SET>kubectl version
): Server: 1.16, Client: 1.19/etc/os-release
):Vote on this issue!
This is an invitation to the Velero community to vote on issues, you can see the project's top voted issues listed here.
Use the "reaction smiley face" up to the right of this comment to vote.
Thanks Sam and @teddyking
The text was updated successfully, but these errors were encountered: