เชเซเชจเซเชฐเซ เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเชเชจเซ เชฒเซเชจเซเช เชเชฐเชตเชพ เช เชจเซ เชตเชฟเชเซเชฏเซเช เชฒเชพเชเช เชเชฐเชตเชพ เชฎเชพเชเซ Istio+Kiali เชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ
เช เชถเซเชฐเซเชฃเซเชจเชพ เชฒเซเชเซ
เชเซเชฌเชฐเชจเซเชเซเชธ #1 เชฎเชพเช เชเซเชจเซเชฐเซ เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเช: เชเชฟเชเชฒเซเชฌ เชธเซเชเช เชเซเชฌเชฐเชจเซเชเซเชธ #2 เชฎเชพเช เชเซเชจเซเชฐเซ เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเช: เชเชฐเซเชเซ เชฐเซเชฒเชเชเชเซเชธ - (เช เชฒเซเช)
- เชเซเชจเชเชฟเชจเซเชธ-เชเชเซเชธ เชเชธเซเชเชฟเช เชซเซเชฒเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชจเซเชฐเซ เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเช
เชเซเชจเซเชฐเซ เชเชฎเชพเชตเช
เช
เชฎเชจเซ เชเชถเชพ เชเซ เชเซ เชคเชฎเซ เชตเชพเชเชเชถเซ
เชเชธเซเชเชฟเช
เช
เชจเซ เช
เชฎเซ เชงเชพเชฐเซเช เชเซเช เชเซ เช เชฒเซเช เชตเชพเชเชเซเชจเซ เชคเชฎเซ เชชเชนเซเชฒเชพเชฅเซ เช เชเชพเชฃเซ เชเซ เชเซ Istio เชถเซเช เชเซ. เชเซ เชจเชนเชฟเช, เชคเซ เชชเชเซ เชคเชฎเซ เชคเซเชจเชพ เชตเชฟเชถเซ เชตเชพเชเชเซ เชถเชเซ เชเซ
เชชเชฐเซเชเซเชทเชฃเซ เชฎเชพเชเซเชจเซ เช เชฐเชเซ
เชฆเชฐเซเช เชชเซเชกเชฎเชพเช เชฌเซ เชเชจเซเชเซเชจเชฐ เชนเซเชฏ เชเซ: เช เชฎเชพเชฐเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เช เชจเซ เชเชธเซเชเชฟเช-เชชเซเชฐเซเชเซเชธเซ.
เช เชฎเซ เชซเซเชฐเชจเซเชเชเชจเซเชก-เชเชจเชเซเชจเซเชเซเชธ เช เชจเซ เชฌเซเชเชเชจเซเชก เชชเชพเชฏเชฅเซเชจ เชชเซเชกเซเชธ เชธเชพเชฅเซ เชเช เชธเชฐเชณ เชเซเชธเซเช เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช. nginx เชชเซเชก เชฆเชฐเซเช เชตเชฟเชจเชเชคเซเชจเซ เชฌเซเชเชเชจเซเชก เชชเซเชก เชชเชฐ เชฐเซเชกเชพเชฏเชฐเซเชเซเช เชเชฐเชถเซ เช เชจเซ เชชเซเชฐเซเชเซเชธเซ เชคเชฐเซเชเซ เชเชพเชฎ เชเชฐเชถเซ. เชตเชฟเชเชคเซ เชจเซเชเซเชจเชพ เชฏเชพเชฎเชฒเซเชธเชฎเชพเช เชฎเชณเซ เชถเชเซ เชเซ:
เชชเชฐเซเชเซเชทเชฃ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชพเชคเซ เชเชฒเชพเชตเชตเซ
เชเซ เชคเชฎเซ เชฎเชพเชฐเชพ เชเชฆเชพเชนเชฐเชฃเชจเซ เช
เชจเซเชธเชฐเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซ เช
เชจเซ เช เชชเชฐเซเชเซเชทเชฃ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชชเชฏเซเช เชเชพเชคเซ เชเชฐเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซ, เชคเซ เชเซเช
เชชเซเชฐเชพเชฐเชเชญเชฟเช เชเชฎเชพเชตเช
เชเซเชฏเชพเชฐเซ เชเชชเชฃเซ เชชเซเชฐเชฅเชฎ เชเชฎเชพเชตเช เชถเชฐเซ เชเชฐเซเช เชเซเช, เชคเซเชฏเชพเชฐเซ เชเชชเชฃเซ เชเซเชเช เชเซเช เชเซ เช เชฎเชพเชฐเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชจเชพ เชชเซเชกเซเชธเชฎเชพเช เชซเชเซเชค 2 เชเชจเซเชเซเชจเชฐ เชเซ, เชเชเชฒเซ เชเซ, Istio sidecar เชนเชฎเชฃเชพเช เช เช เชฎเชฒเชฎเชพเช เชเชตเซ เชฐเชนเซ เชเซ:
เช
เชจเซ เชเชชเชฃเซ เชจเซเชฎเชธเซเชชเซเชธเชฎเชพเช Istio Gateway Loadbalancer เชชเชฃ เชเซเชเช เชเซเช istio-system
:
เชเซเชฐเชพเชซเชฟเช เชเชจเชฐเซเชถเชจ
เช เชฎเซ เชเซเชฐเชพเชซเชฟเช เชเชจเชฐเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชจเซเชเซเชจเชพ IP เชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช เชเซ เชซเซเชฐเชจเซเชเชเชจเซเชก เชชเซเชกเซเชธ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ เช เชจเซ เชฌเซเชเชเชจเซเชก เชชเซเชกเซเชธ เชชเชฐ เชซเซเชฐเชตเชฐเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ:
while true; do curl -s --resolve 'frontend.istio-test:80:35.242.202.152' frontend.istio-test; sleep 0.1; done
เช
เชฎเซ เชชเชฃ เชเชฎเซเชฐเซเชถเซเช frontend.istio-test
เช
เชฎเชพเชฐเซ เชฏเชเชฎเชพเชจเซ เชซเชพเชเชฒเชฎเชพเช.
เชเชฟเชฏเชพเชฒเซ เชฆเซเชตเชพเชฐเชพ เชฎเซเชถ เชเซเช
เช
เชฎเซ เชเซเชฐเซเชธเชฟเชเช, เชเซเชฐเชพเชซเชจเชพ, เชชเซเชฐเซเชฎเชฟเชฅเชฟเชฏเชธ เช
เชจเซ เชเชฟเชฏเชพเชฒเซ (เชตเชฟเชเชคเซ เชฎเชพเชเซ เชจเซเชเซ เชเซเช) เชธเชพเชฅเซ เชเซเชธเซเช เชเชชเซเชฒเซเชเซเชถเชจ เช
เชจเซ เชเชธเซเชเชฟเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฏเซเช เชเซ.
istioctl dashboard kiali # admin:admin
เชเชฟเชฏเชพเชฒเซ เชฎเซเชถ เชฆเซเชตเชพเชฐเชพ เชตเชฐเซเชคเชฎเชพเชจ เชเซเชฐเชพเชซเชฟเชเชจเซ เชเชฒเซเชชเชจเชพ เชเชฐเซ เชเซ
เชเซเชฎ เชเชชเชฃเซ เชเซเช เชถเชเซเช เชเซเช, 100% เชเซเชฐเชพเชซเชฟเช เชซเซเชฐเชจเซเชเชเชจเซเชก เชธเซเชตเชพ เชชเชฐ เชเชพเชฏ เชเซ, เชชเชเซ เชฒเซเชฌเชฒ v1 เชธเชพเชฅเซ เชซเซเชฐเชจเซเชเชเชจเซเชก เชชเซเชกเซเชธ เชชเชฐ เชเชพเชฏ เชเซ, เชเชพเชฐเชฃ เชเซ เช เชฎเซ เชเช เชธเชฐเชณ nginx เชชเซเชฐเซเชเซเชธเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช เชเซ เชตเชฟเชจเชเชคเซเชเชจเซ เชฌเซเชเชเชจเซเชก เชธเซเชตเชพ เชชเชฐ เชฐเซเชกเชพเชฏเชฐเซเชเซเช เชเชฐเซ เชเซ, เชเซ เชฌเชฆเชฒเชพเชฎเชพเช เชคเซเชฎเชจเซ เชฌเซเชเชเชจเซเชก เชชเซเชกเซเชธ เชชเชฐ เชฐเซเชกเชพเชฏเชฐเซเชเซเช เชเชฐเซ เชเซ. เชฒเซเชฌเชฒ v1 เชธเชพเชฅเซ.
Kiali Istio เชธเชพเชฅเซ เชธเชฐเชธ เชเชพเชฎ เชเชฐเซ เชเซ เช เชจเซ เชฌเซเชเซเชธเชตเชพเชณเซ เชฎเซเชถ เชฐเซเชจเซเชกเชฐเชฟเชเช เชธเซเชฒเซเชฏเซเชถเชจ เชชเซเชฐเซเช เชชเชพเชกเซ เชเซ. เชฎเชพเชคเซเชฐ เชฎเชนเชพเชจ.
เชเซเชจเซเชฐเซ เชเชฎเชพเชตเช
เช เชฎเชพเชฐเชพ เชฌเซเชเชเชจเซเชกเชฎเชพเช เชชเชนเซเชฒเซเชฅเซ เช เชฌเซ k8s เชเชฎเชพเชตเช เชเซ, เชเช v1 เชฎเชพเชเซ เช เชจเซ เชเช v2 เชฎเชพเชเซ. เชนเชตเซ เช เชฎเชพเชฐเซ เชเชธเซเชเชฟเชฏเซเชจเซ เช เชฎเซเช เชเซเชเซเชเชธ เชเชเชพ เชตเชฟเชจเชเชคเซเช v2 เชชเชฐ เชซเซเชฐเชตเชฐเซเชก เชเชฐเชตเชพ เชเชนเซเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชชเชเชฒเซเช 1: 10%
เช
เชจเซ เชเชชเชฃเซ เชซเชเซเชค เชตเชฐเซเชเซเชฏเซเช
เชฒ เชธเชฐเซเชตเชฟเชธเชจเชพ เชตเชเชจเชจเซ เชธเชฎเชพเชฏเซเชเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: backend
namespace: default
spec:
gateways: []
hosts:
- "backend.default.svc.cluster.local"
http:
- match:
- {}
route:
- destination:
host: backend.default.svc.cluster.local
subset: v1
port:
number: 80
weight: 90
- destination:
host: backend.default.svc.cluster.local
subset: v2
port:
number: 80
weight: 10
เช เชฎเซ เชเซเชเช เชเซเช เชเซ 10% เชตเชฟเชจเชเชคเซเช v2 เชชเชฐ เชฐเซเชกเชพเชฏเชฐเซเชเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
เชชเชเชฒเซเช 2: 50%
เช เชจเซ เชนเชตเซ เชคเซ เชซเชเซเชค เชคเซเชจเซ 50% เชธเซเชงเซ เชตเชงเชพเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชคเซเช เชเซ:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: backend
namespace: default
spec:
...
- destination:
host: backend.default.svc.cluster.local
subset: v1
port:
number: 80
weight: 50
- destination:
host: backend.default.svc.cluster.local
subset: v2
port:
number: 80
weight: 50
เชชเชเชฒเซเช 3: 100%
เชนเชตเซ เชเซเชจเซเชฐเซ เชเชฎเชพเชตเชเชจเซ เชชเซเชฐเซเชฃ เชเชฃเซ เชถเชเชพเชฏ เช เชจเซ เชคเชฎเชพเชฎ เชเซเชฐเชพเชซเชฟเชเชจเซ v2 เชชเชฐ เชฐเซเชกเชพเชฏเชฐเซเชเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ:
เชเซเชจเซเชฐเซเชจเซเช เชเชพเชคเซ เชชเชฐเซเชเซเชทเชฃ เชเชฐเซ
เชเชพเชฒเซ เชเชนเซเช เชเซ เช เชฎเซ เชนเชตเซ เชคเชฎเชพเชฎ เชตเชฟเชจเชเชคเซเชเชฎเชพเชเชฅเซ 2% v10 เชฌเซเชเชเชจเซเชก เชชเชฐ เชฎเซเชเชฒเซเช เชเซเช. เชเซ เชเชชเชฃเซ เชเชชเชฃเซ เช เชชเซเชเซเชทเชพ เชฎเซเชเชฌ เชฌเชงเซเช เชเชพเชฎ เชเชฐเซ เชเซ เชคเซเชจเซ เชเชพเชคเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ v2 เชจเซเช เชฎเซเชจเซเชฏเซเช เชฒเซ เชชเชฐเซเชเซเชทเชฃ เชเชฐเชตเซเช เชนเซเชฏ เชคเซ เชถเซเช?
เช เชฎเซ HTTP เชนเซเชกเชฐเซเชจเชพ เชเชงเชพเชฐเซ เชตเชฟเชถเซเชท เชฎเซเชเชฟเชเช เชจเชฟเชฏเชฎ เชเชฎเซเชฐเซ เชถเชเซเช เชเซเช:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: backend
namespace: default
spec:
gateways: []
hosts:
- "backend.default.svc.cluster.local"
http:
- match:
- headers:
canary:
exact: "canary-tester"
route:
- destination:
host: backend.default.svc.cluster.local
subset: v2
port:
number: 80
weight: 100
- match:
- {}
route:
- destination:
host: backend.default.svc.cluster.local
subset: v1
port:
number: 80
weight: 90
- destination:
host: backend.default.svc.cluster.local
subset: v2
port:
number: 80
weight: 10
เชนเชตเซ curl เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชชเชฃเซ เชนเซเชกเชฐ เชฎเซเชเชฒเซเชจเซ v2 เชตเชฟเชจเชเชคเซเชจเซ เชฆเชฌเชพเชฃ เชเชฐเซ เชถเชเซเช เชเซเช:
เชนเซเชกเชฐ เชตเชเชฐเชจเซ เชตเชฟเชจเชเชคเซเช เชนเชเซ เชชเชฃ 1/10 เชฐเซเชถเชฟเชฏเซ เชฆเซเชตเชพเชฐเชพ เชเชฒเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ:
เชฌเซ เชเชถเซเชฐเชฟเชค เชธเชเชธเซเชเชฐเชฃเซ เชฎเชพเชเซ เชเซเชจเซเชฐเซ
เชนเชตเซ เช เชฎเซ เชตเชฟเชเชฒเซเชช เชชเชฐ เชตเชฟเชเชพเชฐ เชเชฐเซเชถเซเช เชเซเชฏเชพเช เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชซเซเชฐเชจเซเช เชเชจเซเชก เช เชจเซ เชฌเซเชเชเชจเซเชก เชฌเชเชจเซ เชฎเชพเชเซ เชธเชเชธเซเชเชฐเชฃ v2 เชเซ. เชฌเชเชจเซ เชฎเชพเชเซ, เช เชฎเซ เชธเซเชชเชทเซเช เชเชฐเซเชฏเซเช เชเซ เชเซ 10% เชเซเชฐเชพเชซเชฟเช v2 เชชเชฐ เชเชตเซ เชเซเชเช:
เชเชชเชฃเซ เชเซเชเช เชเซเช เชเซ เชซเซเชฐเชจเซเชเชเชจเซเชก v1 เช เชจเซ v2 เชฌเชเชจเซ เชซเซเชฐเชตเชฐเซเชก เชเซเชฐเชพเชซเชฟเช 1/10 เช เชจเซ เชฌเซเชเชเชจเซเชก v1 เช เชจเซ v2 เชจเชพ เชเซเชฃเซเชคเซเชคเชฐเชฎเชพเช.
เชเซ เชเชชเชฃเซ เชซเซเชฐเชจเซเชเชเชจเซเชก-v2 เชฅเซ เชฎเชพเชคเซเชฐ เชฌเซเชเชเชจเซเชก-v2 เชชเชฐ เชเซเชฐเชพเชซเชฟเช เชซเซเชฐเชตเชฐเซเชก เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ เชคเซ เชถเซเช เชเชพเชฐเชฃ เชเซ เชคเซ v1 เชธเชพเชฅเซ เชธเซเชธเชเชเชค เชจเชฅเซ? เช เชเชฐเชตเชพ เชฎเชพเชเซ, เช
เชฎเซ เชซเซเชฐเชจเซเชเชเชจเซเชก เชฎเชพเชเซ 1/10 เชฐเซเชถเชฟเชฏเซ เชธเซเช เชเชฐเซเชถเซเช, เชเซ เชตเชพเชเชพเชเชพเชเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฌเซเชเชเชจเซเชก-v2 เชชเชฐ เชเซเชเชฒเซ เชเซเชฐเชพเชซเชฟเช เชเชตเซ เชเซ เชคเซเชจเซเช เชจเชฟเชฏเชเชคเซเชฐเชฃ เชเชฐเซ เชเซ. sourceLabels
:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: backend
namespace: default
spec:
gateways: []
hosts:
- "backend.default.svc.cluster.local"
http:
...
- match:
- sourceLabels:
app: frontend
version: v2
route:
- destination:
host: backend.default.svc.cluster.local
subset: v2
port:
number: 80
weight: 100
เชชเชฐเชฟเชฃเชพเชฎเซ, เช เชฎเชจเซ เชเซ เชเซเชเช เชเซ เชคเซ เชฎเชณเซ เชเซ:
เชฎเซเชจเซเชฏเซเช เชฒ เชเซเชจเซเชฐเซ เช เชญเชฟเชเชฎเชฅเซ เชคเชซเชพเชตเชคเซ
ะ เชชเซเชฐเชฅเชฎ เชญเชพเช เช เชฎเซ เชฌเซ k8s เชเชฎเชพเชตเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฎเซเชจเซเชฏเซเช เชฒเซ เชเซเชจเซเชฐเซ เชกเชฟเชชเซเชฒเซเชฏเชฎเซเชจเซเช เชเชฐเซเชฏเซเช. เชคเซเชฏเชพเช เช เชฎเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟเชเชจเซ เชธเชเชเซเชฏเชพ เชฌเชฆเชฒเซเชจเซ เชตเชฟเชจเชเชคเซเชเชจเซ เชเซเชฃเซเชคเซเชคเชฐ เชจเชฟเชฏเชเชคเซเชฐเชฟเชค เชเชฐเซเชฏเซ. เช เช เชญเชฟเชเชฎ เชเชพเชฎ เชเชฐเซ เชเซ, เชชเชฐเชเชคเซ เชคเซเชฎเชพเช เชเชเชญเซเชฐ เชเชพเชฎเซเช เชเซ.
Istio เชชเซเชฐเชคเชฟเชเซเชคเชฟเชเชจเซ เชธเชเชเซเชฏเชพเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชงเชพ เชตเชฟเชจเชพ เชตเชฟเชจเชเชคเซเชเชจเซ เชเซเชฃเซเชคเซเชคเชฐ เชจเชเซเชเซ เชเชฐเชตเชพเชจเซเช เชถเชเซเชฏ เชฌเชจเชพเชตเซ เชเซ. เชเชจเซ เช เชฐเซเชฅ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เช เชฎเซ HPAs (เชนเซเชฐเชฟเชเซเชจเซเชเชฒ เชชเซเชก เชเชเซเชธเซเชเซเชฒเชฐเซเชธ) เชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซเช เชเซเช เช เชจเซ เชเซเชจเซเชฐเซ เชเชฎเชพเชตเชเชจเซ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชฟเชคเชฟ เช เชจเซเชธเชพเชฐ เชเซเช เชตเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
เชชเชฐเชฟเชฃเชพเชฎ
Istio เชธเชฐเชธ เชเชพเชฎ เชเชฐเซ เชเซ เช เชจเซ เชเชฟเชฏเชพเชฒเซ เชธเชพเชฅเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเซเชฌ เช เชถเชเซเชคเชฟเชถเชพเชณเซ เชธเชเชฏเซเชเชจ เชฌเชจเชพเชตเซ เชเซ. เชฎเชพเชฐเซ เชฐเซเชเชฟเชเชจเซ เชธเซเชเชฟเชฎเชพเช เชเชเชณ เชธเซเชชเชฟเชจเซเชเชฐเชจเซ เชเชเซเชฎเซเชถเชจ เช เชจเซ เชเซเชจเซเชฐเซ เชเชจเชพเชฒเชฟเชเชฟเชเซเชธ เชฎเชพเชเซ Istio เชธเชพเชฅเซ เชเซเชกเชตเชพเชจเซเช เชเซ.
เชธเซเชฐเซเชธ: www.habr.com