Istio

再启程,Service Mesh 前路虽长,尤可期许

自古美人都是妖i 提交于 2020-07-24 13:33:04
前言 几乎所有人都在说 Service Mesh;貌似没人知道怎么落地 Service Mesh;但是大家都觉得其他人在大力做 Service Mesh;所以大家都宣称自己在做 Service Mesh。 上面只是开一个玩笑,但是从某种程度反映了一些实际情况:Service Mesh 是一种设计思想和理念,而不是具体的架构或者实现方式,虽然 Istio+Envoy 的配置似乎已经成了事实标准,当我们环顾四周,却发现理想太丰满,现实太骨感,因为各企业当前切实原因,导致各种形态的 Service Mesh 百花齐放。 蚂蚁金服的 Service Mesh 就属于上面提到的百花齐放中的一员,我们已经渡过探索期,全面进入生产应用。去年的双十一完成了交易支付核心链路,几十万容器规模的生产级验证。但是业界对于 Service Mesh 仍然有很多种不同的声音,一方面是众星捧月式的支持,另一方面是困惑和质疑,包括对价值、架构以及性能的质疑。那么我们对此是什么态度?双十一深度实践之后蚂蚁金服的 Service Mesh 路又在何方?Service Mesh 架构是终点吗? 本文将结合蚂蚁金服内部实际场景以及思考,讲述继 2019 双十一之后,蚂蚁金服在 Service Mesh 路上的规划和持续演进。 蚂蚁金服 Service Mesh 实践回顾 上图是 2019 年蚂蚁金服双十一的实践架构

使用Istio进行多集群部署管理(2):单控制平面Gateway连接拓扑

限于喜欢 提交于 2020-07-24 03:09:07
单控制平面拓扑下,多个 Kubernetes 集群共同使用在其中一个集群上运行的单个 Istio 控制平面。控制平面的 Pilot 管理本地和远程集群上的服务,并为所有集群配置 Envoy Sidecar 代理。 集群感知的服务路由 Istio 1.1 中引入了集群感知的服务路由能力,在单一控制平面拓扑配置下,使用 Istio 的 Split-horizon EDS(水平分割端点发现服务)功能可以通过其入口网关将服务请求路由到其他集群。基于请求源的位置,Istio 能够将请求路由到不同的端点。 在该配置中,从一个集群中的 Sidecar 代理到同一集群中的服务的请求仍然被转发到本地服务 IP。如果目标工作负载在其他集群中运行,则使用远程集群的网关 IP 来连接到该服务。 如图所示,主集群 cluster1 运行全套的 Istio 控制平面组件,同时集群 cluster2 仅运行 Istio Citadel、Sidecar Injector 和 Ingress 网关。不需要 VPN 连接,不同集群中的工作负载之间也不需要直接网络访问。 从共享的根 CA 为每个集群的 Citadel 生成中间 CA 证书,共享的根 CA 启用跨不同集群的双向 TLS 通信。为了便于说明,我们将 samples/certs 目录下 Istio 安装中提供的示例根 CA 证书用于两个集群。在实际部署中

Istio Kubernetes Ingress with Cert-Manager: no matches for kind “Certificate” in version “certmanager.k8s.io/v1alpha1”

喜欢而已 提交于 2020-07-23 07:38:25
问题 I'm trying to configure HTTPS for my K8s/Istio cluster. I'm following this official tutorial step by step multiple times from scratch and get the same error every time when try to create a Certificate resource. no matches for kind "Certificate" in version "certmanager.k8s.io/v1alpha1" I tried to install cert-manager and its CRD manually based on official docs and no help. cert-manager-5ff755b6d5-9ncgr 1/1 Running 0 6m55s cert-manager-cainjector-576978ffc8-4db4l 1/1 Running 0 6m55s cert

Istio Kubernetes Ingress with Cert-Manager: no matches for kind “Certificate” in version “certmanager.k8s.io/v1alpha1”

