ืงืคึผื• ืงืึทื ืกืึทืžืฉืึทืŸ ื‘ืขื ื˜ืฉืžืึทืจืง ืคึฟืึทืจ Istio ืื•ืŸ Linkerd

ืงืคึผื• ืงืึทื ืกืึทืžืฉืึทืŸ ื‘ืขื ื˜ืฉืžืึทืจืง ืคึฟืึทืจ Istio ืื•ืŸ Linkerd

ื”ืงื“ืžื”

ืžื™ืจ ื–ืขื ืขืŸ ืื™ืŸ ืฉืึธืคึผื™ืคื™ ืกื˜ืึทืจื˜ืขื“ ื“ื™ืคึผืœื•ื™ื™ื ื’ Istio ื•ื•ื™ ืึท ืกืขืจื•ื•ื™ืก ืžืขืฉ. ืื™ืŸ ืคึผืจื™ื ืฆื™ืคึผ, ืึทืœืฅ ืื™ื– ื’ื•ื˜, ืึทื—ื•ืฅ ืคึฟืึทืจ ืื™ื™ืŸ ื–ืึทืš: ืขืก ืื™ื– ื˜ื™ื™ึทืขืจ.

ะ’ ืืจื•ื™ืก ื‘ืขื ื˜ืฉืžืึทืจืงืก ืคึฟืึทืจ Istio ืขืก ื–ืื’ื˜:

ืžื™ื˜ Istio 1.1, ื“ื™ ืคึผืจืึทืงืกื™ ืงืึทื ืกื•ืžื– ื‘ืขืขืจืขืš 0,6 ื•ื•ืงืคึผื•ืก (ื•ื•ื™ืจื˜ื•ืึทืœ ืงืึธืจืขืก) ืคึผืขืจ 1000 ืจื™ืงื•ื•ืขืก ืคึผืขืจ ืกืขืงื•ื ื“ืข.

ืคึฟืึทืจ ื“ืขืจ ืขืจืฉื˜ืขืจ ื’ืขื’ื ื˜ ืื™ืŸ ื“ื™ ืกืขืจื•ื•ื™ืก ืžืขืฉ (2 ืคึผืจืึทืงืกื™ื– ืื•ื™ืฃ ื™ืขื“ืขืจ ื–ื™ื™ึทื˜ ืคื•ืŸ ื“ื™ ืงืฉืจ), ืžื™ืจ ื•ื•ืขืœืŸ ื”ืึธื‘ืŸ 1200 ืงืึธืจืขืก ื ืึธืจ ืคึฟืึทืจ ื“ื™ ืคึผืจืึทืงืกื™, ืžื™ื˜ ืึท ืงื•ืจืก ืคื•ืŸ ืึท ืžื™ืœื™ืึธืŸ ืจื™ืงื•ื•ืขืก ืคึผืขืจ ืกืขืงื•ื ื“ืข. ืœื•ื™ื˜ Google ืก ืงืึธืก ืงืึทืœืงื•ืœืึทื˜ืึธืจ, ืขืก ืึทืจื‘ืขื˜ ืื•ื™ืก ืฆื• ื–ื™ื™ืŸ ื‘ืขืขืจืขืš $ 40 / ื—ื•ื“ืฉ / ื”ืึทืจืฅ ืคึฟืึทืจ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ n1-standard-64, ื•ื•ืึธืก ืื™ื–, ื“ืขื ื’ืขื’ื ื˜ ืึทืœื™ื™ืŸ ื•ื•ืขื˜ ืงืึธืกื˜ืŸ ืื•ื ื“ื– ืžืขืจ ื•ื•ื™ 50 ื˜ื•ื™ื–ื ื˜ ื“ืึธืœืœืึทืจืก ืคึผืขืจ ื—ื•ื“ืฉ ืคึฟืึทืจ 1 ืžื™ืœื™ืึธืŸ ืจื™ืงื•ื•ืขืก ืคึผืขืจ ืกืขืงื•ื ื“ืข.

