Skip to content

Latest commit

 

History

History
56 lines (37 loc) · 2.08 KB

service-mesh.md

File metadata and controls

56 lines (37 loc) · 2.08 KB

Deploying to an Istio-enabled cluster

This repository provides an istio-manifests directory containing ingress resources (an Istio Gateway and VirtualService) needed to expose the app frontend running inside a Kubernetes cluster.

You can apply these resources to your cluster in addition to the kubernetes-manifests, then use the Istio IngressGateway's external IP to view the app frontend. See the following instructions for Istio steps.

Steps

  1. Create a GKE cluster with at least 4 nodes, machine type e2-standard-4.
PROJECT_ID="<your-project-id>"
ZONE="<your-GCP-zone>"

gcloud container clusters create onlineboutique \
    --project=${PROJECT_ID} --zone=${ZONE} \
    --machine-type=e2-standard-4 --num-nodes=4
  1. Install Istio on your cluster.

  2. Enable Istio sidecar proxy injection in the default Kubernetes namespace.

    kubectl label namespace default istio-injection=enabled
  3. Apply all the manifests in the /release directory. This includes the Istio and Kubernetes manifests.

    kubectl apply -f ./release 
  4. Run kubectl get pods to see pods are in a healthy and ready state.

  5. Find the IP address of your Istio gateway Ingress or Service, and visit the application frontend in a web browser.

    INGRESS_HOST="$(kubectl -n istio-system get service istio-ingressgateway \
       -o jsonpath='{.status.loadBalancer.ingress[0].ip}')"
    echo "$INGRESS_HOST"
    curl -v "http://$INGRESS_HOST"

Additional service mesh demos using OnlineBoutique