grpc-istio-demo

module
v0.0.0-...-fe35ec4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2023 License: MIT

README

gRPC Istio Demo

Based on Istio 1.1.7

Deployment Diagram

How to start

  1. install minikube
  2. install pv & pvc (used by envoy.grpc_json_transcoder filter, mounting the proto_descriptor)
  3. install istio by using the istio's installer in this repo
  4. kubectl label namespace default istio-injection=enabled
  5. kubectl apply -f istio/idp.yaml
  6. kubectl apply -f istio/server.yaml
  7. kubectl apply -f istio/web-ui.yaml
  8. kubectl apply -f istio/gateway.yaml
  9. kubectl apply -f istio/envoyfilter*.yaml
  10. make create-istio-frontend-ingressgateway (used by the front-end application only which have no envoy.ext_authz applied)
  11. kubectl apply -f istio/frontend-gateway.yaml
  12. make run-auth-server
  13. make run-idp-example-app
  • Note: Since I'm using minikube, there is an IP address is hardcode 192.168.39.224 & port 31380 as well
  • Note: There is a domain xianchao.me point to my local machine with the network-interface IP address

Play & verify

  1. Set Http header Authorization Bearer IDToken before send any request
  2. Send http POST request to /demo-server/v1/sayhello & /demo-server/v1/emoji via curl or postman
  3. Send grpc-web request to /demo-server/proto.EmojiService/InsertEmojis via browser

Resources

You can learn more about this project from the following articles.

Directories

Path Synopsis
Envoy’s External Authorization Service.
Envoy’s External Authorization Service.
istio
istio-1.2.5/tools/license
Binary get_dep_licenses outputs aggrerate license information for all transitive Istio dependencies.
Binary get_dep_licenses outputs aggrerate license information for all transitive Istio dependencies.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL