This pr adds the possibility to add specific annotations to the migration job pod
Motivation
Because Kubernetes jobs and services mesh applications are not that compatible in regards to finishing jobs and removing service mesh sidecar proxy containers these jobs stay forever.
With this change these pods can be explicitly marked via the annotation to skip the service mesh injection
For example:
If you are running a linkerd service mesh all pods within a namespace are automatically injected via an annotation to the namespace.
This leads to Kubernetes jobs to never finish because the proxy is never finished.
To disable this behaviour you can add the "linkerd.io/inject: disabled" annotation to the pod. This skips the injection process for this pod and the job then is finished.
Checklist
[x] Unit, integration, and e2e (if applicable) tests updated
[x] Documentation added (or pr:no public docs PR label added if not required)
[ ] Added the relevant release notes label (see labels prefixed w/ release:). These labels dictate how your PR will
show up in the autogenerated release notes.
What this PR does
This pr adds the possibility to add specific annotations to the migration job pod
Motivation
Because Kubernetes jobs and services mesh applications are not that compatible in regards to finishing jobs and removing service mesh sidecar proxy containers these jobs stay forever.
With this change these pods can be explicitly marked via the annotation to skip the service mesh injection
For example:
If you are running a linkerd service mesh all pods within a namespace are automatically injected via an annotation to the namespace. This leads to Kubernetes jobs to never finish because the proxy is never finished. To disable this behaviour you can add the "linkerd.io/inject: disabled" annotation to the pod. This skips the injection process for this pod and the job then is finished.
Checklist
pr:no public docs
PR label added if not required)release:
). These labels dictate how your PR will show up in the autogenerated release notes.