ืืžืช ืžื™ื“ื” ืœืฆืจื™ื›ืช ืžืขื‘ื“ ืขื‘ื•ืจ Istio ื•-Linkerd

ืืžืช ืžื™ื“ื” ืœืฆืจื™ื›ืช ืžืขื‘ื“ ืขื‘ื•ืจ Istio ื•-Linkerd

ืžื‘ื•ื

ืื ื—ื ื• ื‘ืคื ื™ื Shopify ื”ื—ืœื” ืœืคืจื•ืก ืืช Istio ื›ืจืฉืช ืฉื™ืจื•ืช. ืขืงืจื•ื ื™ืช ื”ื›ืœ ื‘ืกื“ืจ ื—ื•ืฅ ืžื“ื‘ืจ ืื—ื“: ื–ื” ื™ืงืจ.

ะ’ ืžื“ื“ื™ื ืฉืคื•ืจืกืžื• ืขื‘ื•ืจ Istio ื›ืชื•ื‘:

ืขื Istio 1.1, ื”-proxy ืฆื•ืจืš ื›-0,6 vCPUs (ืœื™ื‘ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช) ืœื›ืœ 1000 ื‘ืงืฉื•ืช ื‘ืฉื ื™ื™ื”.

ืขื‘ื•ืจ ื”ืื–ื•ืจ ื”ืจืืฉื•ืŸ ื‘ืจืฉืช ื”ืฉื™ืจื•ืช (2 ืคืจื•ืงืกื™ ื‘ื›ืœ ืฆื“ ืฉืœ ื”ื—ื™ื‘ื•ืจ), ื™ื”ื™ื• ืœื ื• 1200 ืœื™ื‘ื•ืช ืจืง ืขื‘ื•ืจ ื”-proxy, ื‘ืงืฆื‘ ืฉืœ ืžื™ืœื™ื•ืŸ ื‘ืงืฉื•ืช ื‘ืฉื ื™ื™ื”. ืœืคื™ ืžื—ืฉื‘ื•ืŸ ื”ืขืœื•ื™ื•ืช ืฉืœ ื’ื•ื’ืœ, ื–ื” ืžืกืชื‘ืจ ืœื”ื™ื•ืช ื›-$40 ืœื—ื•ื“ืฉ/ืœื™ื‘ื” ืขื‘ื•ืจ ืชืฆื•ืจื” n1-standard-64ื›ืœื•ืžืจ, ื”ืื–ื•ืจ ื”ื–ื” ืœื‘ื“ื• ื™ืขืœื” ืœื ื• ื™ื•ืชืจ ืž-50 ืืœืฃ ื“ื•ืœืจ ืœื—ื•ื“ืฉ ืขื‘ื•ืจ ืžื™ืœื™ื•ืŸ ื‘ืงืฉื•ืช ื‘ืฉื ื™ื™ื”.

ืื™ื•ื•ืŸ ืกื™ื (ืื™ื•ื•ืŸ ืกื™ื) ื”ืฉื•ื•ืื” ื•ื™ื–ื•ืืœื™ืช ืจืฉืช ืฉื™ืจื•ืช ืขื™ื›ื•ื‘ื™ื ื‘ืฉื ื” ืฉืขื‘ืจื” ื•ื”ื‘ื˜ื™ื—ื• ืืช ืื•ืชื• ื”ื“ื‘ืจ ืขื‘ื•ืจ ื–ื™ื›ืจื•ืŸ ื•ืžืขื‘ื“, ืื‘ืœ ื–ื” ืœื ื”ืกืชื“ืจ:

