如何禁用 Kubernetes 的 Istio sidecar 注入Job?
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: pod-restart
spec:
concurrencyPolicy: Forbid
schedule: '0 8 * * *'
jobTemplate:
metadata:
annotations:
sidecar.istio.io/inject: "false"
spec:
backoffLimit: 2
activeDeadlineSeconds: 600
template:
spec:
serviceAccountName: pod-restart
restartPolicy: Never
containers:
- name: kubectl
image: bitnami/kubectl
command: ['kubectl', 'rollout', 'restart', 'deployment/myapp']
Run Code Online (Sandbox Code Playgroud)
Sidecar 仍然被注入。
我已经为 envoy 编写了 ext_authz 过滤器,并且对 envoy 过滤器的工作原理有基本的了解。但现在我想过滤从上游返回的响应。具体来说,我想处理两件事:
在 Envoy 发送回下游之前,拦截来自上游的 data/jsonBody 并根据某些业务规则过滤/修改 responseJsonBody。
如果上游关闭(当http响应代码408-超时时),我想将后请求保存到async-msg-que并将202-Accepted发送回下游。这样,当上游返回时,它将处理来自 async-msg-que 的待处理后请求。
是否有现有的过滤器可以用于这些目的,或者使用 envoy-proxy sidecar 执行此操作的正确方法是什么。
谢谢。