ืื™ื•ื•ืืŸ ืกื™ื (ืื™ื•ื•ืืŸ ืกื™ื) ื•ื•ื™ื–ืฉื•ื•ืึทืœื™ ืงืึทืžืคึผืขืจื“ ื“ื™ื ืกื˜ ืžืขืฉ ื“ื™ืœื™ื™ื– ืœืขืฆื˜ืข ื™ืึธืจ ืื•ืŸ ืฆื•ื’ืขื–ืื’ื˜ ื“ื™ ื–ืขืœื‘ืข ืคึฟืึทืจ ื–ื›ึผืจื•ืŸ ืื•ืŸ ืคึผืจืึทืกืขืกืขืจ, ืึธื‘ืขืจ ืขืก ื”ืื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ:

ืžืฉืžืขื•ืช, ื•ื•ืึทืœื•ืขืก-istio-test.yaml ื•ื•ืขื˜ ืขืžืขืก ืคืึทืจื’ืจืขืกืขืจืŸ ืงืคึผื• ืจื™ืงื•ื•ืขืก. ืื•ื™ื‘ ืื™ืš ื”ืึธื‘ืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ืžื™ื™ืŸ ืžืึทื˜ืึทืžืึทื˜ื™ืงืก ืจื™ื›ื˜ื™ืง, ืื™ืจ ื“ืึทืจืคึฟืŸ ื‘ืขืขืจืขืš 24 ืงืคึผื• ืงืึธืจืขืก ืคึฟืึทืจ ื“ื™ ืงืึธื ื˜ืจืึธืœ ื˜ืึทืคืœื™ืข ืื•ืŸ 0,5 ืงืคึผื• ืคึฟืึทืจ ื™ืขื“ืขืจ ืคึผืจืึทืงืกื™. ืื™ืš ื”ืื‘ ื ื™ืฉื˜ ืื–ื•ื™ ืคื™ืœ. ืื™ืš ื•ื•ืขืœ ืื™ื‘ืขืจื—ื–ืจืŸ ื“ื™ ื˜ืขืกืฅ ื•ื•ืขืŸ ืžืขืจ ืจืขืกื•ืจืกืŸ ื–ืขื ืขืŸ ืึทืœืึทืงื™ื™ื˜ื™ื“ ืฆื• ืžื™ืจ.

ืื™ืš ื’ืขื•ื•ืืœื˜ ืฆื• ื–ืขืŸ ืคึฟืึทืจ ื–ื™ืš ื•ื•ื™ ืขื ืœืขืš ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ Istio ืื™ื– ืฆื• ืืŸ ืื ื“ืขืจ ืขืคึฟืขื ืขืŸ ืžืงื•ืจ ืกืขืจื•ื•ื™ืก ืžืขืฉ: ืœื™ื ืงืขืจื“.

ืกืขืจื•ื•ื™ืก ืžืขืฉ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’

ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ืื™ืš ืื™ื ืกื˜ืึทืœื™ืจืŸ ืขืก ืื™ืŸ ืึท ืงื ื•ื™ืœ ืกื•ืคึผืขืจื’ืœืึธืึธ:

$ 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 |
+---------+--------------+---------+---------------------------+

ื“ืขืจื ืึธืš Istio:

$ 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 ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ืกื™ื™ื“ืงืึทืจ ืขื ื•ื•ื•ื™, ืžื™ืจ ื ื•ืฆืŸ ื“ื™ ืกื™ื™ื“ืงืึทืจ ื™ื ื“ื–ืฉืขืงื˜ืขืจ - MutatingAdmissionWebhook. ืžื™ืจ ื•ื•ืขืœืŸ ื ื™ืฉื˜ ืจืขื“ืŸ ื•ื•ืขื’ืŸ ื“ืขื ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ. ืœืึธื–ืŸ ืžื™ืจ ื ืึธืจ ื–ืึธื’ืŸ ืึทื– ื“ืึธืก ืื™ื– ืึท ืงืึธื ื˜ืจืึธืœืœืขืจ ื•ื•ืึธืก ืžืึธื ื™ื˜ืึธืจืก ื“ื™ ืึทืงืกืขืก ืคื•ืŸ ืึทืœืข ื ื™ื™ึทืข ืคึผืึธื“ืก ืื•ืŸ ื“ื™ื ืึทืžื™ืงืึทืœืœื™ ืžื•ืกื™ืฃ ืึท ืกื™ื™ื“ืงืึทืจ ืื•ืŸ ื™ื ื™ื˜ืงืึธื ื˜ืึทื™ื ืขืจ, ื•ื•ืึธืก ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ื˜ืึทืกืงืก 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

ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืึธื˜ืึทืžืึทื˜ื™ืง ืœื™ื ืงืขืจื“ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜

ืฆื• ืฉื˜ืขืœืŸ ืึทืจื•ื™ืฃ ืœื™ื ืงืขืจื“ ืกื™ื™ื“ืงืึทืจ ืขืžื‘ืขื“ื“ื™ื ื’, ืžื™ืจ ื ื•ืฆืŸ ืึทื ืึทื˜ื™ื™ืฉืึทื ื– (ืื™ืš ืฆื•ื’ืขื’ืขื‘ืŸ ื–ื™ื™ ืžืึทื ื™ื•ืึทืœื™ ื“ื•ืจืš 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 ืกืขืงื•ื ื“ืขืก ืžื™ืจ ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ 1 ืกืขืจื•ื•ืขืจ ืื•ืŸ ืžืึธื ื™ื˜ืึธืจ ืขืจืจืึธืจืก 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 (ืืฒื ื’ืขืงื•ืžืขื  ืข ืื• ืŸ ืืจื•ื™ืกื’ืืก) .

ืžื™ืจ ืฉืคึผื•ืจ ืžื™ื˜ืœ ื‘ืึทื ื™ืฅ ื“ื•ืจืš DataDogื•ื•ื™ื™ึทืœ ืžื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืึท ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืงื ื•ื™ืœ.

ืจืขื–ื•ืœื˜ืึทื˜ืŸ

ืงืึธื ื˜ืจืึธืœ ืคึผืึทื ืึทืœื–

ืขืจืฉื˜ืขืจ, ืžื™ืจ ื™ื’ื–ืึทืžืึทื ื“ ื“ื™ ืงืคึผื• ืงืึทื ืกืึทืžืฉืึทืŸ.

ืงืคึผื• ืงืึทื ืกืึทืžืฉืึทืŸ ื‘ืขื ื˜ืฉืžืึทืจืง ืคึฟืึทืจ Istio ืื•ืŸ Linkerd
ืœื™ื ืงืขื“ ืงืึธื ื˜ืจืึธืœ ื˜ืึทืคืœื™ืข ~ 22 ืžื™ืœื™ืงืึธืจ

ืงืคึผื• ืงืึทื ืกืึทืžืฉืึทืŸ ื‘ืขื ื˜ืฉืžืึทืจืง ืคึฟืึทืจ Istio ืื•ืŸ Linkerd
ื™ืกื˜ื™ืึธ ืงืึธื ื˜ืจืึธืœ ื˜ืึทืคืœื™ืข: ~750 ืžื™ืœื™ืงืึธืจ

ื“ื™ Istio ืงืึธื ื˜ืจืึธืœ ื˜ืึทืคืœื™ืข ื ื™ืฆื˜ ื‘ืขืขืจืขืš 35 ืžืืœ ืžืขืจ ืงืคึผื• ืจืขืกื•ืจืกืŸื•ื•ื™ ืœื™ื ืงืขืจื“. ืคื•ืŸ ืงื•ืจืก, ืึทืœืฅ ืื™ื– ืื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ืื•ืŸ ื™ืกื˜ื™ืึธ-ื˜ืขืœืขืžืขื˜ืจื™ ืงืึทื ืกื•ืžื– ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืงืคึผื• ืจืขืกื•ืจืกืŸ ื“ืึธ (ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคืึทืจืงืจื™ืคึผืœื˜ ื“ื•ืจืš ื“ื™ืกื™ื™ื‘ืึทืœ ืขื˜ืœืขื›ืข ืคืึทื ื’ืงืฉืึทื ื–). ืื•ื™ื‘ ืžื™ืจ ื‘ืึทื–ื™ื™ึทื˜ื™ืงืŸ ื“ืขื ืงืึธืžืคึผืึธื ืขื ื˜, ืžื™ืจ ื ืึธืš ื‘ืึทืงื•ืžืขืŸ ืžืขืจ ื•ื•ื™ 100 ืžื™ืœื™ืงืึธืจืขืก, ื“ืึธืก ืื™ื– 4 ืžืืœ ืžืขืจื•ื•ื™ ืœื™ื ืงืขืจื“.

ืกื™ื™ื“ืงืึทืจ ืคึผืจืึทืงืกื™

ื“ืขืจื ืึธืš ืžื™ืจ ื˜ืขืกื˜ืขื“ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืึท ืคึผืจืึทืงืกื™. ืขืก ื–ืึธืœ ื–ื™ื™ืŸ ืึท ืœื™ื ืขืึทืจ ืฉื™ื™ื›ื•ืช ืžื™ื˜ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืจื™ืงื•ื•ืขืก, ืึธื‘ืขืจ ืคึฟืึทืจ ื™ืขื“ืขืจ ืกื™ื™ื“ืงืึทืจ ืขืก ืื™ื– ืขื˜ืœืขื›ืข ืึธื•ื•ื•ืขืจื›ืขื“ ื•ื•ืึธืก ืึทืคืขืงืฅ ื“ื™ ื•ื™ืกื‘ื™ื™ื’.

ืงืคึผื• ืงืึทื ืกืึทืžืฉืึทืŸ ื‘ืขื ื˜ืฉืžืึทืจืง ืคึฟืึทืจ Istio ืื•ืŸ Linkerd
ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’: ~ 100 ืžื™ืœื™ืงืึธืจืขืก ืคึฟืึทืจ ื™ืจืก-ืงืœื™ืขื ื˜, ~ 50 ืžื™ืœื™ืงืึธืจืขืก ืคึฟืึทืจ ื™ืจืก-ืงืœื™ืขื ื˜-ืœืึธืึทื“ืขืŸ

ื“ื™ ืจืขื–ื•ืœื˜ืื˜ืŸ ืงื•ืงืŸ ืœืึทื“ื–ืฉื™ืงืึทืœ, ื•ื•ื™ื™ึทืœ ื“ืขืจ ืงืœื™ืขื ื˜ ืคืจืืงืกื™ ื‘ืืงื•ืžื˜ ืฆื•ื•ื™ื™ ืžืึธืœ ื•ื•ื™ ืคื™ืœ ืคืึทืจืงืขืจ ื•ื•ื™ ื“ื™ ืœืึธื•ื“ื™ื ื’ ืคืจืืงืกื™: ืคึฟืึทืจ ื™ืขื“ืขืจ ืึทื•ื˜ื’ืึธื•ื™ื ื’ ื‘ืขื˜ืŸ ืคื•ืŸ loadgen, ื“ืขืจ ืงืœื™ืขื ื˜ ื”ืื˜ ืื™ื™ืŸ ื™ื ืงืึทืžื™ื ื’ ืื•ืŸ ืื™ื™ื ืขืจ ืึทื•ื˜ื’ืึธื•ื™ื ื’.

ืงืคึผื• ืงืึทื ืกืึทืžืฉืึทืŸ ื‘ืขื ื˜ืฉืžืึทืจืง ืคึฟืึทืจ Istio ืื•ืŸ Linkerd
Istio/Envoy: ~155 ืžื™ืœื™ืงืึธืจืขืก ืคึฟืึทืจ ื™ืจืก-ืงืœื™ืขื ื˜, ~75 ืžื™ืœื™ืงืึธืจืขืก ืคึฟืึทืจ ื™ืจืก-ืงืœื™ืขื ื˜-ืœืึธืึทื“ื’ืขืŸ

ืžื™ืจ ื–ืขืŸ ืขื ืœืขืš ืจืขื–ื•ืœื˜ืึทื˜ืŸ ืคึฟืึทืจ Istio ืกื™ื™ื“ืงืึทืจืก.

ืึธื‘ืขืจ ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, Istio / Envoy ืคึผืจืึทืงืกื™ื– ืคืึทืจื ื•ืฆืŸ ื‘ืขืขืจืขืš 50% ืžืขืจ ืงืคึผื• ืจืขืกื•ืจืกืŸื•ื•ื™ ืœื™ื ืงืขืจื“.

ืžื™ืจ ื–ืขืŸ ื“ื™ ื–ืขืœื‘ืข ืกื›ืขืžืข ืื•ื™ืฃ ื“ื™ ืกืขืจื•ื•ืขืจ ื–ื™ื™ึทื˜:

ืงืคึผื• ืงืึทื ืกืึทืžืฉืึทืŸ ื‘ืขื ื˜ืฉืžืึทืจืง ืคึฟืึทืจ Istio ืื•ืŸ Linkerd
ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’: ~50 ืžื™ืœื™ืงืึธืจ ืคึฟืึทืจ ื™ืจืก-ืกืขืจื•ื•ืขืจ

ืงืคึผื• ืงืึทื ืกืึทืžืฉืึทืŸ ื‘ืขื ื˜ืฉืžืึทืจืง ืคึฟืึทืจ Istio ืื•ืŸ Linkerd
Istio / Envoy: ~ 80 ืžื™ืœื™ืงืึธืจ ืคึฟืึทืจ ื™ืจืก-ืกืขืจื•ื•ืขืจ

ืื•ื™ืฃ ื“ื™ ืกืขืจื•ื•ืขืจ ื–ื™ื™ึทื˜, ืกื™ื“ืขืงืึทืจ Istio / Envoy ืงืึทื ืกื•ืžื– ื‘ืขืขืจืขืš 60% ืžืขืจ ืงืคึผื• ืจืขืกื•ืจืกืŸื•ื•ื™ ืœื™ื ืงืขืจื“.

ืกืึธืฃ

ื“ื™ Istio Envoy ืคึผืจืึทืงืกื™ ืงืึทื ืกื•ืžื– 50% ืžืขืจ ืงืคึผื• ื•ื•ื™ Linkerd ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ ืกื™ืžื™ืึทืœื™ื™ื˜ื™ื“ ื•ื•ืขืจืงืœืึธื•ื“. ื“ื™ ืœื™ื ืงืขืจื“ ืงืึธื ื˜ืจืึธืœ ื˜ืึทืคืœื™ืข ืงืึทื ืกื•ืžื– ืคื™ืœ ื•ื•ื™ื™ื ื™ืงืขืจ ืจืขืกื•ืจืกืŸ ื•ื•ื™ Istio, ืกืคึผืขืฆื™ืขืœ ืคึฟืึทืจ ื“ื™ ื”ืึทืจืฅ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ.

ืžื™ืจ ื–ืขื ืขืŸ ื ืึธืš ื˜ืจืื›ื˜ืŸ ื•ื•ืขื’ืŸ ื•ื•ื™ ืฆื• ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ืงืึธืก. ืื•ื™ื‘ ืื™ืจ ื”ืึธื‘ืŸ ื’ืขื“ืื ืงืขืŸ, ื‘ื™ื˜ืข ื˜ื™ื™ืœืŸ!

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’