ื›ื›ืœ ื”ื ืจืื”, values-istio-test.yaml ื™ื’ื“ื™ืœ ื‘ืจืฆื™ื ื•ืช ืืช ื‘ืงืฉื•ืช ื”ืžืขื‘ื“. ืื ื‘ื™ืฆืขืชื™ ืืช ื”ื—ื™ืฉื•ื‘ ื ื›ื•ืŸ, ืืชื” ืฆืจื™ืš ื›-24 ืœื™ื‘ื•ืช ืžืขื‘ื“ ืขื‘ื•ืจ ืœื•ื— ื”ื‘ืงืจื” ื•-0,5 ืžืขื‘ื“ ืขื‘ื•ืจ ื›ืœ ืคืจื•ืงืกื™. ืื™ืŸ ืœื™ ื›ืœ ื›ืš ื”ืจื‘ื”. ืื—ื–ื•ืจ ืขืœ ื”ื‘ื“ื™ืงื•ืช ื›ืืฉืจ ื™ื•ืงืฆื• ืœื™ ืžืฉืื‘ื™ื ื ื•ืกืคื™ื.

ืจืฆื™ืชื™ ืœืจืื•ืช ื‘ืขืฆืžื™ ืขื“ ื›ืžื” ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ Istio ื“ื•ืžื™ื ืœืจืฉืช ืื—ืจืช ืฉืœ ืฉื™ืจื•ืช ืงื•ื“ ืคืชื•ื—: ืœื™ื ืงืจื“.

ื”ืชืงื ืช ืจืฉืช ืฉื™ืจื•ืช

ืงื•ื“ื ื›ืœ, ื”ืชืงื ืชื™ ืื•ืชื• ื‘ืืฉื›ื•ืœ SuperGloo:

$ supergloo init
installing supergloo version 0.3.12
using chart uri https://storage.googleapis.com/supergloo-helm/charts/supergloo-0.3.12.tgz
configmap/sidecar-injection-resources created
serviceaccount/supergloo created
serviceaccount/discovery created
serviceaccount/mesh-discovery created
clusterrole.rbac.authorization.k8s.io/discovery created
clusterrole.rbac.authorization.k8s.io/mesh-discovery created
clusterrolebinding.rbac.authorization.k8s.io/supergloo-role-binding created
clusterrolebinding.rbac.authorization.k8s.io/discovery-role-binding created
clusterrolebinding.rbac.authorization.k8s.io/mesh-discovery-role-binding created
deployment.extensions/supergloo created
deployment.extensions/discovery created
deployment.extensions/mesh-discovery created
install successful!

ื”ืฉืชืžืฉืชื™ ื‘-SuperGloo ื›ื™ ื–ื” ื”ื•ืคืš ืืช ื”ืืชื—ื•ืœ ืฉืœ ืจืฉืช ื”ืฉื™ืจื•ืช ืœื”ืจื‘ื” ื™ื•ืชืจ ืงืœื”. ืœื ื”ื™ื™ืชื™ ืฆืจื™ืš ืœืขืฉื•ืช ื”ืจื‘ื”. ืื ื—ื ื• ืœื ืžืฉืชืžืฉื™ื ื‘-SuperGloo ื‘ื™ื™ืฆื•ืจ, ืื‘ืœ ื”ื•ื ืื™ื“ื™ืืœื™ ืœืžืฉื™ืžื” ื›ื–ื•. ื”ื™ื™ืชื™ ืฆืจื™ืš ืœื”ืฉืชืžืฉ ืžืžืฉ ื‘ื›ืžื” ืคืงื•ื“ื•ืช ืขื‘ื•ืจ ื›ืœ ืจืฉืช ืฉื™ืจื•ืช. ื”ืฉืชืžืฉืชื™ ื‘ืฉื ื™ ืืฉื›ื•ืœื•ืช ืœื‘ื™ื“ื•ื“ - ืื—ื“ ื›ืœ ืื—ื“ ืขื‘ื•ืจ Istio ื•-Linkerd.

