Advent Calendar 2020 全部オレシリーズ 7日目です。もう完走は諦めました。
Istio 1.8 での変更点
8月にリリースされた Istio 1.7 で追加され、「メインコンテナの起動前に istio-proxy の起動を完了させる」で紹介した機能ですが、1.8 で設定方法に変更が入っていました。
これまで通りに Istio のインストールを行おうとしたら早くも deprecated だと警告が出ました。
! values.global.proxy.holdApplicationUntilProxyStarts is deprecated; use ProxyConfig holdApplicationUntilProxyStarts insteadIstio 1.7 では次のように values.global.proxy.holdApplicationUntilProxyStarts に設定していたのですがもう推奨されない。
| |
Istio 1.8 では Pod 単位でこれを有効・無効化できるようになったみたいです。Change Notes にも次のように書かれています。
Added
holdApplicationUntilProxyStartsfield toProxyConfig, allowing it to be configured at the pod level. Should not be used in conjunction with the deprecatedvalues.global.proxy.holdApplicationUntilProxyStartsvalue. (Issue #27696)
ProxyConfig ってなんだよ!っていろいろ探したのですがこれは source code を追う必要がありそう。これだろうってのは分かりましたけど、証拠は掴んでいない。
Istio 1.8 ではどう設定するかですが、Pod 単位で上書きできるので meshConfig.defaultConfig.holdApplicationUntilProxyStarts でデフォルトを指定します。
| |
Pod で指定する場合は次のように annotation に設定します。
| |
これらの設定は istio-proxy container の env に次のように入っています。
| |
おそらくこれが ProxyConfig の元になるやつですね。
istio-system の istio-sidecar-injector という ConfigMap の template という値に次のような感じで使われているので 1.7 の設定でもまだ使えます。
| |


