Information in this document may be out of date

This document has an older update date than the original, so the information it contains may be out of date. If you're able to read English, see the English version for the most up-to-date information: Using a Service to Expose Your App

рдЕрдкрдиреЗ рдРрдк рдХреЛ рдПрдХреНрд╕рдкреЛрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдЙрджреНрджреЗрд╢реНрдп

  • рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕рд░реНрд╡рд┐рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВ
  • рд╕рдордЭреЗрдВ рдХрд┐ рд▓реЗрдмрд▓ рдФрд░ рд▓реЗрдмрд▓ рдЪрдпрдирдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд┐рд╕реА рд╕рд░реНрд╡рд┐рд╕ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ
  • рд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдХреНрд╕рдкреЛрдЬрд╝ рдХрд░реЗрдВ

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рд░реНрд╡рд┐рд╕реЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреЙрдбреНрд╕ рдирд╢реНрд╡рд░ рд╣реИрдВред рдкреЙрдб рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реЛрддрд╛ рд╣реИред рдЬрдм рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдиреЛрдб рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреЙрдб рднреА рдЦреЛ рдЬрд╛рддреЗ рд╣реИрдВред рдПрдХ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рддрдм рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд╛рд▓реВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдкреЙрдбреНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, 3 рд░реЗрдкреНрд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдмреИрдХрдПрдВрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╡реЗ рд░реЗрдкреНрд▓рд┐рдХрд╛ рд╡рд┐рдирд┐рдореЗрдп рд╣реИрдВ; рдлреНрд░рдВрдЯ-рдПрдВрдб рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмреИрдХрдПрдВрдб рд░реЗрдкреНрд▓рд┐рдХрд╛ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдпрд╛ рднрд▓реЗ рд╣реА рдкреЙрдб рдЦреЛ рдЬрд╛рдП рдФрд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХрд╛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп IP рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рдПрдХ рд╣реА рдиреЛрдб рдкрд░ рдкреЙрдбреНрд╕ рдХреЗ рднреА, рдЗрд╕рд▓рд┐рдП рдкреЙрдбреНрд╕ рдХреЗ рдмреАрдЪ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдореЗрдЯрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВред

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕рд░реНрд╡рд┐рд╕ рдПрдХ рдЕрдореВрд░реНрдд рд╣реИ рдЬреЛ рдкреЙрдбреНрд╕ рдХреЗ рддрд╛рд░реНрдХрд┐рдХ рд╕реЗрдЯ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рддрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рд░реНрд╡рд┐рд╕ рдирд┐рд░реНрднрд░ рдкреЙрдбреНрд╕ рдХреЗ рдмреАрдЪ рдПрдХ рдпреБрдЧреНрдорди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреА рд╣реИред рд╕рднреА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рддрд░рд╣ YAML (рдЕрдзрд┐рдорд╛рдирд┐рдд) рдпрд╛ JSON рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд░реНрд╡рд┐рд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд░реНрд╡рд┐рд╕ рджреНрд╡рд╛рд░рд╛ рд▓рдХреНрд╖рд┐рдд рдкреЙрдбреНрд╕ рдХрд╛ рд╕реЗрдЯ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд▓реЗрдмрд▓ рд╕реЗрд▓реЗрдХреНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдк selector рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рд░реНрд╡рд┐рд╕ рдХреНрдпреЛрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред)

рдпрджреНрдпрдкрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдИрдкреА рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрди рдЖрдИрдкреА рдХреЛ рд╕рд░реНрд╡рд┐рд╕ рдХреЗ рдмрд┐рдирд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд░реНрд╡рд┐рд╕ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рджреЗрддреА рд╣реИрдВред ServiceSpec: рдореЗрдВ type рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рд╕рд░реНрд╡рд┐рд╕реЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдХреНрд▓рд╕реНрдЯрд░ IP (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) - рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд┐рд╕реА рдЖрдВрддрд░рд┐рдХ IP рдкрд░ рд╕рд░реНрд╡рд┐рд╕ рдХреЛ рдПрдХреНрд╕рдкреЛрдЬрд╝ рдХрд░реЗрдВред рдпрд╣ рдкреНрд░рдХрд╛рд░ рд╕рд░реНрд╡рд┐рд╕ рдХреЛ рдХреЗрд╡рд▓ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░ рд╕реЗ рд╣реА рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рдмрдирд╛рддрд╛ рд╣реИред
  • рдиреЛрдбрдкреЛрд░реНрдЯ - NAT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЪрдпрдирд┐рдд рдиреЛрдб рдХреЗ рдПрдХ рд╣реА рдкреЛрд░реНрдЯ рдкрд░ рд╕реЗрд╡рд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред <NodeIP>:<NodePort> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдпреЛрдЧреНрдп рдмрдирд╛рддрд╛ рд╣реИред рдХреНрд▓рд╕реНрдЯрд░рдЖрдИрдкреА рдХрд╛ рд╕реБрдкрд░рд╕реЗрдЯред
  • рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ - рдореМрдЬреВрджрд╛ рдХреНрд▓рд╛рдЙрдб (рдпрджрд┐ рд╕рдорд░реНрдерд┐рдд рд╣реЛ) рдореЗрдВ рдПрдХ рдмрд╛рд╣рд░реА рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд┐рд╕ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд, рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИред рдиреЛрдбрдкреЛрд░реНрдЯ рдХрд╛ рд╕реБрдкрд░рд╕реЗрдЯред
  • рдПрдХреНрд╕рдЯрд░реНрдирд▓-рдирд╛рдо - рд╕реЗрд╡рд╛ рдХреЛ externalName рдлрд╝реАрд▓реНрдб (рдЬреИрд╕реЗ foo.bar.example.com) рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдореИрдк рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд▓реМрдЯрд╛рдХрд░ CNAME рдЕрдкрдиреЗ рдорд╛рди рдХреЗ рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВред рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреЛрдИ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП v1.7 рдпрд╛ рдЙрдЪреНрдЪрддрд░ kube-dns, рдпрд╛ рдХреЛрд░рдбреАрдПрдирдПрд╕ рд╕рдВрд╕реНрдХрд░рдг 0.0.8 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд░реНрд╡рд┐рд╕рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрд░реЛрдд рдЖрдИрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рд░реНрд╡рд┐рд╕рдУрдВ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рднреА рджреЗрдЦреЗрдВред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рд░реНрд╡рд┐рд╕рдУрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ selector рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред selector рдХреЗ рдмрд┐рдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╕рд░реНрд╡рд┐рд╕ рднреА рдЕрдиреБрд░реВрдк рдПрдВрдбрдкреЙрдЗрдиреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдмрдирд╛рдПрдЧреАред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдВрдбрдкреЙрдЗрдиреНрдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рд╕рд░реНрд╡рд┐рд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдореИрдк рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рд▓реЗрдХреНрдЯрд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХрд┐ рдЖрдк рд╕рдЦреНрддреА рд╕реЗ type: ExternalName рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╕рд╛рд░рд╛рдВрд╢

  • рдкреЙрдбреНрд╕ рдХреЛ рдмрд╛рд╣рд░реА рдЯреНрд░реИрдлрд╝рд┐рдХ рдореЗрдВ рдПрдХреНрд╕рдкреЛрдЬрд╝ рдХрд░рдирд╛
  • рдПрдХрд╛рдзрд┐рдХ рдкреЙрдбреНрд╕ рдореЗрдВ рд╕рдВрддреБрд▓рди рдЯреНрд░реИрдлрд╝рд┐рдХ рд▓реЛрдб рдХрд░реЗрдВ
  • рд▓реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рд░реНрд╡рд┐рд╕ рдПрдХ рдЕрдореВрд░реНрдд рдкрд░рдд рд╣реИ рдЬреЛ рдкреЙрдбреНрд╕ рдХреЗ рддрд╛рд░реНрдХрд┐рдХ рд╕реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рдЙрди рдкреЙрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рдЯреНрд░реИрдлрд╝рд┐рдХ рдПрдХреНрд╕рдкреЛрдЬрд╝рд░, рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдФрд░ рд╕рд░реНрд╡рд┐рд╕ рдбрд┐рд╕реНрдХрд╡рд░реА рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддреА рд╣реИред


рд╕реЗрд╡рд╛рдПрдВ рдФрд░ рд▓реЗрдмрд▓