ื”ื ื™ืกื•ื™ ื ืขืจืš ื‘-Google Kubernetes Engine. ื”ืฉืชืžืฉืชื™ ื‘-Kubernetes 1.12.7-gke.7 ื•ืžืื’ืจ ืฆืžืชื™ื n1-standard-4 ืขื ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ืฉืœ ืฆืžืชื™ื (ืžื™ื ื™ืžื•ื 4, ืžืงืกื™ืžื•ื 16).

ืœืื—ืจ ืžื›ืŸ ื”ืชืงื ืชื™ ืืช ืฉืชื™ ืจืฉืชื•ืช ื”ืฉื™ืจื•ืช ืžืฉื•ืจืช ื”ืคืงื•ื“ื”.

ืžืงื•ืฉืจ ืจืืฉื•ืŸ:

$ supergloo install linkerd --name linkerd
+---------+--------------+---------+---------------------------+
| INSTALL |     TYPE     | STATUS  |          DETAILS          |
+---------+--------------+---------+---------------------------+
| linkerd | Linkerd Mesh | Pending | enabled: true             |
|         |              |         | version: stable-2.3.0     |
|         |              |         | namespace: linkerd        |
|         |              |         | mtls enabled: true        |
|         |              |         | auto inject enabled: true |
+---------+--------------+---------+---------------------------+

ื•ืื– ืื™ืกื˜ื™ื•:

$ supergloo install istio --name istio --installation-namespace istio-system --mtls=true --auto-inject=true
+---------+------------+---------+---------------------------+
| INSTALL |    TYPE    | STATUS  |          DETAILS          |
+---------+------------+---------+---------------------------+
| istio   | Istio Mesh | Pending | enabled: true             |
|         |            |         | version: 1.0.6            |
|         |            |         | namespace: istio-system   |
|         |            |         | mtls enabled: true        |
|         |            |         | auto inject enabled: true |
|         |            |         | grafana enabled: true     |
|         |            |         | prometheus enabled: true  |
|         |            |         | jaeger enabled: true      |
+---------+------------+---------+---------------------------+

ืœื•ืœืืช ื”ื”ืชืจืกืงื•ืช ืืจื›ื” ื›ืžื” ื“ืงื•ืช, ื•ืื– ืœื•ื—ื•ืช ื”ื‘ืงืจื” ื”ืชื™ื™ืฆื‘ื•.

(ื”ืขืจื”: SuperGloo ืชื•ืžืš ืจืง ื‘-Istio 1.0.x ืœืขืช ืขืชื”. ื—ื–ืจืชื™ ืขืœ ื”ื ื™ืกื•ื™ ืขื Istio 1.1.3, ืืš ืœื ื”ื‘ื—ื ืชื™ ื‘ื”ื‘ื“ืœ ื ื™ื›ืจ).

ื”ื’ื“ืจืช ืคืจื™ืกื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ Istio

ื›ื“ื™ ืœื’ืจื•ื ืœ-Istio ืœื”ืชืงื™ืŸ ืืช ื”ืงืจื•ืŸ ื”ืฆื“ื“ื™ Envoy, ืื ื• ืžืฉืชืžืฉื™ื ื‘ืžื–ืจืง ื”ืงืจื•ืŸ ื”ืฆื™ื“ื™ - MutatingAdmissionWebhook. ืœื ื ื“ื‘ืจ ืขืœ ื–ื” ื‘ืžืืžืจ ื–ื”. ื”ืจืฉื• ืœื™ ืจืง ืœื•ืžืจ ืฉื–ื”ื• ื‘ืงืจ ืฉืžื ื˜ืจ ืืช ื”ื’ื™ืฉื” ืฉืœ ื›ืœ ื”ืคื•ื“ ื”ื—ื“ืฉ ื•ืžื•ืกื™ืฃ ื‘ืื•ืคืŸ ื“ื™ื ืžื™ ืฆื“ื“ื™ืช ื•-initContainer, ืฉืื—ืจืื™ ืขืœ ื”ืžืฉื™ืžื•ืช iptables.

