Istioは先月バージョン 1.10をリリースした。主な新機能には、検出セレクター、リビジョンタグ、サイドカーネットワークの変更が含まれ、IstioユーザのDay 2の操作を改善する。
検出セレクターは、名前空間のラベルに適用されるKubernetesセレクターの配列であり、Istioが特定の名前空間のセットを監視できるようにする。以前のバージョンでは、IstioはすべてのKubernetesリソースを監視し、大規模なクラスタや構成が頻繁に変更されるクラスタでスケーラビリティの問題につながる可能性があった。
Istio.ioの作法
Istio 1.10のリビジョンタグは、以前のリリースと同様に複数のコントロールプレーンの安全なデプロイをサポートするが、リビジョンを変更するために名前空間のラベルを頻繁に変更する負担はない。これにより、ユーザがcanary (カナリア) や prod などのタグを作成することができる新しい間接レイヤが追加される、リビジョンとしてそれらにタグ付け (例: istio.io/rev=prod) して使用し名前空間にラベルを付け、特定の istiod
リビジョンをそのタグにリンクする。これは、この記事の執筆時点での実験的な機能だ。
Istio 1.10では、lo
(ループバックデバイスと呼ばれる仮想ネットワークインターフェイス) ではなく eth0
(物理イーサネットインターフェイス) 上のアプリケーションにデフォルトでトラフィックを送信するようにEnvoyプロキシを更新することにより、サイドカーネットワークが変更された。新しいユーザにとっては、これは影響のない改善であるはずだ。ただし、既存のユーザの場合、一部のポッドが影響を受ける可能性があるため、コマンド istioctl experimental precheck
を使用した事前チェックを推奨する。
InfoQは、Googleのソフトウェアエンジニアであり、Istioプロジェクトのリリースマネージャの1人であるSam Naser氏にインタビューした。彼は、Istioチームが引き続き安定性を強調し、1.9リリースと同様の焦点である既存の機能を成熟点に持っていくと述べた。
InfoQ: リリースマネージャになることの困難について話していただけますか?
Sam Naser氏: リリースマネージャであるということは、ほとんどの場合、誰が問題について話し合うかを知っているだけであり、リリースのすべての適切なボックスがチェックされていることを確認して、時間どおりにドアを開けることです。テストおよびリリースワーキンググループのEric Van Norman氏とBrian Avery氏は、技術的には1.10のリリースマネージャではありませんでしたが、多大な関与と支援をしてくれたことに特に感謝しています。
InfoQ: サイドカーネットワークの変更について詳しく説明していただけますか? 特に、以前のバージョンのIstioを使用しているアプリケーション開発者は影響を受けるのでしょうか?
Naser氏: 古いバージョンのIstioでは、サイドカーはポッドトラフィックを傍受し、ローカルホスト上のユーザアプリケーションに転送していました。ユーザは、アプリがローカルホストで動作することをリッスンしていることを確認する必要がありました。1.10以降、サイドカーはトラフィックを eth0 にリダイレクトします。この変更により、IstioはZookeeperやElasticsearchなどの一般的なステートフルアプリケーションですぐに機能するようになりますが、そのためには、ローカルホストに独占的にバインドされているユーザアプリケーションを変更する必要があります。これを自動的にキャッチして移行を容易にするコマンドを追加しました。詳細については、Istioブログをご覧ください。
InfoQ: 今後も四半期ごとのリリースを継続する予定でしょうか?
Naser氏: Istioを将来的に年に3回のリリースに移行し、サポートウィンドウを拡張することについて活発な議論があります。この決定はまだ具体的には確定していません。
Istioは、プラットフォームに依存しないオープンソースサービスメッシュであり、クラウドネイティブアプリケーションの可観測性、トラフィック管理、セキュリティ、およびポリシーを簡素化する。このプロジェクトは、LyftのEnvoyチームと協力して、GoogleとIBMのチームによって開始された。
Istio 1.10リリースの詳細については、リリース変更ノートのページに記載されている。