Excerpt |
---|
This is the default helm chart for all jobs running on the |
...
eHealth platform. |
Istio specific notes
If you deploy a job in an Istio-enabled namespace you have two options to make it work correctly.
...
Using envoy-preflight ensures that the job does not start until the Istio sidecar is ready , and that the sidecar shuts down when the applications application exits.
If your Dockerfile for your application looks like this pseudo code:
...
Code Block |
---|
FROM golang:1.13 as envoy-preflight-builder WORKDIR /go/src RUN mkdir monzo WORKDIR /go/src/monzo RUN git clone https://github.com/monzo/envoy-preflight WORKDIR /go/src/monzo/envoy-preflight RUN git reset --hard $ad8dc56e19eeb06e556d2687d5b6f97407b31352 RUN CGO_ENABLED=0 go build && \ chmod +x envoy-preflight FROM .. your existing Dockerfile # Copy envoy-preflight COPY --from=envoy-preflight-builder /go/src/monzo/envoy-preflight/envoy-preflight /usr/local/bin/envoy-preflight ENTRYPOINT ["envoy-preflight", "existing"] |
And ensure Ensure that the job is deployed using these Helm values for the job Helm chart:
...
Code Block | ||
---|---|---|
| ||
job: overrideIstioInjection: true |
This option is not available for jobs that communicate with other services on the platform, as the job itself would need to establish mTLS communication with the other service.