ืื ื—ื ื• ื‘-Shopify ื›ืชื‘ื ื• ืืช ื‘ืงืจ ื”ื’ื™ืฉื” ืฉืœื ื• ื›ื“ื™ ืœื”ื˜ืžื™ืข ืžื›ื•ื ื™ื•ืช ืฆื“, ืื‘ืœ ืขื‘ื•ืจ ื”ืžื“ื“ ื”ื–ื” ื”ืฉืชืžืฉืชื™ ื‘ื‘ืงืจ ืฉืžื’ื™ืข ืขื Istio. ื”ื‘ืงืจ ืžื–ืจื™ืง ืงืจื•ื ื•ืช ืฆื“ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื›ืืฉืจ ื™ืฉ ืงื™ืฆื•ืจ ื“ืจืš ื‘ืžืจื—ื‘ ื”ืฉืžื•ืช istio-injection: enabled:

$ kubectl label namespace irs-client-dev istio-injection=enabled
namespace/irs-client-dev labeled

$ kubectl label namespace irs-server-dev istio-injection=enabled
namespace/irs-server-dev labeled

ื”ื’ื“ืจืช ืคืจื™ืกื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ Linkerd

ื›ื“ื™ ืœื”ื’ื“ื™ืจ ื”ื˜ื‘ืขื” ืฆื“ื“ื™ืช ืฉืœ Linkerd, ืื ื• ืžืฉืชืžืฉื™ื ื‘ื”ืขืจื•ืช (ื”ื•ืกืคืชื™ ืื•ืชืŸ ื™ื“ื ื™ืช ื‘ืืžืฆืขื•ืช kubectl edit):

metadata:
  annotations:
    linkerd.io/inject: enabled

$ k edit ns irs-server-dev 
namespace/irs-server-dev edited

$ k get ns irs-server-dev -o yaml
apiVersion: v1
kind: Namespace
metadata:
  annotations:
    linkerd.io/inject: enabled
  name: irs-server-dev
spec:
  finalizers:
  - kubernetes
status:
  phase: Active

ืกื™ืžื•ืœื˜ื•ืจ ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ืฉืœ Istio

ื‘ื ื™ื ื• ืกื™ืžื•ืœื˜ื•ืจ ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ื‘ืฉื Istio ื›ื“ื™ ืœื”ืชื ืกื•ืช ื‘ืชื ื•ืขื” ื™ื™ื—ื•ื“ื™ืช ืœ- Shopify. ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ื›ืœื™ ืœื™ืฆื™ืจืช ื˜ื•ืคื•ืœื•ื’ื™ื” ืžื•ืชืืžืช ืื™ืฉื™ืช ืฉืชื™ื™ืฆื’ ื—ืœืง ืžืกื•ื™ื ืžื’ืจืฃ ื”ืฉื™ืจื•ืช ืฉืœื ื•, ื”ืžื•ื’ื“ืจ ื‘ืื•ืคืŸ ื“ื™ื ืžื™ ืœืžื•ื“ืœ ืฉืœ ืขื•ืžืกื™ ืขื‘ื•ื“ื” ืกืคืฆื™ืคื™ื™ื.

ื”ืชืฉืชื™ืช ืฉืœ Shopify ื ืžืฆืืช ืชื—ืช ืขื•ืžืก ื›ื‘ื“ ื‘ืžื”ืœืš ืžื›ื™ืจื•ืช ื”ื‘ื–ืง. ื‘ืžืงื‘ื™ืœ, Shopify ืžืžืœื™ืฅ ืœืžื•ื›ืจื™ื ืœืงื™ื™ื ืžื›ื™ืจื•ืช ื›ืืœื” ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื™ื•ืชืจ. ืœืงื•ื—ื•ืช ื’ื“ื•ืœื™ื ืžืชืจื™ืขื™ื ืœืคืขืžื™ื ืขืœ ืžื›ื™ืจื” ื‘ื–ืง ืžืชื•ื›ื ื ืช. ืื—ืจื™ื ืžื ื”ืœื™ื ืื•ืชื ื‘ืื•ืคืŸ ื‘ืœืชื™ ืฆืคื•ื™ ืขื‘ื•ืจื ื• ื‘ื›ืœ ืฉืขื” ืฉืœ ื”ื™ื•ื ืื• ื”ืœื™ืœื”.

