Kubernetes v1.18 の SIG-Network の変更内容をまとめました。
What's New (新情報)
- IPv6 が Kubernetes v1.18 でベータになりました。新しい CI のジョブでテストカバレッジが大きく増加しています。
- Node Local DNSCache が GA になりました(#1351)。この機能は DNS キャッシュの Pod を DaemonSet として動かし、クラスタの DNS のパフォーマンスと 信頼性を大きく上げるアドオンです。この機能は 1.13 のリリースから Alpha でした。
Kubernetes の DNS は Conntrack の競合や、テーブル溢れが起きやすく障害点になりやすいコンポーネントです。Node Local DNSCache は DaemonSet で各ノードでキャッシュ用の CoreDNS を立ち上げることで、この問題を改善するものです。
Changes by Kind
kube-proxy
-
-healthz-port
と--metrics-port
フラグが廃止予定となりました。代わりに--healthz-bind-address
と--metrics-bind-address
を利用してください。#88512 -
--ipvs-tcp-timeout
,--ipvs-tcpfin-timeout
,--ipvs-udp-timeout
が追加され、IPVS コネクションのタイムアウトを設定できるようになりました #85517 - オプショナルの
--detect-local-mode
フラグが追加されました。有効な値は "ClusterCIDR" (現在の挙動) と "NodeCIDR" です。#87748 - kube-controller-manager に新しく追加された
--endpointslice-updates-batch-period
フラグで、Pod の変更によって発生する、EndpointSlice の更新回数を減らすことができるようになりました。 #88745 - kube-proxy, kubelet, kube-controller-manager, kube-scheduler に新しく追加された
--show-hidden-metrics-for-version
フラグで、前回のマイナーリリースで廃止予定となり非表示となったメトリクスを再表示できるようになりました。#85279 - iptables proxier が IPv4/IPv6 の dual-stack をサポートするようになりました。#82462
-
--node-ip ::
の指定で、IPv6 のアドレスを自動検出しノードのプライマリアドレスとして使用することができるようになりました。#85850
Ingress
- より適切な Ingress の設定を行うため、IngressClass リソースが新規に追加されました。#88509
- 廃止予定の
kubernetes.io/ingress.class
アノテーションはspec.ingressClassName
で置き換えられます。これは Ingress オブジェクトを特定のコントローラーに紐付けるものです。 - パスの定義に
pathType
が追加され、パスをどのようにマッチさせるかを明示できるようになりました。有効な値はExact
,Prefix
,ImplementationSpecific
です。-
Prefix
は単純な前方一致ではなく、/
で分割した際の一致となります。たとえば Prefix/foo/bar
は/foo/bar/baz
に一致しますが、/foo/barbaz
には一致しません。
-