แจแแกแแแแแ
แฉแแแ แแแ แ แจแแแแกแฃแแ
ะ
Istio 1.1-แแ, แแ แแฅแกแ แแแแฎแแแ แก แแแแฎแแแแแแ 0,6 vCPU-แก (แแแ แขแฃแแแฃแ แแแ แแแก) 1000 แแแแฎแแแแแแ แฌแแแจแ.
แกแแ แแแกแแก แฅแกแแแแก แแแ แแแแ แ แแแแแแแกแแแแก (แแแแจแแ แแก แแแแแแฃแ แแฎแแ แแก 2 แแ แแฅแกแ), แแแแฅแแแแ 1200 แแแ แแแ แแฎแแแแ แแ แแฅแกแแกแแแแก, แฌแแแจแ แแ แแ แแแแแแแ แแแแฎแแแแแก แกแแฉแฅแแ แแ. Google-แแก แฎแแ แฏแแแแก แแแแแฃแแแขแแ แแก แแแฎแแแแแ, แแแแคแแแฃแ แแชแแแกแแแแก แแก แแแแฎแแแแแแ 40$/แแแแจแ/แซแแ แจแ แแแแแแแก. n1-standard-64
, แแแฃ แแแ แขแ แแก แ แแแแแแ แฌแแแจแ 50 แแแแแแแ แแแแฎแแแแแ แแแแจแ 1 แแแแก แแแแแ แแ แแแขแ แแแแแแฏแแแแ.
แแแแ แกแแ (
แ แแแแ แช แฉแแแก, values-istio-test.yaml แกแแ แแแแฃแแแ แแแแ แแแก CPU-แก แแแแฎแแแแแแก. แแฃ แกแฌแแ แแ แแแแแแแแ แแแแแแแขแแแ, แแญแแ แแแแแ แแแแฎแแแแแแ 24 CPU แแแ แแแ แแแ แแแแก แแแแแแแกแแแแก แแ 0,5 CPU แแแแแแฃแแ แแ แแฅแกแแกแแแแก. แแแแแแ แแ แแแฅแแก. แแแแแแแแ แแ แขแแกแขแแแก, แ แแชแ แแแขแ แ แแกแฃแ แกแ แแแแแแแงแแคแก.
แแแแแแแ แแแแแฎแ, แ แแแแแแแ แฐแแแแก 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-แก แฌแแ แแแแแแจแ, แแแแ แแ แแแแแแฃแ แแ แแกแแแ แแแแชแแแแกแแแแก. แแ แแแแแฌแแ แกแแขแงแแแกแแขแงแแแ แ แแแแแแแแ แแ แซแแแแแแก แแแแแงแแแแแ แแแแแแฃแแ แกแแ แแแกแแก แฅแกแแแแกแแแแก. แแแแแแชแแแกแแแแก แแแแแแแงแแแ แแ แ แแแแกแขแแ แ - แแแแ แแกแขแแแกแแแแก แแ แแแแแแ แแแกแแแแก.
แแฅแกแแแ แแแแแขแ แฉแแขแแ แแ 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 |
+---------+------------+---------+---------------------------+
Crash-loop-แก แ แแแแแแแแ แฌแฃแแ แแแกแญแแ แแ, แจแแแแแ แแ แแแ แแแแก แแแแแแแแ แแแกแขแแแแแฃแ แแ.
(แจแแแแจแแแ: SuperGloo แแฎแแ แก แฃแญแแ แก แแฎแแแแ Istio 1.0.x-แก. แแ แแแแแแแแ แ แแฅแกแแแ แแแแแขแ Istio 1.1.3-แแ, แแแแ แแ แจแแกแแแฉแแแแ แแแแกแฎแแแแแแ แแแ แจแแแแแฉแแแ.)
Istio Automatic Deployment-แแก แแแงแแแแแ
แแแแกแแแแแก, แ แแ Istio-แ แแแแแแกแขแแแแ แแก แแแแ แแแแ แแแ แแก Envoy, แฉแแแ แแแงแแแแแ แแแแ แแแแ แแแ แแก แแแแแฅแขแแ แก โ MutatingAdmissionWebhook
. แแ แกแขแแขแแแจแ แแแแแ แแ แแแกแแฃแแ แแแ. แแแแ แแแแแชแแ แฃแแ แแแแ แแแฅแแ, แ แแ แแก แแ แแก แแแแขแ แแแแ แ, แ แแแแแแช แแแแแขแ แแแแแก แงแแแแ แแฎแแ แแแแแ แฌแแแแแแก แแ แแแแแแแฃแ แแ แแแแขแแแก sidecar-แก แแ 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 sidecar embedding-แแก แแแกแแงแแแแแแแ, แฉแแแ แแแงแแแแแ แแแแขแแชแแแแก (แแ แแแแแแแขแ แฎแแแแ 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 ms-แแก แจแแแแแ. - แฉแแแ แแแแฃแจแแแ 10 แแแแแแขแ - แแแแแแฃแแ แแแแแแแแก 100 แแแแฎแแแแแก แฌแแแจแ
bar
. - แงแแแแ 10 แฌแแแจแ แฉแแแ แแจแแแ 1 แกแแ แแแ แแก แแ แแแแแขแแ แแแแแก แจแแชแแแแแแก
5xx
แแแแแแขแแ.
แกแแแฃแจแแ แแ แแชแแกแแก แแแกแแกแ แฃแแก, แฉแแแ แแแแแแฎแแแแแ แแฃแ แแแแแแก แแ แแแขแ แแแแก แแ แแแแแฌแแแแ, แฉแแแแแ แ แแฃ แแ แ แขแแกแขแ. แแ แแแแ แฉแแแ แแกแฌแแแแแแ แฉแแแแ แกแแ แแแกแฃแแ แฅแกแแแแก แแฃแจแแแแแก แจแแกแแฎแแ แแ แแแฌแแ แแแแแ แ แแแ แแกแแแก แขแแกแขแก, แ แแแ แจแแแแแแฌแแแ แฉแแแแ แแแ แแฃแแแแ แจแแชแแแแแแแก แขแแแแ แแแขแแแแก แจแแกแแฎแแ.
(แจแแแแจแแแ: แฉแแแ แแคแแฅแ แแแ Istio แฎแแ แแแแแแแก แขแแแแ แแแขแแแแก แกแแแฃแแแขแแ แแก แฆแแ แฌแงแแ แแก แแแฆแแแแแ, แแแแ แแ แฏแแ แแ แแแ แ แแแแ แแแแกแแแแแก.)
Istio แฎแแ แแแแแแแก แขแแแแ แแแขแแแแก แกแแแฃแแแขแแ แ แแแแกแแฎแฃแ แแแแก แฅแกแแแแก แกแแแ แแแแขแแชแแ แแแจแแแกแแแแก
แฉแแแ แแแแแงแแแแ แกแแแฃแแแขแแ แแก แ แแแแแแแแ แกแแแฃแจแแ แแแแแซแ:
irs-client-loadgen
: 3 แ แแแแแแ, แ แแแแแแช แแแแแแแแก 100 แแแแฎแแแแแก แฌแแแจแirs-client
.irs-client
: 3 แ แแแแแแ, แ แแแแแแแช แแฆแแแแ แแแแฎแแแแแก, แแแแแแแแ 100 ms แแ แแแแแแแแแ แแแแฎแแแแirs-server
.irs-server
: 3 แแกแแ, แ แแแแแแช แแ แฃแแแแแ200/OK
100 ms-แแก แจแแแแแ.
แแ แแแแคแแแฃแ แแชแแแ แฉแแแ แจแแแแแซแแแ แแแแแแแแ แกแขแแแแแฃแ แ แแแซแ แแแแแก แแแแแแ 9 แแแแ แฌแแ แขแแแก แจแแ แแก. แแแแ แแแแ แแแแฅแแแแแ irs-client-loadgen
ะธ irs-server
แแแแฆแแ 100 แแแแฎแแแแ แฌแแแจแ แแ irs-client
โ 200 (แจแแแแแแแ แแ แแแแแแแแ).
แฉแแแ แแแแแงแฃแ แก แแแแแแแแแ แ แแกแฃแ แกแแแแก แแแแแงแแแแแแก
แแแกแแแแแแ
แกแแแแแขแ แแแ แแแแแแแแ
แแแ แแแ แ แแแจแ, แฉแแแ แแแแแแฎแแแแ แแ แแชแแกแแ แแก แแแฎแแแ แแแ.
Linkerd แแแ แแแแก แแแแแแ ~22 แแแแแแแ แ
Istio แแแ แแแแก แแแแแแ: ~750 แแแแแแแ แ
Istio แแแ แแแแก แแแแแแ แแงแแแแแก แแแแฎแแแแแแ 35-แฏแแ แแแขแ CPU แ แแกแฃแ แกแแแแแ แ แแแแแแ แแ. แ แ แแฅแแ แฃแแแ, แงแแแแแคแแ แ แแแแฃแแแกแฎแแแแแ แแ แแก แแแแแกแขแแแแ แแแฃแแ แแ istio-telemetry แแฅ แแแแฎแแแ แก แแ แแชแแกแแ แแก แฃแแแ แแ แ แแกแฃแ แกแก (แแก แจแแแซแแแแ แแแแแ แแแ แแแแแแ แแ แคแฃแแฅแชแแแก แแแแแ แแแแ). แแฃ แแ แแแแแแแแแขแก แแแแแแฆแแแ, แแแแแช แแแแแฆแแแ 100 แแแแแแแ แแ แแแขแก, แแแฃ 4-แฏแแ แแแขแแแแแ แ แแแแแแ แแ.
Sidecar แแ แแฅแกแ
แจแแแแแ แฉแแแ แแแแแแชแแแแ แแ แแฅแกแแก แแแแแงแแแแแ. แฃแแแ แแ แกแแแแแแแก แฎแแแแแแแ แแแแจแแ แ แแแแฎแแแแแแแก แ แแแแแแแแแกแแแ, แแแแ แแ แแแแแแฃแแ แแแแ แแแแ แแแ แแกแแแแก แแ แแก แแแ แแแแฃแแ แแแแแแแแแ, แ แแแแแแช แแแแแแแแก แแฎแแแแก แแ แฃแแแ.
แแแแแแ แแ: ~100 แแแแแแแ แ irs-client-แแกแแแแก, ~50 แแแแแแแ แ irs-client-loadgen-แแกแแแแก
แจแแแแแแแ แแแแแแฃแ แแ แแแแแแงแฃแ แแแ, แ แแแแแ แแแแแแขแแก แแ แแฅแกแ แแฆแแแก แแ แฏแแ แแแข แขแ แแคแแแก, แแแแ แ loadgen แแ แแฅแกแ: loadgen-แแก แงแแแแ แแแแแแแ แแแแฎแแแแแแ แแแแแแขแก แแฅแแก แแ แแ แจแแแแแแแแแ แแ แแ แแ แแแแแแแแ.
Istio/Envoy: ~ 155 แแแแแแแ แ irs-client-แแกแแแแก, ~75 millicore for irs-client-loadgen
แฉแแแ แแฎแแแแแ แแกแแแแก แจแแแแแแแก Istio sidecars-แแกแแแแก.
แแแแ แแ แแแแแแแ, แแกแขแแ/แแแฉแแก แแแ แแแแแขแแแ แแแแฎแแแ แแ แแแแฎแแแแแแ 50% แแแขแ CPU แ แแกแฃแ แกแแแแแ แ แแแแแแ แแ.
แฉแแแ แแฎแแแแแ แแแแแ แกแฅแแแแก แกแแ แแแ แแก แแฎแแ แแก:
แแแแแแ แแ: ~50 แแแแแแแ แ irs-แกแแ แแแ แแกแแแแก
Istio/Envoy: ~80 แแแแแแแ แ irs-แกแแ แแแ แแกแแแแก
แกแแ แแแ แแก แแฎแแ แแก, sidecar Istio/Envoy แแแแฎแแแ แก แแแแฎแแแแแแ 60% แแแขแ CPU แ แแกแฃแ แกแแแแแ แ แแแแแแ แแ.
แแแกแแแแ
Istio Envoy แแ แแฅแกแ แแแแฎแแแ แก 50+% แแแข CPU-แก, แแแแ แ Linkerd-แก แฉแแแแ แกแแแฃแแแ แแแฃแแ แแแขแแแ แแแแก แแ แแก. Linkerd แแแแแแ แแแแฎแแแ แก แแแชแแแแแแ แแแแแแ แ แแกแฃแ แกแก, แแแแ แ แแกแขแแ, แแแแกแแแฃแแ แแแแ แซแแ แแแแแ แแแแแแแแแขแแแแกแแแแก.
แฉแแแ แฏแแ แแแแแ แแคแแฅแ แแแ, แ แแแแ แจแแแแแชแแ แแ แแก แฎแแ แฏแแแ. แแฃ แแฅแแแ แแแฅแแ แแแแแแ, แแแฎแแแ แแแแแแแ แแ!
แฌแงแแ แ: www.habr.com