ืจืฆื™ื ื• ืฉืกื™ืžื•ืœื˜ื•ืจ ื”ื—ื•ืกืŸ ืฉืœื ื• ื™ื“ื’ืžืŸ ื–ืจื™ืžื•ืช ืขื‘ื•ื“ื” ื”ืชื•ืืžื•ืช ืืช ื”ื˜ื•ืคื•ืœื•ื’ื™ื•ืช ื•ืขื•ืžืกื™ ื”ืขื‘ื•ื“ื” ืฉื”ื›ืจื™ืขื• ืืช ื”ืชืฉืชื™ืช ืฉืœ Shopify ื‘ืขื‘ืจ. ื”ืžื˜ืจื” ื”ืขื™ืงืจื™ืช ืฉืœ ืฉื™ืžื•ืฉ ื‘ืจืฉืช ืฉื™ืจื•ืช ื”ื™ื ืฉืื ื• ื–ืงื•ืงื™ื ืœืืžื™ื ื•ืช ื•ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ื‘ืจืžืช ื”ืจืฉืช, ื•ื—ืฉื•ื‘ ืœื ื• ืฉืจืฉืช ื”ืฉื™ืจื•ืช ืชืชืžื•ื“ื“ ื‘ื™ืขื™ืœื•ืช ืขื ืขื•ืžืกื™ื ืฉื‘ืขื‘ืจ ืฉื™ื‘ืฉื• ืฉื™ืจื•ืชื™ื.

ื‘ืœื™ื‘ื• ืฉืœ ืกื™ืžื•ืœื˜ื•ืจ ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ื ืžืฆื ืฆื•ืžืช ืขื•ื‘ื“, ื”ืคื•ืขืœ ื›ืฆื•ืžืช ืจืฉืช ืฉื™ืจื•ืช. ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ืืช ืฆื•ืžืช ื”ืขื•ื‘ื“ ื‘ืื•ืคืŸ ืกื˜ื˜ื™ ื‘ืขืช ื”ื”ืคืขืœื” ืื• ื‘ืื•ืคืŸ ื“ื™ื ืžื™ ื‘ืืžืฆืขื•ืช REST API. ืื ื• ืžืฉืชืžืฉื™ื ื‘ืชืฆื•ืจื” ื“ื™ื ืžื™ืช ืฉืœ ืฆืžืชื™ ืขื•ื‘ื“ื™ื ื›ื“ื™ ืœื™ืฆื•ืจ ื–ืจื™ืžื•ืช ืขื‘ื•ื“ื” ื‘ืฆื•ืจื” ืฉืœ ืžื‘ื—ื ื™ ืจื’ืจืกื™ื”.

ื”ื ื” ื“ื•ื’ืžื” ืœืชื”ืœื™ืš ื›ื–ื”:

  • ืื ื• ืžืฉื™ืงื™ื 10 ืฉืจืชื™ื ื› bar ืฉื™ืจื•ืช ืฉืžื—ื–ื™ืจ ืชื’ื•ื‘ื” 200/OK ืœืื—ืจ 100 ืืœืคื™ื•ืช ื”ืฉื ื™ื™ื”
  • ืื ื• ืžืฉื™ืงื™ื 10 ืœืงื•ื—ื•ืช - ื›ืœ ืื—ื“ ืฉื•ืœื— ืืœื™ื”ื 100 ื‘ืงืฉื•ืช ื‘ืฉื ื™ื™ื” bar.
  • ื›ืœ 10 ืฉื ื™ื•ืช ืื ื• ืžืกื™ืจื™ื ืฉืจืช ืื—ื“ ื•ืžื ื˜ืจื™ื ืฉื’ื™ืื•ืช 5xx ืขืœ ื”ืœืงื•ื—.

