实际上都是envoy 的功劳
基本环境安装参考相关文档即可
参考demo
- proto code
syntax = "proto3";option java_multiple_files = true;option java_package = "io.grpc.examples.helloworld";option java_outer_classname = "HelloWorldProto";package helloworld;// The greeting service definition.service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {}}// The request message containing the user's name.message HelloRequest { string name = 1;}// The response message containing the greetingsmessage HelloReply { string message = 1;}curl -v -H "x-ambassador-test-allow: probably" http://localhost:32190//qotm/quote/1
- 部署&& 配置(所用官方yaml文件)
---apiVersion: v1kind: Servicemetadata: labels: service: grpc-greet name: grpc-greet annotations: getambassador.io/config: | --- apiVersion: ambassador/v0 kind: Mapping name: grpc_mapping grpc: true prefix: /helloworld.Greeter/ rewrite: /helloworld.Greeter/ service: grpc-greetspec: type: ClusterIP ports: - port: 80 name: grpc-greet targetPort: grpc-api selector: service: grpc-greet---apiVersion: extensions/v1beta1kind: Deploymentmetadata: name: grpc-greetspec: replicas: 1 template: metadata: labels: service: grpc-greet spec: containers: - name: grpc-greet image: enm10k/grpc-hello-world ports: - name: grpc-api containerPort: 9999 env: - name: PORT value: "9999" command: - greeter_server restartPolicy: Alwayskubectl apply -f demo-grpc.yaml
部署状态
测试
- 测试脚本
docker run -e ADDRESS=10.6.245.140:32190 enm10k/grpc-hello-world greeter_client
测试结果
参考资料