被刻印的时光 ゝ 提交于 2020-07-23 07:38:25
问题 I'm trying to configure HTTPS for my K8s/Istio cluster. I'm following this official tutorial step by step multiple times from scratch and get the same error every time when try to create a Certificate resource. no matches for kind "Certificate" in version "certmanager.k8s.io/v1alpha1" I tried to install cert-manager and its CRD manually based on official docs and no help. cert-manager-5ff755b6d5-9ncgr 1/1 Running 0 6m55s cert-manager-cainjector-576978ffc8-4db4l 1/1 Running 0 6m55s cert

Istio Kubernetes Ingress with Cert-Manager: no matches for kind “Certificate” in version “certmanager.k8s.io/v1alpha1”

ぐ巨炮叔叔 提交于 2020-07-23 07:36:06
问题 I'm trying to configure HTTPS for my K8s/Istio cluster. I'm following this official tutorial step by step multiple times from scratch and get the same error every time when try to create a Certificate resource. no matches for kind "Certificate" in version "certmanager.k8s.io/v1alpha1" I tried to install cert-manager and its CRD manually based on official docs and no help. cert-manager-5ff755b6d5-9ncgr 1/1 Running 0 6m55s cert-manager-cainjector-576978ffc8-4db4l 1/1 Running 0 6m55s cert

Istio RequestAuthentication from Origin Only and Excluding Internals Services in the mesh

好久不见. 提交于 2020-07-23 06:04:49
问题 My use case is that i would deploy Elasticseach + Kibana into the mesh and configure End-User outside of Kubernetes to access Elasticsearch API with JWT Authentication. While i was successful in configuring and applying that I found that my Kibana deployment to be failing. I know it has something to do with the RequestAuthentication + AuthorizationPolicy defined I get a RBAC: access denied error when I tried CURLing elasticsearch from my kibana’s istio-proxy sidecar. Have I misconfigured

Istio RequestAuthentication from Origin Only and Excluding Internals Services in the mesh

只谈情不闲聊 提交于 2020-07-23 06:03:07
问题 My use case is that i would deploy Elasticseach + Kibana into the mesh and configure End-User outside of Kubernetes to access Elasticsearch API with JWT Authentication. While i was successful in configuring and applying that I found that my Kibana deployment to be failing. I know it has something to do with the RequestAuthentication + AuthorizationPolicy defined I get a RBAC: access denied error when I tried CURLing elasticsearch from my kibana’s istio-proxy sidecar. Have I misconfigured

Istio RequestAuthentication from Origin Only and Excluding Internals Services in the mesh

醉酒当歌 提交于 2020-07-23 06:02:31
问题 My use case is that i would deploy Elasticseach + Kibana into the mesh and configure End-User outside of Kubernetes to access Elasticsearch API with JWT Authentication. While i was successful in configuring and applying that I found that my Kibana deployment to be failing. I know it has something to do with the RequestAuthentication + AuthorizationPolicy defined I get a RBAC: access denied error when I tried CURLing elasticsearch from my kibana’s istio-proxy sidecar. Have I misconfigured

Two ingress controller on same K8S cluster

一个人想着一个人 提交于 2020-07-22 06:22:46
问题 I have installed the following two different ingress controllers on my DigitalOcean managed K8S cluster: Nginx Istio and they have been assigned to two different IP addresses. My question is, if it is wrong to have two different ingress controllers on the same K8S cluster? The reason, why I have done it, because nginx is for tools like harbor, argocd, etc. and istio for microservices. I have also figured out, when both are installed alongside each other, sometimes during the deployment, the

Why i am getting connection refused by istio side car injector?

徘徊边缘 提交于 2020-06-29 05:18:10
问题 i have created PostgreSQL cluster using crunchydata pgo operator in a namespace with istio-injection enabled.but now getting api server connection refused. level=error msg="Get https://100.xx.xx.xx:443/apis/batch/v1/namespaces/project/jobs?labelSelector=pg-cluster%3Dmilkr7%2Cpgdump%3Dtrue: dial tcp 100.xx.xx.xx:443: connect: connection refused". api server log : W0603 03:04:21.373083 1 dispatcher.go:180] Failed calling webhook, failing closed sidecar-injector.istio.io: failed calling webhook