ื‘ืกื™ื•ื ืชื”ืœื™ืš ื”ืขื‘ื•ื“ื” ืื ื• ื‘ื•ื—ื ื™ื ืืช ื”ื™ื•ืžื ื™ื ื•ื”ืžื“ื“ื™ื ื•ื‘ื•ื“ืงื™ื ื”ืื ื”ืžื‘ื—ืŸ ืขื‘ืจ. ื‘ื“ืจืš ื–ื• ืื ื• ืœื•ืžื“ื™ื ืขืœ ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืจืฉืช ื”ืฉื™ืจื•ืช ืฉืœื ื• ื•ืžืจื™ืฆื™ื ืžื‘ื—ืŸ ืจื’ืจืกื™ื” ื›ื“ื™ ืœื‘ื—ื•ืŸ ืืช ื”ื”ื ื—ื•ืช ืฉืœื ื• ืœื’ื‘ื™ ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช.

(ื”ืขืจื”: ืื ื—ื ื• ื—ื•ืฉื‘ื™ื ืขืœ ืžืงื•ืจื•ืช ืคืชื•ื—ื™ื ืœืกื™ืžื•ืœื˜ื•ืจ ืกื•ื‘ืœื ื•ืช ื”ืชืงืœื•ืช ืฉืœ Istio, ืื‘ืœ ืขื“ื™ื™ืŸ ืœื ืžื•ื›ื ื™ื ืœืขืฉื•ืช ื–ืืช.)

ืกื™ืžื•ืœื˜ื•ืจ ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ืฉืœ Istio ืœืžื‘ื—ืŸ ืจืฉืช ืฉื™ืจื•ืช

ื”ื’ื“ืจื ื• ืžืกืคืจ ืฆืžืชื™ื ืขื‘ื•ื“ื” ืฉืœ ื”ืกื™ืžื•ืœื˜ื•ืจ:

  • irs-client-loadgen: 3 ื”ืขืชืงื™ื ืฉืฉื•ืœื—ื™ื 100 ื‘ืงืฉื•ืช ื‘ืฉื ื™ื™ื” ืœื›ืœ irs-client.
  • irs-client: 3 ื”ืขืชืงื™ื ืฉืžืงื‘ืœื™ื ืืช ื”ื‘ืงืฉื”, ืžืžืชื™ื ื™ื 100ms ื•ืžืขื‘ื™ืจื™ื ืืช ื”ื‘ืงืฉื” ืœ irs-server.
  • irs-server: 3 ื”ืขืชืงื™ื ืฉื—ื•ื–ืจื™ื 200/OK ืœืื—ืจ 100 ืืœืคื™ื•ืช ื”ืฉื ื™ื™ื”

ืขื ืชืฆื•ืจื” ื–ื•, ืื ื• ื™ื›ื•ืœื™ื ืœืžื“ื•ื“ ื–ืจื™ืžืช ืชื ื•ืขื” ื™ืฆื™ื‘ื” ื‘ื™ืŸ 9 ื ืงื•ื“ื•ืช ืงืฆื”. ืงืจื•ื ื•ืช ืฆื“ ืคื ื™ืžื” irs-client-loadgen ะธ irs-server ืœืงื‘ืœ 100 ื‘ืงืฉื•ืช ื‘ืฉื ื™ื™ื”, ื•ื›ืŸ irs-client - 200 (ื ื›ื ืกื™ื ื•ื™ื•ืฆืื™ื).