рд╕реЗрд╡рд╛ рдкреЙрдбреНрд╕ рдХреЗ рдПрдХ рд╕реЗрдЯ рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд░реВрдЯ рдХрд░рддреА рд╣реИред рд╕реЗрд╡рд╛рдПрдБ рдЕрдореВрд░реНрдд рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдкреЙрдбреНрд╕ рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдорд░рдиреЗ рдФрд░ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдирд┐рд░реНрднрд░ рдкреЙрдбреНрд╕ рдХреЗ рдмреАрдЪ рдбрд┐рд╕реНрдХрд╡рд░реА рдФрд░ рд░реВрдЯрд┐рдВрдЧ (рдЬреИрд╕реЗ рдХрд┐ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдлреНрд░рдВрдЯрдПрдВрдб рдФрд░ рдмреИрдХрдПрдВрдб рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕) рдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рд░реНрд╡рд┐рд╕ рд▓реЗрдмрд▓ рдФрд░ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЙрдбреНрд╕ рдХреЗ рдПрдХ рд╕реЗрдЯ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИрдВ, рдПрдХ рд╕рдореВрд╣рдмрджреНрдз рдЖрджрд┐рдо рдЬреЛ Kubernetes рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ . рд▓реЗрдмрд▓ рд╡рд╕реНрддреБрдУрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рдХреБрдВрдЬреА/рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЗрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ,рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкреНрд░реЛрдбрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдирд╛рдорд┐рдд рдХрд░реЗрдВ
  • рд╕рдВрд╕реНрдХрд░рдг рдЯреИрдЧ рдЬреЛрдбрд╝реЗрдВ
  • рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░реЗрдВ


рд▓реЗрдмрд▓ рдХреЛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рдпрд╛ рдмрд╛рдж рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рд╕рдордп рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЗрдП рдЕрдм рд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдорд╛рд░реЗ рдРрдк рдХреЛ рдПрдХреНрд╕рдкреЛрдЬрд╝ рдХрд░реЗрдВ рдФрд░ рдХреБрдЫ рд▓реЗрдмрд▓ рд▓рд╛рдЧреВ рдХрд░реЗрдВред

рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рдмрдирд╛рдПрдВ

рдЖрдЗрдП рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓ рд░рд╣рд╛ рд╣реИред рд╣рдо kubectl get рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдореМрдЬреВрджрд╛ рдкреЙрдбреНрд╕ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВрдЧреЗ:

kubectl get pods

рдпрджрд┐ рдХреЛрдИ рдкреЙрдбреНрд╕ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рд╛рдлрд╝ рдХрд░ рджрд┐рдП рдЧрдП рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП kubectl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдПрдВред рдХреГрдкрдпрд╛ рдХреБрдЫ рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рдкреЙрдбреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдПрдХ рдкреЙрдб рдХреЛ рдЪрд▓рддрд╛ рд╣реБрдЖ рджреЗрдЦ рд▓реЗрдВ рддреЛ рдЖрдк рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдЗрдП рдЕрдкрдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рд╡рд░реНрддрдорд╛рди рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ:

kubectl get services

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ kubernetes рдирд╛рдордХ рдПрдХ рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдорд┐рдиреАрдХреНрдпреВрдм рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рдмрдирд╛рдиреЗ рдФрд░ рдЙрд╕реЗ рдмрд╛рд╣рд░реА рдЯреНрд░реИрдлрд╝рд┐рдХ рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдиреЛрдбрдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдПрдХреНрд╕рдкреЛрдЬрд╝ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --рдкреЛрд░реНрдЯ 8080

рдЖрдЗрдП рдлрд┐рд░ рд╕реЗ get services рдЙрдкрдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

kubectl get services

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕-рдмреВрдЯрдХреИрдВрдк рдирд╛рдордХ рдПрдХ рдЪрд╛рд▓реВ рд╕реЗрд╡рд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕реЗрд╡рд╛ рдХреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдХреНрд▓рд╕реНрдЯрд░-рдЖрдИрдкреА, рдПрдХ рдЖрдВрддрд░рд┐рдХ рдкреЛрд░реНрдЯ рдФрд░ рдПрдХ рдмрд╛рд╣рд░реА-рдЖрдИрдкреА (рдиреЛрдб рдХрд╛ рдЖрдИрдкреА) рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖред

рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕рд╛ рдкреЛрд░реНрдЯ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдЦреЛрд▓рд╛ рдЧрдпрд╛ рдерд╛ (рдкреНрд░рдХрд╛рд░: NodePort рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП) рд╣рдо describe service рдЙрдкрдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВрдЧреЗ:

