前言
因為drone 的 kubernetes Runner的關係,
導致我有一個ns要預設取消istio inject,
但某些特定的pod要注入就失敗了。
正文
先來看一張官方做的表(1),
其實就很好解釋為什麼不會注入了。
namespaceSelector match | default policy | Pod override annotation sidecar.istio.io/inject | Sidecar injected? |
---|---|---|---|
yes | enabled | true (default) | yes |
yes | enabled | false | no |
yes | disabled | true | yes |
yes | disabled | false (default) | no |
no | enabled | true (default) | no |
no | enabled | false | no |
no | disabled | true | no |
no | disabled | false (default) | no |
各欄位解釋,
- namespaceSelector match:各namespace的 istio-inject是 enable或 disable
- default policy: 這個預設都是enable,要查看使用command或到configmap查看 istio-sidecar-injector
kubectl -n istio-system get configmap istio-sidecar-injector -o jsonpath='{.data.config}' | grep policy:
- Pod override annotation : 直接指定pod會不會注入的 annotation
- Sidecar injected :結果
結論,
namespace只要是 disabled的,通通不會inject sidecar
ref.
1. Automatic Sidecar Injection
2. Sidecar 自動注入問題
3. 關於Istio Automatic Sidecar Injection那檔事
0 意見:
張貼留言