kubernetes - 如何覆盖应用部署中的 istio-proxy 选项?
问题描述
我想将 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 -]]
...
解决方案
最简单的方法是kubectl edit configmaps istio-sidecar-injector -n istio-system
只需将模板更改为[[ formatDuration .ProxyConfig.ConnectTimeout ]]
您想要的值。
如果您使用 Helm 部署 Istio,您可以更改图表。
您还可以获取 istio-sidecar-injector 的 configmapsYAML
并将其保存到文件中。
kubectl get configmaps istio-sidecar-injector -n istio-system -o yaml > istio-sidecar-injector.yaml
此外,这可能对您的kubernetes / 向 configMap 注入值的最佳实践有所帮助。
推荐阅读
- automated-tests - Robot Framework 中的动态测试设置/拆卸?
- apache-kafka - clickhouse:无法解析 JSON 字符串:预期的开场白:(在读取关键数据的值时):(在第 1 行):在执行 SourceFromInputStream 时
- python - 如何在 Python 中找到分割的 RGB 值
- r - ggplot facet y 垂直包裹
- java - 如何将已从 JWT 中排除的权限传递给端点的参数
- paypal - 卖家账户下的 PayPal 订阅计划(市场)
- c# - userInputsgirl 被称为变量,即使它是一个类
- symfony5 - 用 symfony 更新我的控制器中的数据库
- google-cloud-firestore - 通过 Firestore 将数据从 BigQuery 公开到移动/Web 应用程序
- java - 由编译器完成的 Java try-with-resource 实现