рдЙрджреНрджреЗрд╢реНрдп
- рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕рд░реНрд╡рд┐рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВ
- рд╕рдордЭреЗрдВ рдХрд┐ рд▓реЗрдмрд▓ рдФрд░ рд▓реЗрдмрд▓ рдЪрдпрдирдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд┐рд╕реА рд╕рд░реНрд╡рд┐рд╕ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ
- рд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдмрд╛рд╣рд░ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдХреНрд╕рдкреЛрдЬрд╝ рдХрд░реЗрдВ
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рд░реНрд╡рд┐рд╕реЛрдВ рдХрд╛ рдЕрд╡рд▓реЛрдХрди
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреЙрдбреНрд╕ рдирд╢реНрд╡рд░ рд╣реИрдВред рдкреЙрдб рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реЛрддрд╛ рд╣реИред рдЬрдм рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдиреЛрдб рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреЙрдб рднреА рдЦреЛ рдЬрд╛рддреЗ рд╣реИрдВред рдПрдХ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рддрдм рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд╛рд▓реВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдкреЙрдбреНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, 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'
рдЯрд┐рдкреНрдкрдгреА:
рдпрджрд┐ рдЖрдк рдХрдВрдЯреЗрдирд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдбреЙрдХрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рд╕рд╛рде рдорд┐рдиреАрдХреНрдпреВрдм рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдПрдХ рдорд┐рдиреАрдХреНрдпреВрдм рд╕реБрд░рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рдЕрдВрджрд░ рдХреЗ рдХрдВрдЯреЗрдирд░ рдЖрдкрдХреЗ рд╣реЛрд╕реНрдЯ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВред
рдПрдХ рдЕрд▓рдЧ рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:minikube services kubernetes-bootcamp --url
рдЖрдЙрдЯрдкреБрдЯ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
http://127.0.0.1:51082
! рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдбрд╛рд░реНрд╡рд┐рди рдкрд░ рдбреЙрдХрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд░реНрдорд┐рдирд▓ рдХрд╛ рдЦреБрд▓рд╛ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдлрд┐рд░ рдРрдк рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рдпреВрдЖрд░рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:рдХрд░реНрд▓ 127.0.0.1:51082
рдФрд░ рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рддреА рд╣реИред рд╕реЗрд╡рд╛ рдЙрдЬрд╛рдЧрд░ рд╣реЛ рдЧрдИ рд╣реИ.
рд▓реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдиреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдкреЙрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЗрдмрд▓ рдмрдирд╛рдпрд╛ред <рдХреЛрдб>рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ рдЙрдкрдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЖрдк рдЙрд╕ рд▓реЗрдмрд▓ рдХрд╛ рдирд╛рдо (рдХреБрдВрдЬреА) рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
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
рд╣рдо рдпрд╣рд╛рдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд╛рд▓реВ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд░рд╣рд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рднреА рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдВ, рддреЛ рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдЕрдкрдиреЗ рдРрдк рдХреЗ рдХрдИ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдЪрд▓рд╛рдирд╛