4.3. Istio アンビエントモードでの Bookinfo アプリケーションのデプロイ
				ZTunnel プロキシーを使用して、サイドカーインジェクションなしで Istio アンビエントモードで info サンプルアプリケーションをデプロイできます。bookinfo アプリケーションの詳細は、「Bookinfo アプリケーションについて」を参照してください。
			
前提条件
- Istio アンビエントモードに必要なサポートされている Kubernetes Gateway API カスタムリソース定義 (CRD) を含む OpenShift Container Platform 4.15 以降にクラスターをデプロイしている。
 - 
						インストール方法に応じて、
cluster-adminロールを持つユーザーとして Web コンソールを使用するか、またはoc loginコマンドを使用して OpenShift Container Platform クラスターにログインしている。 - Red Hat OpenShift Service Mesh Operator をインストールし、Istio リソースを作成して、Operator によって Istio がデプロイされている。
 - 
						
IstioCNIリソースが作成され、Operator によって必要なIstioCNIPod がデプロイされている。 - 
						
Ztunnelリソースが作成され、Operator によって必要なZtunnelPod がデプロイされている。 
手順
次のコマンドを実行して、
infonamespace を作成します。oc create namespace info
$ oc create namespace infoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
istio-discovery=enabledラベルをinfonamespace に追加します。oc label namespace info istio-discovery=enabled
$ oc label namespace info istio-discovery=enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
infoYAML ファイルを適用し、bookinfoアプリケーションをデプロイします。oc apply -n info -f https://raw.githubusercontent.com/openshift-service-mesh/istio/release-1.26/samples/bookinfo/platform/kube/bookinfo.yaml
$ oc apply -n info -f https://raw.githubusercontent.com/openshift-service-mesh/istio/release-1.26/samples/bookinfo/platform/kube/bookinfo.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
info-versionsYAML ファイルを適用し、bookinfoアプリケーションをデプロイします。oc apply -n info -f https://raw.githubusercontent.com/openshift-service-mesh/istio/release-1.26/samples/bookinfo/platform/kube/bookinfo-versions.yaml
$ oc apply -n info -f https://raw.githubusercontent.com/openshift-service-mesh/istio/release-1.26/samples/bookinfo/platform/kube/bookinfo-versions.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
infoPod が実行されていることを確認します。oc -n info get pods
$ oc -n info get podsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
infoアプリケーションが実行中であることを確認します。oc exec "$(oc get pod -l app=ratings -n info \ -o jsonpath='{.items[0].metadata.name}')" \ -c ratings -n info \ -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"$ oc exec "$(oc get pod -l app=ratings -n info \ -o jsonpath='{.items[0].metadata.name}')" \ -c ratings -n info \ -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace 全体または個々の Pod にラベルを付けて、info アプリケーションを Istio アンビエントメッシュに追加します。
info namespace にすべてのワークロードを含めるには、次のコマンドを実行して、
istio.io/dataplane-mode=ambientラベルをbookinfonamespace に適用します。oc label namespace info istio.io/dataplane-mode=ambient
$ oc label namespace info istio.io/dataplane-mode=ambientCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 
								特定のワークロードのみを含めるには、
istio.io/dataplane-mode=ambientラベルを個々の Pod に直接適用します。メッシュ内のワークロードを追加または除外するために使用されるラベルの詳細は、「関連情報」セクションを参照してください。 
注記アンビエントメッシュにワークロードを追加する場合、アプリケーション Pod を再起動したり再デプロイしたりする必要はありません。サイドカーモードとは異なり、各 Pod 内のコンテナーの数は変更されません。
次のコマンドを実行して、Ztunnel プロキシーが Pod ネットワーク namespace でリスニングソケットを正常に開いたことを確認します。
istioctl ztunnel-config workloads --namespace ztunnel
$ istioctl ztunnel-config workloads --namespace ztunnelCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow