如何在 sidecar inject-config.yaml 中更改 istio 全局参数

How to change istio global parameter in sidecar inject-config.yaml

我正在尝试更改 inject-config.yaml

中的 istio 全局配置参数 initialDelaySeconds
initialDelaySeconds: [[ annotation .ObjectMeta `readiness.status.sidecar.istio.io/initialDelaySeconds`  1  ]]

当我为我的 initialDelaySeconds 尝试下面的代码示例时,我收到错误..

$ kubectl get cm istio-sidecar-injector -n istio-system -o yaml | sed -e "s initialDelaySeconds: 1/ initialDelaySeconds: 10/" | kubectl apply -f -

低于错误

 sed: -e expression #1, char 28: unknown option to `s'
 error: no objects passed to apply
 error: write /dev/stdout: The pipe has been ended.

在 sidecar 注入中更改我的全局参数的正确语法是什么-config.xml

下面的代码片段也适用于 rewriteAppHTTPProbe

$ kubectl get cm istio-sidecar-injector -n istio-system -o yaml | sed -e "s/ rewriteAppHTTPProbe: false/ rewriteAppHTTPProbe: true/" | kubectl apply -f -

如果可能的话分享下面的yaml文件 istio-sidecar-injector -n istio-system -o yaml

试试这个

kubectl get cm istio-sidecar-injector -n istio-system -o yaml | sed -e "s/rewriteAppHTTPProbe: false/grewriteAppHTTPProbe: true/g" | kubectl apply -f -


master $ cat testfile
initialDelaySeconds: [[ annotation .ObjectMeta `readiness.status.sidecar.istio.io/initialDelaySeconds`  1]]

sed -i '/initialDelaySeconds:/c\initialDelaySeconds: 10' testfile

master $ cat testfile
initialDelaySeconds: 10

常规 kubectl edit cm 仅适用于开源 Istio。

否则,如果您将 Istio 用作 GKE 集群 add-on,这会有点棘手,因为所有编辑都由主节点上的混合器 运行 进行协调。您可以做的是转储您的 configmap --> injection-cm,进行您想要的编辑,然后将其用于手动注入,即

istioctl kube-inject -f deployment.yaml --injectConfigMapName injection-cm

更多信息here

您可以只使用 kubectl edit 来编辑配置图:

kubectl edit cm istio-sidecar-injector -n istio-system