ááá á áá ááľáĽáŤá á°á á¨ááá á ááľá˛á ááááľ âá á°á á¨áĽá ááŤá¨áá áľá ááâ á˛á á°áááŻáᢠááá áá á áąáá á¤áááśá˝ áĽá á¨áľáá á áááááśá˝ á¨áá°á ááĽá áŤáá ááá ááŽáááŠá°á á áááááľ á°áľáá á áá°áá, áá°áá¸áľ á¨á á°á á áŁá á¨á°áťá áá.
áĽá á˘áľá˛áŽáŁ á¨OpenShift áĽá Kubernetes ááᣠá¨áááᎠá áááááśá˝á áá°ááŤáľ á áĽáááľ á á°ááş áĽá ááááľ á¨áá˝á áŤá°áááá - áĽá ፠á áŁá áĽáŠ ááᢠáľááá
ááłá áĽá ááá˝á á á˘áľá˛áŽ á°á¨áłáłá á áŤá°á áĽá á¨áá¨á¨áť ááĽá ááľáĽ áĽáááááŤáá á˘
áá°áá¸áľ áľááá á˛áá
á áĽá áááł, áá°áá¸áľ á¨áá¨á°á°á á áá¨á¨áťá á°á¨á áá áĽáť áá, á¨áá¨á áá á°ááጠáá°áąá ááááá¨áľ áĽáť áá. áá áá áá áááľá¨á á ááááŞáŤ áááá ááá áááá áŤáľáááááłá, áĽá áĽá á áľá°áłá˝ áááŽá˝ áĽáá áá áĽáááłá.
á á˛áąá á¨áśááľáááá áľáŞáľ á˛á áá á á°ááá˝á áááááľ áááá á ááŤáŽá˝ áááľ ááľáĽ ááľááŁáľ á°áᢠááᢠá áľáአááŽáĽ á áŁá áááá áĽá á¨á°á¨ááá á¨áááááŞáŤ ááááľ áá, áĽá á˘áľá˛áŽ "ááľáĽáŤá á áááááľ" (á¨áĽááľá áááᎠá°ááŞáľ áľáá áľáŞáľ) á á ááŤá˝ áľáááą ááľáĽ áŁáá áłááᥠáá áá áááľá¨á áŤáľá˝áááłá. ááá áአáá áĽááłá á á - âá¨áá ááľáááŞáŤâ ᣠáĽáąá á á°áŤá á á°ááłáłá á¨áľáá áľá âá¨áľáŤáá ááá¸áŁá¨á â á°ááŁá áá áŤáá˘
áĽáŁááá áŤááá á ááá˝ á¨ááááŞáŤ áá¨áá° ááá á¨"áááá " ááá "áá°ááŤáľ" á¨áááá áá áĽáá°áá áá áἠáá á. áááᎠá áááááľáá á ááááľ áá áá°ááŤáľ áĽá á áĽááἠáá áá ááťá á ááĽááľá˘ áá á áááááľ áľáŤááá ááá á áĽá ááŤááľáŁ áá¤áľ áááŁáľ áĽá áĽáá˛áá á áááἠááľáłááťáá˝ áá ááťá áĽá áá¨áłá°á ááťá á áá áľá˘ áá á á°ááłáłá áá, áá á áááááľ áŤáą áá° áááľ áááá á áŤáľáááá. áśááľááŽá˝á áááááľ áĽá áááá áááá á ááľ á áááľ á áá°ááᢠá áááá áľ áá áá°ááŤáľ áá˝ááᣠááá áá ááá á˛áá áĽáť ááááá˘
áá°áá¸áľá áá°áŤááľ á áľá°áłá˝ ááá˘
áááá á¨á¤á˝á˛á˛á áĽáŤááá˝ áá° áááᎠá áááááľ ááá v1 á¨ááŤááŤáá á¨áá¨á°ááá á¨Istio ááááá á
áá áááá¨áą (ááá ááłááá˝ á¨á°áá°áąáľ á¨
ááááŤá áľáŠá¨áľ ááľáĄ mirror:
á á፠ááš ááá áá - áá
á¨áľáŤáá ááľáłááśá˝á áŤáááá. á áᣠáŤá áŤá
á ááá áá!
á¨áá á°áἠáá¤áľ á¨áĽááľá á¨áááľ áľáááľ (v1) áᢠáĽáŤááá˝á áá¨áááá áĽáá°áááĽá ááááᣠááá áá áĽáŤáááš áĽáŤáłá¸á á¨v2 áá á ááááłá°á ááአááááŁáááᣠáááľá áá á áááťá¸á áá°á፠áááłáᢠá áá ááááľ, v2 á áĽááá°á áááłáá˝ - á áĽááá°á ááἠáĽá á áľáŤáá - á áááľ áľáááą á á áŤá ááľáĽ ááá á áááľ áŁáá ááĽááľ áłááá ááá¨á áá˝áá. áá áá°áŤááľ áá¨áŤá á á°ááş áŤá°áááá? á á á áĽááá áááľ. áá á á áľá°áłá˝ ááááľ áá á¨áá°á¨ááá˘
áľáŤá áĽáá¨áá
áĽáŁááá á v2 áŽáľ ááľáĽ áᢠáĽáŤááá˝ áá° á¨ááἠáááŚá˝ ááአá¨áá˝ááŁá¸áá áááłáá˝ áá á¨áĽ á áľááá áááá áἠáá áᢠáĽáŤáááš áĽáŤáłá¸á á ááá áĽá ááá˝ á áá ááአááááŁááá, ááá áá á áá°áá ááľáĽ áŤáá á¨áááá áŞáŤ áá´ áá፠á¨áĽááľá áá - áĽá áá áľáá˝ á áłáłá˘ áá.
á ááľ á áá ááĽáĽ áĽááľááá
á áľáŤáá ááá¸áŁá¨á á ááľáĽá ááľááá (á¨á¨áá ááľáááŞáŤ/áĽáŤá ááá¸áŁá¨á ) á ááááá ááááľ áŽáąá áłáá፠áá¨ááá áá˝ááá˘
áááłáĽ á¨ááá áááĽ
áĽáŤááá˝ á¨ááľá°ááá áľ áŚáł á ááłááśášá áá° v1 áłááá áá° v2 á¨ááá á˘áááľ? áááłáᣠá¨ááá áĽáŤááá˝ ááľáĽ á ááľ á ááśá ááá á¨á°áá°á á¨á°á áááá˝ áĄáľá áĽáŤááá˝ áĽáťá˘ áĽá á¨ááŤ, á áľááľáá v2 áĽáá´áľ áĽáá°áá°áŤ á áááá¨áľ, áááá áĽáŤááá˝ ááľ á ááľ áá° á á˛áą áľáŞáľ áŤáľá°ááá. ááá á á°ááŤááᣠá v1 áá á¨áá á˝áá á¨á°áá ᨠáááá ááá áá° v2 ááááąá˘ áĽá áĽáá°ááľá á Canary Deployment ááŁááá˘
á á˘áľá˛áŽ ááľáĽ á¨áŤá᪠áá°ááŤáľáĄ á¨áŽáá˝á áľáŤá ááá ááľá¨á
á áĽááá áĽá ááľ á ááľ
á¨áŤá᪠áá°ááŤáľ áá´á ááááľ áĽá á á áŁá ááá ááᥠá á˛áąá á¨áśááľáááá áľáŞáľ (á áĽá áááł áááᎠá°ááŞáľ) á˛áŤáľááአááááŞáŤ ááľáá˝ á¨á°á áááá˝ áĄáľá ááłá¨áť áá°áĄáłáᢠááá ááá áĽáŠ á¨ááᣠá á˛áą áľáŞáľ ááľáŤáľ áĽáľáŞááá áľá¨áľ áá á áĄáľá ááľ áĽáá áá¨ááŤáᣠááá - áŤááá - á áá¨á¨áť áááá á°á áááá˝ áá° áĽáą áŤáááłáᢠá á áľá°áłá°áĽ áĽá ááľ á ááľ á á˛áľ áľáŞáľ á ááľá°ááá áĽá á°á áááá˝á á á°ááŁá ᨠááááľ áá° áĽáą á ááá¨á á á°ááá˝á ááááľ áĽá ááĽá¨áááľá á¨á ááľá¨á áá˝ááá˘
áĽááἠááᣠá˘áľá˛áŽ áá áľá°áá áĽáŤá ááááá áĽá áĽáŠ á ááŤáŽá˝á á ááľá ᾠᨠCanary Deploymentá ááá áŤá°ááááᢠáĽá á á, áá áá á ááááá ááááľ á¨áĽááľáá ááá áŽáľ áłááአáá°á¨á áá˝áá.
á áłášá á ááŁáŤáľ áá
á áŁá ááá á¨áááŞáŤ ááľáááľ á ááą á á áłá˝ áá á¨á°áá°á¨á° á á áŁáŤ ááá¨á ááᢠáá° v2 ááááľ á¨Safari browsers á¨áááᥠáĽáŤááá˝á áĽáť ááááá áĽáá áᢠáĽáá´áľ áĽáá°áá°á¨á áĽáááĄ-
áá
áá á¨ááááá á
á áĽáá°ááĽá¨á áĽá áľáááá áĽáá áá curl
ááááᎠá áááááľ áľáááá áĽáŤááá˝á á á ááľ áá áĽáááľáááᢠá á
á˝á áłá áá˝ áĽááłá áá áĽáá°ááłá¨áᣠááá áá° v1 áááłááĄ-
á v2 áá áŤáá áľáŤáá á¨áľ á á? á áĽá ááłá ááľáĽ ááá áĽáŤááá˝ á¨áŤáłá˝á á¨áľáĽáá ááľáá áĽáť áľááᥠᣠá ááá á¨ááᢠááá áá á¨áá áŁáá á፠áá˝ áá ááłá˝ ááľááŽá˝ áľáŠá¨áľ ááľáĄ-áá
á¨áłá᪠á áłá˝ áĽáŤáá áľááááá ááá˝ áá ᣠáĽáąá á á°áŤá áá
áá áŤááŁáá
áŤáá°áá°á ááá
áá°á á á áááážá˝ áĽáŤááá˝á ááááá á áŁá áááá á˝ááłáá˝á áĽáá°áá°áĄ á áľááľáá á˝áááᢠá¨áá¨á°ááá ááłá á°ááá¨áľ (á¨áá°áŤáá áľá¨áłáá áĽáá áĽááľáŁáá)
á á áá áá áá°á á á áááážá˝ áá ááľá¨á áĽáá°áá˝á ááłáĽ áááŤá˝ááá˘
áľáááľ á ááľ
áľáááľ áŤáá˛ááᣠá á°ááá á¨ááŹáľ áŤáľááá˝á á áá°á á á áááážá˝ á áá ááᣠá¨áľáŤáá áá°áľá á ááááľ ááááľ áĽáá˛áአáŤáľá˝áááłáᢠáĽá áá á¨á á˛áą áŽáľ áľáá áŤá á áĽá á áŤáááá - ááá áá, áŽáąá áĽáŤáąá áááἠá áŤáľááááá, á áľááá á¨ááá ááá ááá á ááĽááľ áĽáá°áá á¨á ááááľ ááťáá.
ááááľ á áááľ?
á áŽáááá°áá áá á IstioᣠKubernetes áĽá OpenShift áááá¨á ááá°áá? áĄáľá
â
á˘áľá˛áŽ á˘áá¨áľáĄ á ááłá°á˘áŤ áąá á áŠá ááŁ
á˘áľá˛áŚá á¨Red Hat OpenShift áĽá Kubernetes áá á á፠á áá áá á áááśá á áááᎠá áááááľ ááľá áľ áá˝ááᢠá¨á˘áľá˛áŽ á áááááľ áá¨áĽ á áŠá áááľáľ ááľáľ ááľáĽ á°á°áĽááᣠáĽá áŽáľá á¨ááá°á (á á áĽááá) á á°ááĽá ááᢠá áááá, á¨áááἠáááááľ, ááá, ááá° - áá áá á¨áá ááŤáŁáá˝á á áá áá ááá áá ááá áá. ááá áá áááᎠá°ááŞáľá á¨áĽááľá á¨OpenShift-Kubernetes áľáááľ áá á¨ááá ááá˝ á áááááśá˝ áá áááááľ á˘ááááľ?
á˘áľá˛áŽ á˘ááŹáľ áááłá á¨áááŁá áĽáá áá ááᢠá á áá á ááááᣠᨠKubernetes pods áľáááľá á áŤá áŤááááľá ááááá˝ (á ááĽáĽáĄ- âá áááááľâ) áĽáá˛á°ááą ááá áľáááłáᢠá°á¨á᪠áá á¨áľá áŤáá¨ááá á Istio Egress á áŤáŁá˘ áľáŤáá á¨áá°áááá á ááľ áááľá°á ááľáĽ áĽá á ááľáŁá á¨á áá á°áá á¨áŚá˝ áá á áááľá¨áľ á áĽáá°áá áŤá áľáĽáľáŚá˝ ááŤá¨á áĽáť áá ᢠáĽá á¨áá á¨ááᥠá áááááśá˝á ááááľ áĽáľáŤáááá áľá¨áľ áĽáá°áá ááááą áá˝áŞáľ á áŁá áĽáŠ áá°áŤáá˘
Egress á¨áá áŤááľá á¨á áá á°áá á¨áŚá˝ áĽáá˛áŤáá ááá áľáááłáᣠá Egress á°ááŚá˝ áá á áááľá¨áľ ááá á á°ááŤáŠ á¨á áá á áľáŤáťáá˝á˘
á httpbin.org/headers á¨GET áĽáŤá á¨ááŤááἠá¨á፠ááŽááŤá á áá áĽáá áá˘
(httpbin.org á¨á᪠á áááááľ áĽáŤááá˝á áááá°á˝ ááš ááá ááá˘)
á áľáĽáá ááľáá áá á¨áᥠcurl http://httpbin.org/headers
, á¨áá¨á°ááá áĽáááá¨áłáá.
ááá á á áłáš ááľáĽ á°ááłáłá á áľáŤáť ááááľ áá˝áá-
áĽáá°áááá¨áąáľ ᣠáĽá፠á¨áááá á áááááľ áá° áĽáą á¨á°ááááľá áŤáľááá˝ á ááá ááááłáá˘
áá°áŞáŤá áá°ááľ á áľááŁ
á áá á¨áá
á á áááááľ á¨á፠áŽáľ áĽááá°áľ, á¨áľáááłá˝á ááŞ, áĽá á áŤáłá˝á áĽááľáŹáľ, áĽááľáłááľ, á˘áľá˛áŽ á¨á°áŤáá áľ. (áá
á áĽáŤáľá á ááááá ááľá¨á áá˝áá curl egresshttpbin-istioegress.$(minishift ip).nip.io
, á¨á፠á áá áá
áá á áľááŞá áá áĽááŤáá-
áá áá á°áá á¨? ááá ááá áĽáť á°ááˇáᢠá áá°ááá áááľ áá áááľ áá? ááĽáą áĽáť áá áŤá°á¨ááá curl
.
á¨á áá á°áá á¨áŚá˝á áá° á áááá¨áĽ á áá ááŤáá
á˘áľá˛áŽ ááá ááááľ (áááá áááľáá) á áá áľá˘ á°ááá á˘áľá˛áŽ á¨ááá¨áľ áĽá á¨ááááá áááááľ áŤááŁá¸á á¨áá ááŞá ááŤáŁáá˝ áĽáť áá¸á (áĽá áá°á áĽáá áľá á°áááááá¸á ááá˝ áĽá áááŽá˝)ᢠá áá ááááŤáľáŁ á¨á áá á°áá á¨áŚá˝ á¨ááŤáááľ á áááľá°á áľáááľá ááľáĽ áŤááá áĽáť ááᢠáĽá httpbin.org á¨áááá á¨á᪠áľááá áá°á¨áľá áľ á áá˝ááᢠáĽá áĽáá áá Istio Egress áá° ááłá á¨áááŁá - á áááť áŽáľá áá áľáá˝ ááἠáłáááá˘
á¨áá á áłá˝ áŤáá á¨Egress á á á˘áľá˛áŽ á¨áááááá á áááááľ áĽáá˛ááá (á áľááá á¨ááᣠá¨ááŤá á ááá á áááá¨áĽ) áĽáá˛ááá áŤáľááľá°ááᣠá áá á ááŁá httpbin.orgᢠá¨áá ááá (egress_httpbin.yml) áá¨áľ áĽáá°ááľá˝ááᣠáĽáá áŤáá á°ááŁá á áŁá ááá ááá˘
á¨áá¨á áá
áá á
á áá°áá á áĽáť áááĄ-
istioctl create -f egress_httpbin.yml -n istioegress
ᨠEgress á°ááŚá˝á á áľáĽáá áá¨áľ áá˝áá istioctl get egressrules
:
áĽá á áá¨á¨áťá áľáááá áĽáá°áá áĽáá°áŤáá á¨á°áá á - áĽá ááá ááá áĽáá°áá°áŤ áĽááŤáá-
á ááá˝ áĽááľáŁáá
áĽáá°áááá¨áąáľ, á˘áľá˛áŽ á¨ááá ááá áá ááľá°ááĽáá áĽáá˛áŤá°áŤá ááá áľáááłá. á áá á ááááᣠá ááá á¨OpenShift á áááááśá˝á ááá á áĽá á Kubernetes á áŠá ááľá°áłá°áᣠáááá ááá áĽáá° á áľáááááą áá° áá áĽá áá° áłá˝ á áá¨áአááľ ááľáĽ ááá¨áľ áá˝ááᢠáĽá á á°ááłáłá áá á¨á áŤáŁá˘á áá á áááááśá˝á á á°á á ááááľ áá˝ááᢠáĽá á áᣠáá áá á ááááá ááááľ á¨áĽááľáá áŽáľ áłááአáá°á¨á áĽáá°áá˝á á áľáá áĽáá°ááááá˘
áá
á á˘áľá˛áŽ á°á¨áłáłá ááľáĽ á¨áá¨á¨áťá ááĽá áá áᢠáá¨áłá°á - áá°ááľ áĽá á áľá°áłá˝ áááŽá˝ á á!
ááá: hab.com