kubectl describe services/kubernetes-bootcamp

NODE_PORT рдирд╛рдордХ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдиреЛрдб рдкреЛрд░реНрдЯ рдХрд╛ рдорд╛рди рд╣реЛ:

export NODE_PORT='$(kubectl getservices/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}')'
echo "NODE_PORT=$NODE_PORT"

рдЕрдм рд╣рдо curl, рдиреЛрдб рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдРрдк рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реИ:

рдХрд░реНрд▓ http://'$(minikube ip):$NODE_PORT'

рдФрд░ рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИред рд╕реЗрд╡рд╛ рдЙрдЬрд╛рдЧрд░ рд╣реЛ рдЧрдИ рд╣реИ.

рд▓реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдиреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдкреЙрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдмрд▓ рдмрдирд╛рдпрд╛ред <рдХреЛрдб>рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ рдЙрдкрдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЖрдк рдЙрд╕ рд▓реЗрдмрд▓ рдХрд╛ рдирд╛рдо (рдХреБрдВрдЬреА) рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

kubectl describe deployments

рдЖрдЗрдП рдкреЙрдбреНрд╕ рдХреА рд╣рдорд╛рд░реА рд╕реВрдЪреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрддрд╛рдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд▓реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╣рдо рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ kubectl get pods рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ -l рдХреЗ рд╕рд╛рде рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд▓реЗрдмрд▓ рдорд╛рди рд╣реЛрдВрдЧреЗ:

kubectl get pods -l app=kubernetes-bootcamp

рдореМрдЬреВрджрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдРрд╕рд╛ рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

kubectl get services -l app=kubernetes-bootcamp

рдкреЙрдб рдХрд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ POD_NAME рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВ:

export POD_NAME='$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{'\n'}} {{end}}')"
echo "Name of Pod: $POD_NAME"

рдирдпрд╛ рд▓реЗрдмрд▓ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо label рдЙрдкрдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░, рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдФрд░ рдирдпрд╛ рд▓реЗрдмрд▓ рдЖрддрд╛ рд╣реИ:

kubectl label pods "$POD_NAME" version=v1

рдпрд╣ рд╣рдорд╛рд░реЗ рдкреЙрдб рдкрд░ рдПрдХ рдирдпрд╛ рд▓реЗрдмрд▓ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ (рд╣рдордиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреЙрдб рдкрд░ рдкрд┐рди рдХрд┐рдпрд╛ рд╣реИ), рдФрд░ рд╣рдо рдЗрд╕реЗ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдкреЙрдб рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ:

kubectl describe pods "$POD_NAME"

рд╣рдо рдпрд╣рд╛рдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд▓реЗрдмрд▓ рдЕрдм рд╣рдорд╛рд░реЗ рдкреЙрдб рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдФрд░ рдЕрдм рд╣рдо рдирдП рд▓реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЙрдбреНрд╕ рдХреА рд╕реВрдЪреА рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

kubectl get pods -l version=v1

рдФрд░ рд╣рдо рдкреЙрдб рджреЗрдЦрддреЗ рд╣реИрдВред

рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдХреЛ рд╣рдЯрд╛рдирд╛

рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк delete service рдЙрдкрдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

kubectl delete service -l app=kubernetes-bootcamp

рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рд╕реЗрд╡рд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рд╣реИ:

kubectl get services

рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рд╣рдЯрд╛ рджреА рдЧрдИ рдереАред рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдорд╛рд░реНрдЧ рдЕрдм рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдЖрдИрдкреА рдФрд░ рдкреЛрд░реНрдЯ рдХреЛ curl рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

curl http://'$(minikube ip):$NODE_PORT'

рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдм рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдРрдк рдЕрднреА рднреА рдкреЙрдб рдХреЗ рдЕрдВрджрд░ рд╕реЗ curl рдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рд╣реИ:

kubectl exec -ti $POD_NAME -- curl http://localhost:8080

рд╣рдо рдпрд╣рд╛рдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд╛рд▓реВ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд░рд╣рд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рднреА рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ред

рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдВ, рддреЛ рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдЕрдкрдиреЗ рдРрдк рдХреЗ рдХрдИ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдЪрд▓рд╛рдирд╛