Istio

闲鱼在ServiceMesh的探索和实践

蹲街弑〆低调 提交于 2021-02-09 03:35:23
  背景:      在阿里服务端开发以Java为主的大背景下,其他异构语言业务如何调用现有Java服务,如何与集团中间件打通,就成为使用非Java语言团队必须要解决的首要问题。      已有方案问题:      在ServiceMesh方案成熟之前,我们采用:通过Dart C/C++扩展方式调用各中间件客户端SO库(类JNI)。该方案在业务初期很好的解决了Dart服务端生态建设问题。但是该方案还存在以下几个问题:      运维耦合度高。业务代码和客户端SO库代码打包在一起,运行在同一进程,一旦微服务框架需要升级,业务代码也需要维护和重启。      复杂性:进程内的多个语言环境,跨语言数据表示和传输等问题,都会增加系统的复杂性,降低原有服务的性能。      接入成本高      新功能滞后      ServiceMesh方案:      由于现有方案存在的一些问题,我们转向ServiceMesh寻找解决问题的思路      如上图所示:与目前比较常见的微服务框架相比,ServiceMesh把微服务客户端核心功能独立出来,并作为一个独立Proxy进程部署在每一个主机上,业务进程通过Proxy进程与外界通信。这个独立的Proxy进程就是ServiceMesh的核心: SideCar。      业务进程和SideCar之间最常见的两种通信方案:1.

How to configure Azure App Gateway in Istio

拥有回忆 提交于 2021-02-08 10:06:55
问题 I have an application setup on AKS (Azure Kubernetes Service) and I’m currently using Azure Application gateway as ingress resource for my application running on AKS. Now after setting up ISTIO for my cluster the graphs are coming up fine except one part. Since the Azure APP gateway is unknown to ISTIO it is showing the resource as “unknown”. I even tried launching a virtual service and pointed it to the ingress resource but that didn’t have any effect on the graph. How shall I establish to

How to configure Azure App Gateway in Istio

跟風遠走 提交于 2021-02-08 10:01:35
问题 I have an application setup on AKS (Azure Kubernetes Service) and I’m currently using Azure Application gateway as ingress resource for my application running on AKS. Now after setting up ISTIO for my cluster the graphs are coming up fine except one part. Since the Azure APP gateway is unknown to ISTIO it is showing the resource as “unknown”. I even tried launching a virtual service and pointed it to the ingress resource but that didn’t have any effect on the graph. How shall I establish to

kubernetes: Failed to update endpoints warning

时光怂恿深爱的人放手 提交于 2021-02-07 13:34:13
问题 Here is something I noticed in my kubectl get events output Warning FailedToUpdateEndpoint Endpoints Failed to update endpoint mynamespace/myservice: Operation cannot be fulfilled on endpoints "myservice": the object has been modified; please apply your changes to the latest version and try again I am aware of this discussion, but I do not think is applicable, given I am not explicitly creating an Endpoint resource via yaml . I am noticing some minor service unavailability during image

kubernetes: Failed to update endpoints warning

匆匆过客 提交于 2021-02-07 13:33:40
问题 Here is something I noticed in my kubectl get events output Warning FailedToUpdateEndpoint Endpoints Failed to update endpoint mynamespace/myservice: Operation cannot be fulfilled on endpoints "myservice": the object has been modified; please apply your changes to the latest version and try again I am aware of this discussion, but I do not think is applicable, given I am not explicitly creating an Endpoint resource via yaml . I am noticing some minor service unavailability during image

Istio mTLS working just between some services even though tls-check prints STATUS OK for everyone

♀尐吖头ヾ 提交于 2021-02-07 10:34:06
问题 I am trying to enable mTLS in my mesh that I have already working with istio's sidecars. The problem I have is that I just get working connections up to one point, and then it fails to connect. This is how the services are set up right now with my failing implementation of mTLS (simplified): Istio IngressGateway -> NGINX pod -> API Gateway -> Service A -> [ Database ] -> Service B First thing to note is that I was using a NGINX pod as a load balancer to proxy_pass my requests to my API

Istio mTLS working just between some services even though tls-check prints STATUS OK for everyone

穿精又带淫゛_ 提交于 2021-02-07 10:33:45
问题 I am trying to enable mTLS in my mesh that I have already working with istio's sidecars. The problem I have is that I just get working connections up to one point, and then it fails to connect. This is how the services are set up right now with my failing implementation of mTLS (simplified): Istio IngressGateway -> NGINX pod -> API Gateway -> Service A -> [ Database ] -> Service B First thing to note is that I was using a NGINX pod as a load balancer to proxy_pass my requests to my API

How to add custom port for istio ingress gateway?

≡放荡痞女 提交于 2021-02-07 04:11:23
问题 I'm new to istio. I have a simple ingress gateway yaml file, and the listenling port is 26931, but after I applied the yaml, the port 26931 does not appear in the set of ports which ingress gateway expose. So am I lack of some necessary step or something else? apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: batman-gateway spec: selector: istio: ingressgateway servers: - port: number: 26931 name: http protocol: HTTP hosts: - "*" 回答1: You are exposing ports not with

How to add custom port for istio ingress gateway?

折月煮酒 提交于 2021-02-07 04:07:30
问题 I'm new to istio. I have a simple ingress gateway yaml file, and the listenling port is 26931, but after I applied the yaml, the port 26931 does not appear in the set of ports which ingress gateway expose. So am I lack of some necessary step or something else? apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: batman-gateway spec: selector: istio: ingressgateway servers: - port: number: 26931 name: http protocol: HTTP hosts: - "*" 回答1: You are exposing ports not with

Match Istio Virtual Services routes for different paths on same port

Deadly 提交于 2021-02-05 10:42:10
问题 I'm wondering how I can match gRPC routes on the same port. Here's an example of what I was hoping to accomplish with my VirtualService: apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: istio-ingress spec: hosts: - "*" gateways: - istio-gateway http: - match: - uri: prefix: "/custom.api/stream" - port: 31400 route: - destination: host: stream-handler.default.svc.cluster.local port: number: 8444 timeout: 60s retries: attempts: 3 perTryTimeout: 2s - match: - port: