рд╡рд┐рддрд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ, рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддрд┐рдпреЛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рд╣реИред рдЗрд╕реНрддрд┐рдпреЛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреИрдХреЗрдЬ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдФрд░ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдФрд░ рдЙрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЗрд╕реНрддрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрди рддрдХрдиреАрдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрдИ рд╕реЗрд╡рд╛рдУрдВ рд╡рд╛рд▓рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдмрд┐рдирд╛ рдЗрд╕реНрддрд┐рдпреЛ. рдпрджрд┐ рдпреЗ рдЙрдкрдХрд░рдг рдФрд░ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рддреЛ рдмреЗрдЭрд┐рдЭрдХ рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдФрд░ рд╕реАрдзреЗ рдЕрдиреБрднрд╛рдЧ рдкрд░ рдЬрд╛рдПрдВ
рдпрд╣ рдПрдХ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдЖрдкрдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рдЬреАрдХреЗрдИ рдХрдВрдЯреЗрдирд░ рддрдХ рдХреА рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЧреБрдЬрд░реЗрдВрдЧреЗред рдЖрдк рдпрд╣ рднреА рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЗрд╕реНрддрд┐рдпреЛ рдХреИрд╕реЗ рдЗрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреА рд╢рдХреНрддрд┐ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХрдВрдЯреЗрдирд░, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕, рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рдпрд╛ рдЗрд╕реНрддрд┐рдпреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред
рдХрд╛рд░реНрдп
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдкреВрд░реЗ рдХрд░реЗрдВрдЧреЗ:
- рдЕрдиреЗрдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реАрдЦрдирд╛ред
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╕реЗ рдЪрд▓рд╛рдПрдБ.
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХрд░рдирд╛ред
- рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдирд╛ред
- рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рддреИрдирд╛рдд рдХрд░рдирд╛ред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рд╢реБрд░реВ рдХрд░реЗрдВ
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЗрдВрдЬрди рдПрдкреАрдЖрдИ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:
- рдХреЗ рдкрд╛рд╕ рдЬрд╛рдУ
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЗрдВрдЬрди рдкреЗрдЬ Google рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрдВрд╕реЛрд▓ рдореЗрдВред - рдХреЛрдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ рдпрд╛ рдЪреБрдиреЗрдВ.
- рдПрдкреАрдЖрдИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛рдПрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рдЗрд╕рдореЗрдВ рдХреБрдЫ рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред
- рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ Google рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓рд┐рдВрдЧ рд╕реЗрдЯ рдХреА рдЧрдИ рд╣реИред
рдЬрд╛рдиреЗрдВ рдХрд┐ рдмрд┐рд▓рд┐рдВрдЧ рдХреИрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ .
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рдЖрдк рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ
рд╡рд┐рдХрд▓реНрдк рдП: рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдн:
- рдкрд╛рдпрдерди 2 рдФрд░ рдкрд╛рдпрдерди 3 рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг (рд╕рд╣рд┐рдд) Virtualenv) рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред
- рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЙрдкрдХрд░рдг gcloud, рдбрд╛рдХ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗрд╡рд╛рд▓рд╛ рдордЬрд╝рджреВрд░, Git ╨╕ Kubectl, рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реИрдВред
- рдЖрдкрдХреЗ рдкрд╛рд╕ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ
рдкрд╛рда рд╕рдВрдкрд╛рджрдХреЛрдВ :рдХреЛрдб рд╕рдВрдкрд╛рджрдХ , рдЬреЛ рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕рдВрдкрд╛рджрди рдЖрдЗрдХрди рдХреЗ рд╕рд╛рде рдЦреБрд▓рддрд╛ рд╣реИред- Emacs, Vim рдпрд╛ Nano, рдЬреЛ рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рдореЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдЦреБрд▓рддреЗ рд╣реИрдВред
рдХрд╛рдо рдореЗрдВ рд▓рд╛рдирд╛
- рдЬреАрд╕реАрдкреА рдХрдВрд╕реЛрд▓ рдкрд░ рдЬрд╛рдПрдВ.
- рдмрдЯрди рдХреЛ рдХреНрд▓рд┐рдХ рдХрд░реЗ рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ (рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ) GCP рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ред
рдирд┐рдЪрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ
рд╡рд┐рдХрд▓реНрдк рдмреА: рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдпрджрд┐ рдЖрдк Linux рдпрд╛ macOS рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ, рддреЛ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
-
рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ
рдкрд╛рдпрдерди 3 рдФрд░ рдкрд╛рдпрдерди 2 рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг . -
рдХреНрд▓рд╛рдЙрдб рдПрд╕рдбреАрдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдХреЗ рд╕рд╛рде gcloud. -
рд╕реНрдерд┐рдд Kubectl - рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓
Kubernetes .gcloud components install kubectl
-
рд╕реНрдерд┐рдд
рдбреЙрдХрд░ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг (рд╕реАрдИ) . рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдбрд╛рдХ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗрд╡рд╛рд▓рд╛ рдордЬрд╝рджреВрд░рдирдореВрдирд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдЫрд╡рд┐рдпрд╛рдБ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред -
рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдЧрд┐рдЯ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг GitHub рд╕реЗ рдирдореВрдирд╛ рдЖрд╡реЗрджрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдирдореВрдирд╛ рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
-
рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рд╣реЗрд▓реЛрд╕рд░реНрд╡рд░:
git clone https://github.com/GoogleCloudPlatform/istio-samples
-
рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ:
cd istio-samples/sample-apps/helloserver
рдПрдХрд╛рдзрд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЦреЛрдЬ рдХрд░рдирд╛
рдирдореВрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рджреЛ рдШрдЯрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ
- рд╕рд░реНрд╡рд░: рдПрдХ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╡рд╛рд▓рд╛ рд╕рд░рд▓ рд╕рд░реНрд╡рд░ рдкрд╛рдирд╛, /, рдЬреЛ рдХрдВрд╕реЛрд▓ рдкрд░ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред
- рд▓реЛрдбрдЬреЗрди: рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рдЯреНрд░реИрдлрд╝рд┐рдХ рднреЗрдЬрддреА рд╣реИ рд╕рд░реНрд╡рд░, рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рдеред
рд╕реЛрд░реНрд╕ рдХреЛрдб рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдирд╛
рдирдореВрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рдпрд╛ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЪрд▓рд╛рдПрдВред
1) рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рдЗрд╕реНрддрд┐рдУ-рдирдореВрдиреЗ/рдирдореВрдирд╛-рдРрдкреНрд╕/рд╣реИрд▓реЛрд╕рд░реНрд╡рд░ рджреМрдбрд╝рдирд╛ рд╕рд░реНрд╡рд░:
python3 server/server.py
рдЬрдм рдЖрдк рдЪрд▓рд╛рдиреЗ рд╕рд░реНрд╡рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ:
INFO:root:Starting server...
2) рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реА рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓реЗрдВ рд╕рд░реНрд╡рд░. рдпрджрд┐ рдЖрдк рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рджреВрд╕рд░рд╛ рд╕рддреНрд░ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдРрдб рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
3) рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ рд╕рд░реНрд╡рд░:
curl http://localhost:8080
рд╕рд░реНрд╡рд░ рдЙрддреНрддрд░:
Hello World!
4) рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ рдирдореВрдирд╛ рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдерд╛, рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ рд▓реЛрдбрдЬреЗрди:
cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/loadgen
5) рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдмрдирд╛рдПрдВ:
export SERVER_ADDR=http://localhost:8080
export REQUESTS_PER_SECOND=5
6) рднрд╛рдЧреЛ Virtualenv:
virtualenv --python python3 env
7) рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ:
source env/bin/activate
8) рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рд▓реЛрдбрдЬреЗрди:
pip3 install -r requirements.txt
9) рднрд╛рдЧреЛ рд▓реЛрдбрдЬреЗрди:
python3 loadgen.py
рдЬрдм рдЖрдк рдЪрд▓рд╛рдиреЗ рд▓реЛрдбрдЬреЗрди рдирд┐рдореНрди рд╕рдВрджреЗрд╢ рдЬреИрд╕рд╛ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:
Starting loadgen: 2019-05-20 10:44:12.448415
5 request(s) complete to http://localhost:8080
рдХрд┐рд╕реА рдЕрдиреНрдп рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╕рд░реНрд╡рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХрдВрд╕реЛрд▓ рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ:
127.0.0.1 - - [21/Jun/2019 14:22:01] "GET / HTTP/1.1" 200 -
INFO:root:GET request,
Path: /
Headers:
Host: localhost:8080
User-Agent: python-requests/2.22.0
Accept-Encoding: gzip, deflate
Accept: */*
рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ, рд╕рдВрдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рд╣реА рд╣реЛрд╕реНрдЯ (рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рдпрд╛ рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди) рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯрдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░.
10) рд░реБрдХрдирд╛ рд▓реЛрдбрдЬреЗрди ╨╕ рд╕рд░реНрд╡рд░, рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ Ctrl-рд╕реА рдкреНрд░рддреНрдпреЗрдХ рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ.
11) рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ рд▓реЛрдбрдЬреЗрди рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░реЗрдВ:
deactivate
рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХрд░рдирд╛
GKE рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрджрд╛рд╣рд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреИрдХреЗрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рд╕рд░реНрд╡рд░ ╨╕ рд▓реЛрдбрдЬреЗрди - рдореЗрдВ
рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреИрдХреЗрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП Dockerfile. Dockerfile рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ
рдЙрджрд╛рд╣рд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрдж рд╣реИ Dockerfile рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ ╨╕ рд▓реЛрдбрдЬреЗрди рдЫрд╡рд┐рдпрд╛рдБ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рдеред рдиреАрдЪреЗ - Dockerfile рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░:
FROM python:3-slim as base
FROM base as builder
RUN apt-get -qq update
&& apt-get install -y --no-install-recommends
g++
&& rm -rf /var/lib/apt/lists/*
# Enable unbuffered logging
FROM base as final
ENV PYTHONUNBUFFERED=1
RUN apt-get -qq update
&& apt-get install -y --no-install-recommends
wget
WORKDIR /helloserver
# Grab packages from builder
COPY --from=builder /usr/local/lib/python3.7/ /usr/local/lib/python3.7/
# Add the application
COPY . .
EXPOSE 8080
ENTRYPOINT [ "python", "server.py" ]
- рдЯреАрдо рдкрд╛рдпрдерди рд╕реЗ: рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ 3-рд╕реНрд▓рд┐рдо рдбреЙрдХрд░ рдХреЛ рдирд╡реАрдирддрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ
рдкрд╛рдпрдерди 3 рдЫрд╡рд┐ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ. - рдЯреАрдо рдкреНрд░рддрд┐рд▓рд┐рдкрд┐. . рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ (рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ)ред рд╕рд░реНрд╡рд░.py) рдХрдВрдЯреЗрдирд░ рдХреЗ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВред
- рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдЙрд╕ рдХрдорд╛рдВрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХрдорд╛рдВрдб рд▓рдЧрднрдЧ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рдЖрдк рдЪрд▓рд╛рддреЗ рдереЗ рд╕рд░реНрд╡рд░.py рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ.
- рдЯреАрдо рдЕрдирд╛рд╡реГрдд рдХрд░рдирд╛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ 8080. рдпрд╣ рдЯреАрдо рдирд╣реАрдВ рд╣реИ
рдмрдВрджрд░рдЧрд╛рд╣ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ . рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ рдЬрд┐рд╕рдХреА рдкреЛрд░реНрдЯ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ 8080 рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп.
рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдХрд░рдиреЗ рдХреА рддреИрдпрд╛рд░реА рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ
1) рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ_рдЖрдИрдбреА рдЖрдкрдХреЗ GCP рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЖрдИрдбреА рдкрд░ред
export PROJECT_ID="PROJECT_ID"
export GCR_REPO="preparing-istio"
рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ_рдЖрдИрдбреА ╨╕ рдЬреАрд╕реАрдЖрд░_рдЖрд░рдИрдкреАрдУ рдЬрдм рдЖрдк рдЗрд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЛ рдЯреИрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдирд┐рдЬреА рдХрдВрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдзрдХреЗрд▓рддреЗ рд╣реИрдВред
2) рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ GCP рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯ рдХрд░реЗрдВ gcloud.
gcloud config set project $PROJECT_ID
3) рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЬрд╝реЛрди рд╕реЗрдЯ рдХрд░реЗрдВ gcloud.
gcloud config set compute/zone us-central1-b
4) рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ GCP рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрдВрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗрд╡рд╛ рд╕рдХреНрд╖рдо рд╣реИред
gcloud services enable containerregistry.googleapis.com
рдХрдВрдЯреЗрдирд░реАрдХрд░рдг рд╕рд░реНрд╡рд░
-
рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ рдЬрд╣рд╛рдБ рдЙрджрд╛рд╣рд░рдг рд╕реНрдерд┐рдд рд╣реИ рд╕рд░реНрд╡рд░:
cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/server/
-
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ Dockerfile рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░:
docker build -t gcr.io/$PROJECT_ID/$GCR_REPO/helloserver:v0.0.1 .
рдкреНрд░рд╛рдЪрд▓ -t рдбреЙрдХрд░ рдЯреИрдЧ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрд╕ рдЫрд╡рд┐ рдХрд╛ рдирд╛рдо рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдХрдВрдЯреЗрдирд░ рддреИрдирд╛рдд рдХрд░рддреЗ рд╕рдордп рдХрд░рддреЗ рд╣реИрдВред
- рдЫрд╡рд┐ рдХреЛ рдХрдВрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ:
docker push gcr.io/$PROJECT_ID/$GCR_REPO/helloserver:v0.0.1
рд▓реЛрдбрдЬрди рдХрд╛ рдХрдВрдЯреЗрдирд░реАрдХрд░рдг
1) рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ рдЬрд╣рд╛рдБ рдЙрджрд╛рд╣рд░рдг рд╕реНрдерд┐рдд рд╣реИ рд▓реЛрдбрдЬреЗрди:
cd ../loadgen
2) рдЫрд╡рд┐ рдПрдХрддреНрд░рд┐рдд рдХрд░реЗрдВ:
docker build -t gcr.io/$PROJECT_ID/$GCR_REPO/loadgen:v0.0.1 .
3) рдЫрд╡рд┐ рдХреЛ рдХрдВрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ:
docker push gcr.io/$PROJECT_ID/$GCR_REPO/loadgen:v0.0.1
рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦреЗрдВ
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЫрд╡рд┐рдпрд╛рдВ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рд╣реИрдВ:
gcloud container images list --repository gcr.io/$PROJECT_ID/preparing-istio
рдХрдорд╛рдВрдб рдирдИ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:
NAME
gcr.io/PROJECT_ID/preparing-istio/helloserver
gcr.io/PROJECT_ID/preparing-istio/loadgen
GKE рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдирд╛ред
рдЗрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдпрд╛ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдбреЙрдХрд░ рд░рди. рд▓реЗрдХрд┐рди рдЙрддреНрдкрд╛рджрди рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ, рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдХреЗрдВрджреНрд░реАрдп рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗ рдХрд┐ рдХрдВрдЯреЗрдирд░ рд╣рдореЗрд╢рд╛ рдЪрд▓рддреЗ рд░рд╣реЗрдВ, рдФрд░ рдпрджрд┐ рдЯреНрд░реИрдлрд╝рд┐рдХ рдмрдврд╝рддрд╛ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдВрдЯреЗрдирд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдФрд░ рд╕реНрдкрд┐рди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдПред
рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
GKE рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдирд╛:
1) рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдПрдВ:
gcloud container clusters create istioready
--cluster-version latest
--machine-type=n1-standard-2
--num-nodes 4
рдЯреАрдо gcloud рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ GCP рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЬрд╝реЛрди рдореЗрдВ рдПрдХ рддреИрдпрд╛рд░ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕реНрддрд┐рдпреЛ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрдо рд╕реЗ рдХрдо 4 рдиреЛрдбреНрд╕ рдФрд░ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд░рдЦрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ
рдЯреАрдо рдХреБрдЫ рд╣реА рдорд┐рдирдЯреЛрдВ рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛ рджреЗрддреА рд╣реИред рдЬрдм рдХреНрд▓рд╕реНрдЯрд░ рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрдорд╛рдВрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ
2) рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдореЗрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ
gcloud container clusters get-credentials istioready
3) рдЕрдм рдЖрдк рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ Kubectl. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдЖрджреЗрд╢ рдиреЛрдбреНрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ:
kubectl get nodes
рдХрдорд╛рдВрдб рдиреЛрдбреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ:
NAME STATUS ROLES AGE VERSION
gke-istoready-default-pool-dbeb23dc-1vg0 Ready <none> 99s v1.13.6-gke.13
gke-istoready-default-pool-dbeb23dc-36z5 Ready <none> 100s v1.13.6-gke.13
gke-istoready-default-pool-dbeb23dc-fj7s Ready <none> 99s v1.13.6-gke.13
gke-istoready-default-pool-dbeb23dc-wbjw Ready <none> 99s v1.13.6-gke.13
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреА рдкреНрд░рдореБрдЦ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ
рдЖрд░реЗрдЦ GKE рдкрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
рдЬреАрдХреЗрдИ рдореЗрдВ рдХрдВрдЯреЗрдирд░ рддреИрдирд╛рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреА рдкреНрд░рдореБрдЦ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕реАрдЦреЗрдВред рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╕рдмрд╕реЗ рдЕрдВрдд рдореЗрдВ рд▓рд┐рдВрдХ рд╣реИрдВред
- рдиреЛрдбреНрд╕ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░. GKE рдореЗрдВ, рдиреЛрдб рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╣реИред рдЕрдиреНрдп рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░, рдПрдХ рдиреЛрдб рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдпрд╛ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рдПрдХрд▓ рдЗрдХрд╛рдИ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдПрдХ рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВред
- рдлрд▓реА. рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ, рдХрдВрдЯреЗрдирд░ рдкреЙрдбреНрд╕ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдПрдХ рдкреЙрдб рдПрдХ рдЕрд╡рд┐рднрд╛рдЬреНрдп рдЗрдХрд╛рдИ рд╣реИред рдПрдХ рдкреЙрдб рдореЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХрдВрдЯреЗрдирд░ рд╣реЛрддреЗ рд╣реИрдВред рдЖрдк рд╕рд░реНрд╡рд░ рдХрдВрдЯреЗрдирд░ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд▓реЛрдбрдЬреЗрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреЙрдбреНрд╕ рдореЗрдВ. рдЬрдм рдПрдХ рдкреЙрдб рдореЗрдВ рдХрдИ рдХрдВрдЯреЗрдирд░ рд╣реЛрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдФрд░
рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╕рд░реНрд╡рд░ ), рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреЙрдб рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред - рддреИрдирд╛рддреА. рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ, рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рд╕рдорд╛рди рдкреЙрдбреНрд╕ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдкреЙрдбреНрд╕ рдХреА рдХрдИ рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрди рдкреЙрдбреНрд╕ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдП рд╣реИрдВ рдпрд╛ рдЕрдиреБрддреНрддрд░рджрд╛рдпреА рд╣реИрдВред
- рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реЗрд╡рд╛. GKE рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдЪрд▓рд╛рддреЗ рд╕рдордп, рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рд▓реЛрдбрдЬреЗрди ╨╕ рд╕рд░реНрд╡рд░. рдЬрдм рдЖрдкрдиреЗ рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдпрд╛ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рд╕реЗрд╡рд╛рдПрдБ рд╢реБрд░реВ рдХреАрдВ, рддреЛ рдЖрдкрдиреЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ: 8080. рдПрдХ рдмрд╛рд░ рдЬреАрдХреЗрдИ рдореЗрдВ рддреИрдирд╛рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдкреЙрдбреНрд╕ рдХреЛ рдЙрдкрд▓рдмреНрдз рдиреЛрдбреНрд╕ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЖрдкрдХрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреЙрдб рдХрд┐рд╕ рдиреЛрдб рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк
рдлрд▓реА рдХреЛрдИ рд╕реНрдерд╛рдпреА рдЖрдИрдкреА рдкрддрд╛ рдирд╣реАрдВ.
рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдИрдкреА рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░, рдЖрдкрдХреЛ рдкреЙрдбреНрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИрдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реЗрд╡рд╛ . рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реЗрд╡рд╛ рдкреЙрдбреНрд╕ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рддрдд рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдХреБрдЫ рд╣реИрдВрд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ . рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рднрд╛рд░ рд╕рдВрддреБрд▓рди, рдЬреЛ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ.
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд DNS рд╕рд┐рд╕реНрдЯрдо рднреА рд╣реИ рдЬреЛ DNS рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, helloserver.default.cluster.local) рд╕реЗрд╡рд╛рдПрдБред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░ рдкреЙрдбреНрд╕ рдПрдХ рд╕реНрдерд╛рдпреА рдкрддреЗ рдкрд░ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЕрдиреНрдп рдкреЙрдбреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред DNS рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░, рдЬреИрд╕реЗ рдХреНрд▓рд╛рдЙрдб рд╢реЗрд▓ рдпрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ
рдЬрдм рдЖрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрд░реЛрдд рд╕реЗ рдЪрд▓рд╛рдпрд╛, рддреЛ рдЖрдкрдиреЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ python3
рд╕рд░реНрд╡рд░.py
рдЕрдирд┐рд╡рд╛рд░реНрдп рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рдПрдХ рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╣реИ: "рдРрд╕рд╛ рдХрд░реЛред"
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдЖрдк рдореЗрдирд┐рдлрд╝реЗрд╕реНрдЯ рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ YAML рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ рд╕рд░реНрд╡рд░ ╨╕ рд▓реЛрдбрдЬреЗрди. рдкреНрд░рддреНрдпреЗрдХ YAML рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ Kubernetes рд╕реЗрд╡рд╛ рдХреА рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреА рд╣реИред
рд╕рд░реНрд╡рд░.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: helloserver
spec:
selector:
matchLabels:
app: helloserver
replicas: 1
template:
metadata:
labels:
app: helloserver
spec:
terminationGracePeriodSeconds: 5
restartPolicy: Always
containers:
- name: main
image: gcr.io/google-samples/istio/helloserver:v0.0.1
imagePullPolicy: Always
- рддрд░рд╣ рд╡рд╕реНрддреБ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
- рдореЗрдЯрд╛рдбреЗрдЯрд╛.рдирд╛рдо рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ.
- рдкрд╣рд▓рд╛ рдХреНрд╖реЗрддреНрд░ рдХрд▓реНрдкрдирд╛ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИред
- рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛.рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рдкреЙрдбреНрд╕ рдХреА рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
- рдЕрдиреБрднрд╛рдЧ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдПрдХ рдкреЙрдб рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреЙрдб рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдореЗрдВ рдПрдХ рдлрд╝реАрд▓реНрдб рд╣реИ рдХреА рдЫрд╡рд┐, рдЬреЛ рдЙрд╕ рдЫрд╡рд┐ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрдВрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕реЗрд╡рд╛ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
apiVersion: v1
kind: Service
metadata:
name: hellosvc
spec:
type: LoadBalancer
selector:
app: helloserver
ports:
- name: http
port: 80
targetPort: 8080
- рднрд╛рд░ рд╕рдВрддреБрд▓рди: рдЧреНрд░рд╛рд╣рдХ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдкрд░ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдПрдХ рд╕реНрдерд╛рдпреА рдЖрдИрдкреА рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реЛрддрд╛ рд╣реИред
- рд▓рдХреНрд╖реНрдп рдкреЛрд░реНрдЯ: рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ, рдЯреАрдо рдПрдХреНрд╕рдкреЛрдЬрд╝ 8080 ╨▓ Dockerfile рдмрдВрджрд░рдЧрд╛рд╣ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдХрд░рд╛рдПред рдЖрдк рдкреЛрд░реНрдЯ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ 8080рддрд╛рдХрд┐ рдЖрдк рдХрдВрдЯреЗрдирд░ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░ рд╕рдХреЗрдВ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░. рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ hellosvc.default.cluster.local:80 (рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо: hellosvc) рдкреЛрд░реНрдЯ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ 8080 рдкреЙрдб рдЖрдИрдкреА рдкрддреЗ рд╣реЗрд▓реЛрд╕рд░реНрд╡рд░.
- рдмрдВрджрд░рдЧрд╛рд╣: рдпрд╣ рд╡рд╣ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рд╣реИ рдЬрд╣рд╛рдВ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдПрдВ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВрдЧреАред
Loadgen.yaml
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкрд░ рдЖрдкрддреНрддрд┐ Loadgen.yaml рджреЗрдЦреЛ рд╕рд░реНрд╡рд░.yaml. рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдЕрдиреБрднрд╛рдЧ рд╣реЛрддрд╛ рд╣реИ env. рдпрд╣ рдЙрди рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЛрдбрдЬреЗрди рдФрд░ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рд╕реНрд░реЛрдд рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рддреЗ рд╕рдордп рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдерд╛ред
apiVersion: apps/v1
kind: Deployment
metadata:
name: loadgenerator
spec:
selector:
matchLabels:
app: loadgenerator
replicas: 1
template:
metadata:
labels:
app: loadgenerator
spec:
terminationGracePeriodSeconds: 5
restartPolicy: Always
containers:
- name: main
image: gcr.io/google-samples/istio/loadgen:v0.0.1
imagePullPolicy: Always
env:
- name: SERVER_ADDR
value: "http://hellosvc:80/"
- name: REQUESTS_PER_SECOND
value: "10"
resources:
requests:
cpu: 300m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
рд╕рдордп рд▓реЛрдбрдЬреЗрди рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЯрд╛рдЗрдк рдЕрдЬреНрдЮрд╛рдд рдХреНрд▓рд╕реНрдЯрд░рдЖрдИрдкреА. рдпрд╣ рдкреНрд░рдХрд╛рд░ рдПрдХ рд╕рддрдд рдЖрдИрдкреА рдкрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕реЗрд╡рд╛рдПрдБ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдИрдкреА рдкрддрд╛ рдмрд╛рд╣рд░реА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред
apiVersion: v1
kind: Service
metadata:
name: loadgensvc
spec:
type: ClusterIP
selector:
app: loadgenerator
ports:
- name: http
port: 80
targetPort: 8080
рдЬреАрдХреЗрдИ рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рддреИрдирд╛рддреА
1) рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ рдЬрд╣рд╛рдБ рдЙрджрд╛рд╣рд░рдг рд╕реНрдерд┐рдд рд╣реИ рд╕рд░реНрд╡рд░:
cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/server/
2) рдЦреЛрд▓реЗрдВ рд╕рд░реНрд╡рд░.yaml рдПрдХ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдореЗрдВ.
3) рдлрд╝реАрд▓реНрдб рдореЗрдВ рдирд╛рдо рдмрджрд▓реЗрдВ рдХреА рдЫрд╡рд┐ рдЖрдкрдХреА рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рдирд╛рдо рдкрд░ред
image: gcr.io/PROJECT_ID/preparing-istio/helloserver:v0.0.1
рдмрджрд▓рдиреЗ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ_рдЖрдИрдбреА рдЖрдкрдХреЗ GCP рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЖрдИрдбреА рдкрд░.
4) рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдмрдВрдж рдХрд░реЗрдВ рд╕рд░реНрд╡рд░.yaml.
5) YAML рдлрд╝рд╛рдЗрд▓ рдХреЛ Kubernetes рдкрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░реЗрдВ:
kubectl apply -f server.yaml
рд╕рдлрд▓ рд╕рдорд╛рдкрди рдкрд░, рдХрдорд╛рдВрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:
deployment.apps/helloserver created
service/hellosvc created
6) рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдБ рдЬрд╣рд╛рдБ рд▓реЛрдбрдЬреЗрди:
cd ../loadgen
7) рдЦреЛрд▓реЗрдВ Loadgen.yaml рдПрдХ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдореЗрдВ.
8) рдлрд╝реАрд▓реНрдб рдореЗрдВ рдирд╛рдо рдмрджрд▓реЗрдВ рдХреА рдЫрд╡рд┐ рдЖрдкрдХреА рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рдирд╛рдо рдкрд░ред
image: gcr.io/PROJECT_ID/preparing-istio/loadgenv0.0.1
рдмрджрд▓рдиреЗ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ_рдЖрдИрдбреА рдЖрдкрдХреЗ GCP рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЖрдИрдбреА рдкрд░.
9) рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдмрдВрдж рдХрд░реЗрдВ Loadgen.yaml, рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдмрдВрдж рдХрд░реЗрдВред
10) YAML рдлрд╝рд╛рдЗрд▓ рдХреЛ Kubernetes рдкрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░реЗрдВ:
kubectl apply -f loadgen.yaml
рд╕рдлрд▓ рд╕рдорд╛рдкрди рдкрд░, рдХрдорд╛рдВрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:
deployment.apps/loadgenerator created
service/loadgensvc created
11) рдкреЙрдбреНрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдЬрд╛рдВрдЪреЗрдВ:
kubectl get pods
рдЖрджреЗрд╢ рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
NAME READY STATUS RESTARTS AGE
helloserver-69b9576d96-mwtcj 1/1 Running 0 58s
loadgenerator-774dbc46fb-gpbrz 1/1 Running 0 57s
12) рдкреЙрдб рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЧ рдирд┐рдХрд╛рд▓реЗрдВ рд▓реЛрдбрдЬреЗрди. рдмрджрд▓рдиреЗ рдХреЗ POD_ID рдкрд┐рдЫрд▓реЗ рдЙрддреНрддрд░ рд╕реЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдПред
kubectl logs loadgenerator-POD_ID
13) рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ hellosvc:
kubectl get service
рдХрдорд╛рдВрдб рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hellosvc LoadBalancer 10.81.15.158 192.0.2.1 80:31127/TCP 33m
kubernetes ClusterIP 10.81.0.1 <none> 443/TCP 93m
loadgensvc ClusterIP 10.81.15.155 <none> 80/TCP 4m52s
14) рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВ hellosvc: рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдмрд╛рд╣рд░реА_рдЖрдИрдкреА рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдкрд░ hellosvc.
curl http://EXTERNAL_IP
рдЖрдЗрдП рдЗрд╕реНрддрд┐рдпреЛ рд╕реЗ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░реЗрдВ
рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА GKE рдкрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдирд╛рдд рд╣реИред рд▓реЛрдбрдЬреЗрди Kubernetes DNS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (hellosvc:80) рдХреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░рдФрд░ рдЖрдк рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рд╕рд░реНрд╡рд░ рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рджреНрд╡рд╛рд░рд╛. рд╣рд╛рд▓рд╛рдБрдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдЧрд╛рдпрдм рд╣реИ:
- рд╕реЗрд╡рд╛рдПрдБ рдХреИрд╕реЗ рдкрд░рд╕реНрдкрд░ рдХреНрд░рд┐рдпрд╛ рдХрд░рддреА рд╣реИрдВ? рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рд╕рдВрдмрдВрдз рд╣реИрдВ? рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмреАрдЪ рдпрд╛рддрд╛рдпрд╛рдд рдХреИрд╕реЗ рдкреНрд░рд╡рд╛рд╣рд┐рдд рд╣реЛрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рд▓реЛрдбрдЬреЗрди рдХреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ рд╕рд░реНрд╡рд░, рд▓реЗрдХрд┐рди рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП GKE рдореЗрдВ рд░рдирд┐рдВрдЧ рдкреЙрдбреНрд╕ рдХреА рд╕реВрдЪреА рджреЗрдЦреЗрдВред
- рдореЗрдЯреНрд░рд┐рдХреНрд╕. рдХрд┐рддрдиреА рджреЗрд░ рд╕рд░реНрд╡рд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИ? рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХрд┐рддрдиреЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИ?
- рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рдирдХрд╛рд░реА. рдХреЗ рдмреАрдЪ рдпрд╛рддрд╛рдпрд╛рдд рд▓реЛрдбрдЬреЗрди ╨╕ рд╕рд░реНрд╡рд░ рдмрд╕ рдЧреБрдЬрд░ рдЬрд╛рддрд╛ рд╣реИ HTTP рдпрд╛ рджреНрд╡рд╛рд░рд╛
рдПрдордЯреАрдПрд▓рдПрд╕ ?
рдЗрд╕реНрддрд┐рдпреЛ рдЗрди рд╕рднреА рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реНрддрд┐рдпреЛ рдПрдХ рд╕рд╛рдЗрдбрдХрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рд░рдЦрддрд╛ рд╣реИ
рджреВрдд рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рдПрдХ рд╕реЗрд╡рд╛ рдЬрд╛рд▓ рдмрдирд╛рддреЗ рд╣реИрдВред рд╕рд░реНрд╡рд┐рд╕ рдореЗрд╢ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдПрдХ рдкрд░рдд рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдПрдиреНрд╡реЙрдп рдкреНрд░реЙрдХреНрд╕реА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реНрддрд┐рдпреЛ рдХреЛ рдЬреАрдХреЗрдИ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдореЗрдВ рд▓рдЧрднрдЧ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЗрд╕реНрддрд┐рдпреЛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ:
- рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдПрдБред рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ ╨╕ рд▓реЛрдбрдЬреЗрди рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реЗрд╡рд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХреА рд▓реЛрдбрдЬреЗрди, рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╕реЗрд╡рд╛ рд╣реИред
- рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рдирд╛рдо рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдБрдХрд┐ GKE рдореЗрдВ рд╕рд░реНрд╡рд┐рд╕ рдкреЛрд░реНрдЯ рдХреЛ рдЕрдирд╛рдо рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, Istio рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
рдмрдВрджрд░рдЧрд╛рд╣ рдХрд╛ рдирд╛рдо рдЙрдирдХреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░. YAML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ httpрдХреНрдпреЛрдВрдХрд┐ рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ HTTPред рдЕрдЧрд░ рд╕реЗрд╡рд╛ рдкреНрд░рдпреБрдХреНрдд рдЬреА.рдЖрд░.рдкреАрд╕реА., рдЖрдк рдмрдВрджрд░рдЧрд╛рд╣ рдХрд╛ рдирд╛рдо рдмрддрд╛рдПрдВрдЧреЗ рдЬреАрдЖрд░рдкреАрд╕реА. - рддреИрдирд╛рддреА рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдк рдЗрд╕реНрддрд┐рдпреЛ рдХреА рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рдмрдВрдзрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдПрдХ рд╣реА рд╕реЗрд╡рд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ред
рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди
рдЗрд╕реНрддрд┐рдпреЛ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВред рдХрд░ рд╕рдХрдирд╛
рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВ, рдЙрдЪрд┐рдд рдЧрд╛рдЗрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдЗрд╕реНрддрд┐рдпреЛ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдирдП рддреИрдирд╛рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЗрд╕реНрддрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ,
рд╕рдлрд╛рдИ
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ Google рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЦрд╛рддреЗ рд╕реЗ рд╢реБрд▓реНрдХ рд▓реЗрдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реНрддрд┐рдпреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдФрд░ рдирдореВрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдХрдВрдЯреЗрдирд░ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред рдпрд╣ рд╕рднреА рдХреНрд▓рд╕реНрдЯрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ, рдЬреИрд╕реЗ рдХрдВрдкреНрдпреВрдЯ рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕, рдбрд┐рд╕реНрдХ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ред
рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?
-
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ:
рдбрд╛рдХ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗрд╡рд╛рд▓рд╛ рдордЬрд╝рджреВрд░ рдХрдВрдЯреЗрдирд░ рдХрдВрдЯреЗрдирд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА Kubernetes рдЬреА.рдХреЗ. рд╕реЗрд╡рд╛ рдЬрд╛рд▓ Istio
-
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреВрд▓ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ:
рдХреНрд▓рд╛рдЙрдб рдПрд╕рдбреАрдХреЗ рд╕рдВрджрд░реНрдн рдкреБрд╕реНрддрдХ gcloud Kubectl рдбрд╛рдХ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗрд╡рд╛рд▓рд╛ рдордЬрд╝рджреВрд░
-
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рд╕реАрдЦреЗрдВ:
рд╕реНрд░реЛрдд: www.habr.com