ืื ื• ืขื•ืงื‘ื™ื ืื—ืจ ื”ืฉื™ืžื•ืฉ ื‘ืžืฉืื‘ื™ื ื‘ืืžืฆืขื•ืช ื ืชื•ื ื™ืื›ื™ ืื™ืŸ ืœื ื• ืืฉื›ื•ืœ ืคืจื•ืžืชืื•ืก.

ืžืžืฆืื™ื

ืœื•ื—ื•ืช ื‘ืงืจื”

ืจืืฉื™ืช, ื‘ื“ืงื ื• ืืช ืฆืจื™ื›ืช ื”ืžืขื‘ื“.

ืืžืช ืžื™ื“ื” ืœืฆืจื™ื›ืช ืžืขื‘ื“ ืขื‘ื•ืจ Istio ื•-Linkerd
ืœื•ื— ื‘ืงืจื” Linkerd ~22 ืžื™ืœื™ ืœื™ื‘ื•ืช

ืืžืช ืžื™ื“ื” ืœืฆืจื™ื›ืช ืžืขื‘ื“ ืขื‘ื•ืจ Istio ื•-Linkerd
ืœื•ื— ื”ื‘ืงืจื” ืฉืœ Istio: ~750 ืžื™ืœื™ืœื™ืงื•ืจ

ืœื•ื— ื”ื‘ืงืจื” ืฉืœ Istio ืžืฉืชืžืฉ ื‘ืขืจืš ืคื™ 35 ืžืฉืื‘ื™ ืžืขื‘ื“ืžืืฉืจ ืœื™ื ืงืจื“. ื›ืžื•ื‘ืŸ, ื”ื›ืœ ืžื•ืชืงืŸ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ื•ื”-istio-telemetry ืฆื•ืจื›ืช ื›ืืŸ ืžืฉืื‘ื™ ืžืขื‘ื“ ืจื‘ื™ื (ื ื™ืชืŸ ืœื ื˜ืจืœ ืื•ืชื” ืขืœ ื™ื“ื™ ื”ืฉื‘ืชืช ืคื•ื ืงืฆื™ื•ืช ืžืกื•ื™ืžื•ืช). ืื ื ืกื™ืจ ืืช ื”ืจื›ื™ื‘ ื”ื–ื”, ืขื“ื™ื™ืŸ ื ืงื‘ืœ ื™ื•ืชืจ ืž-100 ืžื™ืœื™ืงื•ืจื™ื, ื›ืœื•ืžืจ 4 ืคืขืžื™ื ื ื•ืกืคื•ืชืžืืฉืจ ืœื™ื ืงืจื“.

Proxy Sidecar

ืœืื—ืจ ืžื›ืŸ ื‘ื“ืงื ื• ืืช ื”ืฉื™ืžื•ืฉ ื‘ืคืจื•ืงืกื™. ืฆืจื™ืš ืœื”ื™ื•ืช ืงืฉืจ ืœื™ื ื™ืืจื™ ืขื ืžืกืคืจ ื”ื‘ืงืฉื•ืช, ืื‘ืœ ืขื‘ื•ืจ ื›ืœ ืฆื“ื“ื™ ื™ืฉ ืชืงื•ืจื” ื›ืœืฉื”ื™ ืฉืžืฉืคื™ืขื” ืขืœ ื”ืขืงื•ืžื”.

ืืžืช ืžื™ื“ื” ืœืฆืจื™ื›ืช ืžืขื‘ื“ ืขื‘ื•ืจ Istio ื•-Linkerd
Linkerd: ~100 ืžื™ืœื™ืœื™ื™ื‘ื•ืช ืขื‘ื•ืจ irs-client, ~50 ืžื™ืœื™ืœื™ื™ื‘ื•ืช ืขื‘ื•ืจ irs-client-loadgen

