如何在应用程序部署中覆盖istio-proxy选项?

时间:2019-02-13 12:25:37

标签: kubernetes istio

我想将istio-proxy的--connectTimeout设置为2s,而不是默认的10s。是否可以覆盖istio-sidecar-injector configMap中定义的选项值?

containers:
  - name: istio-proxy
    image: [[ annotation .ObjectMeta `sidecar.istio.io/proxyImage`  "registry.cn-beijing.aliyuncs.com/aliacs-app-catalog/proxyv2:1.0.5"  ]]

    ports:
    - containerPort: 15090
      protocol: TCP
      name: http-envoy-prom

    args:
    - proxy
    - sidecar
    - --configPath
    - [[ .ProxyConfig.ConfigPath ]]
    - --binaryPath
    - [[ .ProxyConfig.BinaryPath ]]
    - --serviceCluster
    [[ if ne "" (index .ObjectMeta.Labels "app") -]]
    - [[ index .ObjectMeta.Labels "app" ]]
    [[ else -]]
    - "istio-proxy"
    [[ end -]]
    - --drainDuration
    - [[ formatDuration .ProxyConfig.DrainDuration ]]
    - --parentShutdownDuration
    - [[ formatDuration .ProxyConfig.ParentShutdownDuration ]]
    - --discoveryAddress
    - [[ annotation .ObjectMeta `sidecar.istio.io/discoveryAddress` .ProxyConfig.DiscoveryAddress ]]
    - --discoveryRefreshDelay
    - [[ formatDuration .ProxyConfig.DiscoveryRefreshDelay ]]
    - --zipkinAddress
    - [[ .ProxyConfig.ZipkinAddress ]]
    - --connectTimeout
    - [[ formatDuration .ProxyConfig.ConnectTimeout ]]
    - --proxyAdminPort
    - [[ .ProxyConfig.ProxyAdminPort ]]
    [[ if gt .ProxyConfig.Concurrency 0 -]]
    - --concurrency
    - [[ .ProxyConfig.Concurrency ]]
    [[ end -]]
...

1 个答案:

答案 0 :(得分:0)

最简单的方法是kubectl edit configmaps istio-sidecar-injector -n istio-system

只需将模板[[ formatDuration .ProxyConfig.ConnectTimeout ]]更改为所需的值即可。

如果您使用Helm部署Istio,则可以更改图表。

您还可以将YAML的istio-sidecar-injector的配置图保存到文件中。

kubectl get configmaps istio-sidecar-injector -n istio-system -o yaml > istio-sidecar-injector.yaml

此外,这可能对您kubernetes / Best practice to inject values to configMap有帮助。

相关问题