kubectl label namespace <Your_Example_Namespace> istio-injection=enabled
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
因為之前是使用Default去安裝Istio,因此我們需要將Istio-gateway Kubernetes Service Type 從 LoadBalancer 改為 NodePort。
kubectl edit svc -n istio-system istio-ingressgateway
接下來要將Gateway Expose,可以參考這邊
export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
export SECURE_INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].nodePort}')
export INGRESS_HOST=127.0.0.1
export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT
curl -s http://${GATEWAY_URL}/productpage | grep -o "<title>.*</title>"
這邊因為是採用K3D進行環境的示範,因此還必須搭配如何Expose Service
明天就會示範如何將K3D的服務Expose,後面我們就會開始討論各Istio物件以及Kubernets的應用。