ื”ืชื•ืฆืื•ืช ื ืจืื•ืช ื”ื’ื™ื•ื ื™ื•ืช, ืžื›ื™ื•ื•ืŸ ืฉืคืจื•ืงืกื™ ื”ืœืงื•ื— ืžืงื‘ืœ ืชืขื‘ื•ืจื” ื›ืคื•ืœื” ืžื–ื• ืฉืœ ืคืจื•ืงืกื™ ื”-loadgen: ืขื‘ื•ืจ ื›ืœ ื‘ืงืฉื” ื™ื•ืฆืืช ืž-loadgen, ืœืœืงื•ื— ื™ืฉ ืื—ื“ ื ื›ื ืก ื•ืื—ื“ ื™ื•ืฆื.

ืืžืช ืžื™ื“ื” ืœืฆืจื™ื›ืช ืžืขื‘ื“ ืขื‘ื•ืจ Istio ื•-Linkerd
Istio/Envoy: ~155 ืžื™ืœื™ืœื™ื™ื‘ื•ืช ืขื‘ื•ืจ irs-client, ~75 ืžื™ืœื™ืœื™ื™ื‘ื•ืช ืขื‘ื•ืจ irs-client-loadgen

ืื ื• ืจื•ืื™ื ืชื•ืฆืื•ืช ื“ื•ืžื•ืช ืขื‘ื•ืจ ืžื›ื•ื ื™ื•ืช ืฆื“ ืฉืœ Istio.

ืื‘ืœ ื‘ืื•ืคืŸ ื›ืœืœื™, ืคืจื•ืงืกื™ Istio/Envoy ืฆื•ืจื›ื™ื ื›-50% ื™ื•ืชืจ ืžืฉืื‘ื™ ืžืขื‘ื“ืžืืฉืจ ืœื™ื ืงืจื“.

ืื ื• ืจื•ืื™ื ืืช ืื•ืชื” ืกื›ื™ืžื” ื‘ืฆื“ ื”ืฉืจืช:

ืืžืช ืžื™ื“ื” ืœืฆืจื™ื›ืช ืžืขื‘ื“ ืขื‘ื•ืจ Istio ื•-Linkerd
Linkerd: ~50 ืžื™ืœื™-ืงื•ืจื•ืช ืขื‘ื•ืจ ืฉืจืช irs

ืืžืช ืžื™ื“ื” ืœืฆืจื™ื›ืช ืžืขื‘ื“ ืขื‘ื•ืจ Istio ื•-Linkerd
Istio/Envoy: ~80 ืžื™ืœื™-ืงื•ืจื•ืช ืขื‘ื•ืจ irs-server

ื‘ืฆื“ ื”ืฉืจืช, Sidecar Istio/Envoy ืฆื•ืจืš ื›-60% ื™ื•ืชืจ ืžืฉืื‘ื™ ืžืขื‘ื“ืžืืฉืจ ืœื™ื ืงืจื“.

ืžืกืงื ื”

ื”-proxy ืฉืœ Istio Envoy ืฆื•ืจืš 50+% ื™ื•ืชืจ ืžืขื‘ื“ ืž-Linkerd ื‘ืขื•ืžืก ื”ืขื‘ื•ื“ื” ื”ืžื“ื•ืžื” ืฉืœื ื•. ืœื•ื— ื”ื‘ืงืจื” ืฉืœ Linkerd ืฆื•ืจืš ื”ืจื‘ื” ืคื—ื•ืช ืžืฉืื‘ื™ื ืžืืฉืจ Istio, ื‘ืžื™ื•ื—ื“ ืขื‘ื•ืจ ืจื›ื™ื‘ื™ ื”ืœื™ื‘ื”.

ืื ื—ื ื• ืขื“ื™ื™ืŸ ื—ื•ืฉื‘ื™ื ื›ื™ืฆื“ ืœื”ืคื—ื™ืช ืืช ื”ืขืœื•ื™ื•ืช ื”ืœืœื•. ืื ื™ืฉ ืœื›ื ืจืขื™ื•ื ื•ืช, ืื ื ืฉืชืคื•!

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”