Hatena前回はGKE上でistioのサービスメッシュを構築し、サンプルアプリケーションをデプロイしました。今回は、その環境を使ってistioの設定と動作を確認していきたいと思います。参考にするページは以下のとおりです。Shiftingリクエストのルーティングサンプルアプリケーションは、フロントエンドから各マイクロサービスに通信する構成になっています。その中でも、reviewsサービスはいくつかのバージョンがデプロイされていて、アクセスするたびにバージョンが切り替わってしまいます。そこで、VirtualServiceの設定を変更してバージョンを固定することで、リクエストのルーティング方法を学びます。現状のサービスの一覧を表示して確認しておきます。178m次に、以下のコマンドでVirtualServiceの内容も確認しておきます。9080このVirtualServiceは前回、Gatewayを作成したときに作成されたものです。現状の設定ではURIが「/productpage」「/login」「/logout」の場合と「/api/v1/products」から始まる場合は、productpageサービスにルーティングするように設定されています。現状の確認ができたので、次に用意されているVirtualServiceを適用させてみます。samples/bookinfo/networking/virtual-service-all-v1.yaml設定された内容を確認します。v1新たに、各サービスのVirtualServiceが追加されました。前回、DestinationRuleで設定されたバージョン(subset)がv1に指定されているのがわかります。この状態でブラウザからアクセスすると、レビューの星が表示されないことを確認できます。(v1のreviewsは星がでません)検証のために、reviewsサービスをv2にしてみます。v2ブラウザからアクセスすると、黒い星のレビューしか表示されないことを確認できました。次に、トラフィックをv1とv3に50%ずつ転送(分散)するように設定してみます。この検証は、カナリアリリースを行うときに役立ちます。トラフィックの100%をv1に転送するようにします。samples/bookinfo/networking/virtual-service-all-v1.yamlブラウザでアクセスすると、レビューの星が表示されないことが確認できます。次に、用意されたVirtualServiceを適用させます。samples/bookinfo/networking/virtual-service-reviews-50-v3.yamlreviewsのVirtualServiceが以下のように設定されました。50weightで重みを設定しているのが確認できます。ブラウザで数回アクセスすると、約50%でレビューの星がでなかったり、赤い星がでたりするのが確認できます。今回は50%からスタートでしたが、実際は少量のトラフィックを段階的に新しいバージョンに転送していき、最終的には100%のトラフィックを転送した時点でリリース完了ということになります。まとめリクエストのルーティングとトラフィックの移行に必要な設定と動作を確認しました。istioを使うことで、K8sだけでは難しかった細かなトラフィックの制御が簡単にできるようになり、より安定したリリースが実現できると思います。最新の記事アーティス創造性を最大限に発揮するとともに、インターネットに代表されるITを活用し、みんなの生活が便利で、豊かで、楽しいものになるようなサービスやコンテンツを考え、創り出し提供しています。MACHINEの使い方~「モノのインターネット」IoTとは?IoTの活用事例とIoTの動向について解説します。受託システム開発により、ユーザーエクスペリエンスを高め、お客様のWeb戦略を成功に導きます。Webサイトに関するパッケージシステムの開発や個人向けのWebサービス・スマートフォンアプリ開発など幅広いサービス・アプリケーションを提供しています。名刺の作成販売を行っているECサイト「アーティス名刺工房」を運営しています。豊富なデザイン・迅速な対応で多くのお客様から支持をいただいています。Reserved.ページの先頭へ。