アプリケーションのデプロイ

Istioを調査するには、さまざまなIstio機能を示すために使用される4つの独立したマイクロサービスで構成されたサンプルBookinfoアプリケーションをインストールします。

Istio's Bookinfo sample application is written in many different languages
IstioのBookinfoサンプルアプリケーションは、多くの異なる言語で記述されています。

このガイドでは、Bookinfoアプリケーションをデプロイし、イングレスゲートウェイを使用してproductpageサービスを公開します。

Bookinfoアプリケーションのデプロイ

アプリケーションのデプロイから始めます。

$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/bookinfo/platform/kube/bookinfo.yaml
$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/bookinfo/platform/kube/bookinfo-versions.yaml

アプリケーションが実行されていることを確認するには、ポッドのステータスを確認します。

$ kubectl get pods
NAME                             READY   STATUS    RESTARTS   AGE
details-v1-cf74bb974-nw94k       1/1     Running   0          42s
productpage-v1-87d54dd59-wl7qf   1/1     Running   0          42s
ratings-v1-7c4bbf97db-rwkw5      1/1     Running   0          42s
reviews-v1-5fd6d4f8f8-66j45      1/1     Running   0          42s
reviews-v2-6f9b55c5db-6ts96      1/1     Running   0          42s
reviews-v3-7d99fd7978-dm6mx      1/1     Running   0          42s

クラスタの外からproductpageサービスにアクセスするには、イングレスゲートウェイを設定する必要があります。

イングレスゲートウェイのデプロイと設定

Kubernetes Gateway APIを使用して、bookinfo-gatewayというゲートウェイをデプロイします。

$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.24/samples/bookinfo/gateway-api/bookinfo-gateway.yaml

デフォルトでは、IstioはゲートウェイにLoadBalancerサービスを作成します。このゲートウェイにはトンネル経由でアクセスするため、ロードバランサーは必要ありません。ゲートウェイにアノテーションを付けることで、サービスの種類をClusterIPに変更してください。

$ kubectl annotate gateway bookinfo-gateway networking.istio.io/service-type=ClusterIP --namespace=default

ゲートウェイのステータスを確認するには、以下のコマンドを実行します。

$ kubectl get gateway
NAME               CLASS   ADDRESS                                            PROGRAMMED   AGE
bookinfo-gateway   istio   bookinfo-gateway-istio.default.svc.cluster.local   True         42s

アプリケーションへのアクセス

先ほどプロビジョニングしたゲートウェイを通じて、Bookinfoのproductpageサービスに接続します。ゲートウェイにアクセスするには、kubectl port-forwardコマンドを使用する必要があります。

$ kubectl port-forward svc/bookinfo-gateway-istio 8080:80

ブラウザを開き、https://#:8080/productpageに移動して、Bookinfoアプリケーションを表示します。

Bookinfo Application
Bookinfoアプリケーション

ページを更新すると、リクエストがreviewsサービスの異なるバージョンに分散されるため、本のレビューと評価が変化していることがわかります。

次のステップ

次のセクションへ進むと、アプリケーションをメッシュに追加し、アプリケーション間の通信を保護および可視化する方法を学習できます。

この情報は役に立ちましたか?
改善のための提案はありますか?

ご意見ありがとうございました!