рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ 1.17: рдореБрдЦреНрдп рдирд╡рдХрд▓реНрдкрдирд╛рдВрдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди

рдХрд╛рд▓, 9 рдбрд┐рд╕реЗрдВрдмрд░, рдЬрд╛рдЧрд╛ рдШреЗрддрд▓реА Kubernetes рдЪреЗ рдкреБрдвреАрд▓ рдкреНрд░рдХрд╛рд╢рди - 1.17. рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╕рд╛рдареА рд╡рд┐рдХрд╕рд┐рдд рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдкрд░рдВрдкрд░реЗрдиреБрд╕рд╛рд░, рдЖрдореНрд╣реА рдирд╡реАрди рдЖрд╡реГрддреНрддреАрдордзреАрд▓ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рдВрдмрджреНрджрд▓ рдмреЛрд▓рдд рдЖрд╣реЛрдд.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ 1.17: рдореБрдЦреНрдп рдирд╡рдХрд▓реНрдкрдирд╛рдВрдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди

рд╣реЗ рд╕рд╛рд╣рд┐рддреНрдп рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗрд▓реА рдорд╛рд╣рд┐рддреА рдЕрдзрд┐рдХреГрдд рдШреЛрд╖рдгреЗрддреВрди рдШреЗрддрд▓реА рдЖрд╣реЗ, Kubernetes рд╕реБрдзрд╛рд░рдгрд╛ рдЯреНрд░реЕрдХрд┐рдВрдЧ рдЯреЗрдмрд▓, рдЪреЗрдВрдЬрд▓реЙрдЧ-рез.резрек рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛, рдкреБрд▓ рд╡рд┐рдирдВрддреНрдпрд╛ рдЖрдгрд┐ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ рдкреНрд░рдкреЛрдЬрд▓ (KEP). рдордЧ рдирд╡реАрди рдХрд╛рдп?..

рдЯреЛрдкреЛрд▓реЙрдЬреА-рдЬрд╛рдЧрд░реВрдХ рд░рд╛рдЙрдЯрд┐рдВрдЧ

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕рдореБрджрд╛рдп рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдЪреА рд╡рд╛рдЯ рдкрд╛рд╣рдд рдЖрд╣реЗ - рдЯреЛрдкреЛрд▓реЙрдЬреА-рдЬрд╛рдЧрд░реВрдХ рд╕реЗрд╡рд╛ рд░рд╛рдЙрдЯрд┐рдВрдЧ. рдЬрд░ рдХреЗрдИрдкреА рддреЗ рдСрдХреНрдЯреЛрдмрд░ 2018 рдордзреНрдпреЗ рдЙрджреНрднрд╡рддреЗ рдЖрдгрд┐ рдЕрдзрд┐рдХреГрдд рд╡рд░реНрдзрд┐рдд - 2 рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА, рдиреЗрд╣рдореАрдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ (рдЬрд╕реЗ рддреЛ) - рдЖрдгрд┐ рдЖрдгрдЦреА рдХрд╛рд╣реА рд╡рд░реНрд╖реЗ рдЬреБрдиреЗ ...

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рд░рд╛рд╣рдгрд╛рд▒реНрдпрд╛ рд╕реЗрд╡рд╛рдВрд╕рд╛рдареА "рд╕реНрдерд╛рдирд┐рдХ" рд░рд╛рдЙрдЯрд┐рдВрдЧрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рд╣реА рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдг рдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд "рд╕реНрдерд╛рдирд┐рдХрддрд╛" рдореНрд╣рдгрдЬреЗ "рд╕рдорд╛рди рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕реНрддрд░" (рдЯреЛрдкреЛрд▓реЙрдЬреА рдкрд╛рддрд│реА), рдЬреЗ рдЕрд╕реВ рд╢рдХрддреЗ:

  • рд╕реЗрд╡рд╛рдВрд╕рд╛рдареА рд╕рдорд╛рди рдиреЛрдб,
  • рд╕рдорд╛рди рд╕рд░реНрд╡реНрд╣рд░ рд░реЕрдХ,
  • рд╕рдорд╛рди рдкреНрд░рджреЗрд╢
  • рд╕рдорд╛рди рдореЗрдШ рдкреНрд░рджрд╛рддрд╛,
  • ...

рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЙрджрд╛рд╣рд░рдгреЗ:

  • рдПрдХрд╛рдзрд┐рдХ рдЙрдкрд▓рдмреНрдзрддрд╛ рдЭреЛрди (рдорд▓реНрдЯреА-AZ) рд╕рд╣ рдХреНрд▓рд╛рдЙрдб рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рдиреНрд╕рдордзреАрд▓ рд░рд╣рджрд╛рд░реАрд╡рд░реАрд▓ рдмрдЪрдд - рдкрд╣рд╛. рддрд╛рдЬреЗ рдЪрд┐рддреНрд░рдг рдПрдХрд╛рдЪ рдкреНрд░рджреЗрд╢рд╛рддреАрд▓ рд░рд╣рджрд╛рд░реАрдЪреЗ рдЙрджрд╛рд╣рд░рдг рд╡рд╛рдкрд░рдгреЗ, рдкрд░рдВрддреБ AWS рдордзреНрдпреЗ рднрд┐рдиреНрди AZs;
  • рдХрдореА рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд▓рдВрдм/рдЪрд╛рдВрдЧрд▓реЗ рдереНрд░реБрдкреБрдЯ;
  • рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рд░реНрдбрдордзреАрд▓ рдиреЛрдбрдмрджреНрджрд▓ рд╕реНрдерд╛рдирд┐рдХ рдорд╛рд╣рд┐рддреА рдЕрд╕рд▓реЗрд▓реА рд╢рд╛рд░реНрдб рд╕реЗрд╡рд╛;
  • рдЬреНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреЗ рд▓реЙрдЧ рдЧреЛрд│рд╛ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рддреНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╣ рддреНрдпрд╛рдЪ рдиреЛрдбрд╡рд░ рдлреНрд▓реБрдПрдВрдб (рдХрд┐рдВрд╡рд╛ рдЕреЕрдирд╛рд▓реЙрдЧреНрд╕) рдЪреА рдкреНрд▓реЗрд╕рдореЗрдВрдЯ;
  • ...

рдЕрд╢рд╛ рд░рд╛рдЙрдЯрд┐рдВрдЧ, рдЬреНрдпрд╛рд▓рд╛ рдЯреЛрдкреЛрд▓реЙрдЬреАрдмрджреНрджрд▓ "рдорд╛рд╣рд┐рдд" рдЖрд╣реЗ, рддреНрдпрд╛рд▓рд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЕреЕрдлрд┐рдирд┐рдЯреА рджреЗрдЦреАрд▓ рдореНрд╣рдгрддрд╛рдд - рдпрд╛рдЪреНрдпрд╛рд╢реА рд╕рд╛рдзрд░реНрдореНрдп рдХрд░реВрди рдиреЛрдб рдЖрддреНрдореАрдпрддрд╛, рдкреЙрдб рдЕреЕрдлрд┐рдирд┐рдЯреА/рдЕрдБрдЯреА-рдЕреЕрдлрд┐рдирд┐рдЯреА рдХрд┐рдВрд╡рд╛ рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ рдлрд╛рд░ рдкреВрд░реНрд╡реА рдирд╛рд╣реА рдЯреЛрдкреЛрд▓реЙрдЬреА-рдЕрд╡реЗрдЕрд░ рд╡реНрд╣реЙрд▓реНрдпреВрдо рд╢реЗрдбреНрдпреБрд▓рд┐рдВрдЧ (рдЖрдгрд┐ рдЦрдВрдб рддрд░рддреВрдж). рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рд╡рд░реНрддрдорд╛рди рдкрд╛рддрд│реА ServiceTopology Kubernetes рдордзреНрдпреЗ - рдЕрд▓реНрдлрд╛ рдЖрд╡реГрддреНрддреА.

рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рддреБрдореНрд╣реА рддреЗ рдЖрдзреАрдЪ рдХрд╕реЗ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рдпрд╛рдЪреНрдпрд╛ рддрдкрд╢реАрд▓рд╛рдВрд╕рд╛рдареА, рд╡рд╛рдЪрд╛ рд╣рд╛ рд▓реЗрдЦ рд▓реЗрдЦрдХрд╛рдВрдкреИрдХреА рдПрдХрд╛рдХрдбреВрди.

IPv4/IPv6 рдбреНрдпреБрдЕрд▓ рд╕реНрдЯреЕрдХ рд╕рдорд░реНрдерди

рд▓рдХреНрд╖рдгреАрдп рдкреНрд░рдЧрддреА рдирд┐рд╢реНрдЪрд┐рдд рджреБрд╕рд░реНтАНрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдордзреНрдпреЗ: рджреЛрди IP рд╕реНрдЯреЕрдХрд╕рд╛рдареА рдПрдХрд╛рдЪрд╡реЗрд│реА рд╕рдорд░реНрдерди, рдЬреЗ рдкреНрд░рдердо рдордзреНрдпреЗ рд╕рд╛рджрд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ K8s 1.16. рд╡рд┐рд╢реЗрд╖рддрдГ, рдирд╡реАрди рдкреНрд░рдХрд╛рд╢рдирд╛рдиреЗ рдЦрд╛рд▓реАрд▓ рдмрджрд▓ рдЖрдгрд▓реЗ:

  • kube-proxy рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рджреЛрдиреНрд╣реА рдореЛрдбрдордзреНрдпреЗ рдПрдХрд╛рдЪрд╡реЗрд│реА рдСрдкрд░реЗрд╢рдирдЪреА рд╢рдХреНрдпрддрд╛ (IPv4 рдЖрдгрд┐ IPv6);
  • ╨▓ Pod.Status.PodIPs рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ рдбрд╛рдЙрдирд╡рд░реНрдб API рд╕рд╛рдареА рд╕рдорд░реНрдерди (рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдордзреНрдпреЗ /etc/hosts рдЖрддрд╛ рддреНрдпрд╛рдВрдирд╛ рд╣реЛрд╕реНрдЯрдиреЗ IPv6 рдкрддреНрддрд╛ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ);
  • рдбреНрдпреБрдЕрд▓ рд╕реНрдЯреЕрдХ рд╕рдорд░реНрдерди рдкреНрд░рдХрд╛рд░рдЪреА (рдбреЙрдХрд░рдордзреНрдпреЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕) рдЖрдгрд┐ kubeadm;
  • рдЕрджреНрдпрддрдирд┐рдд e2e рдЪрд╛рдЪрдгреНрдпрд╛.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ 1.17: рдореБрдЦреНрдп рдирд╡рдХрд▓реНрдкрдирд╛рдВрдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди
рдЪрд┐рддреНрд░рдг KIND рдордзреНрдпреЗ рдбреНрдпреБрдЕрд▓ рд╕реНрдЯреЕрдХ IPV4/IPv6 рд╡рд╛рдкрд░рдгреЗ

CSI рд╡рд░ рдкреНрд░рдЧрддреА

рд╕реНрдерд┐рд░ рдШреЛрд╖рд┐рдд рдХреЗрд▓реЗ рдЯреЛрдкреЛрд▓реЙрдЬреА рд╕рдорд░реНрдерди CSI-рдЖрдзрд╛рд░рд┐рдд рд╕реНрдЯреЛрд░реЗрдЬрд╕рд╛рдареА, рдкреНрд░рдердо рдордзреНрдпреЗ рд╕рд╛рджрд░ рдХреЗрд▓реЗ K8s 1.12.

рд╕рд╛рдареА рдкреБрдврд╛рдХрд╛рд░ рд╡реНрд╣реЙрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрдиреНрд╕рдЪреЗ CSI рдордзреНрдпреЗ рд╕реНрдерд▓рд╛рдВрддрд░ - CSI рд╕реНрдерд▓рд╛рдВрддрд░ - рдмреАрдЯрд╛ рдЖрд╡реГрддреНрддреА рдЧрд╛рдард▓реА. рд╡рд┐рджреНрдпрдорд╛рди рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд▓рдЧрдЗрдиреНрд╕рдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЖрд╣реЗ (рдЭрд╛рдбрд╛рдд) рдЖрдзреБрдирд┐рдХ рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╛рдареА (CSI, рдЭрд╛рдбрд╛рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░) Kubernetes рдЕрдВрддрд┐рдо рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рдЕрджреГрд╢реНрдп. рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрдирд╛ рдлрдХреНрдд CSI рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕рдХреНрд╖рдо рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рддреНрдпрд╛рдирдВрддрд░ рд╡рд┐рджреНрдпрдорд╛рди рд╕реНрдЯреЗрдЯрдлреБрд▓ рд╕рдВрд╕рд╛рдзрдиреЗ рдЖрдгрд┐ рд╡рд░реНрдХрд▓реЛрдб "рдлрдХреНрдд рдХрд╛рд░реНрдп" рдХрд░рдд рд░рд╛рд╣рддреАрд▓... рдкрд░рдВрддреБ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреЛрд░рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрд╛рд▓рдмрд╛рд╣реНрдп рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕рдРрд╡рдЬреА рдирд╡реАрдирддрдо CSI рдбреНрд░рд╛рдЗрд╡реНрд╣рд░реНрд╕ рд╡рд╛рдкрд░рдгреЗ.

рдпрд╛рдХреНрд╖рдгреА, AWS EBS рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕рд╕рд╛рдареА рд╕реНрдерд▓рд╛рдВрддрд░ рдмреАрдЯрд╛ рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ рддрдпрд╛рд░ рдЖрд╣реЗ (kubernetes.io/aws-ebs) рдЖрдгрд┐ GCE PD (kubernetes.io/gce-pd). рдЗрддрд░ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реБрд╡рд┐рдзрд╛рдВрдЪрд╛ рдЕрдВрджрд╛рдЬ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдЖрд╣реЗ:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ 1.17: рдореБрдЦреНрдп рдирд╡рдХрд▓реНрдкрдирд╛рдВрдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди

K8s рдордзреНрдпреЗ "рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ" рд╕реНрдЯреЛрд░реЗрдЬ рд╕рдкреЛрд░реНрдЯ CSI рдордзреНрдпреЗ рдХрд╕рд╛ рдЖрд▓рд╛ рдпрд╛рдмрджреНрджрд▓ рдЖрдореНрд╣реА рдмреЛрд▓рд▓реЛ рд╣рд╛ рд▓реЗрдЦ. рдЖрдгрд┐ CSI рд╕реНрдерд▓рд╛рдВрддрд░рд╛рдЪреЗ рдмреАрдЯрд╛ рд╕реНрдерд┐рддреАрдд рд╕рдВрдХреНрд░рдордг рд╕рдорд░реНрдкрд┐рдд рдЖрд╣реЗ рд╕реНрд╡рддрдВрддреНрд░ рдкреНрд░рдХрд╛рд╢рди рдкреНрд░рдХрд▓реНрдк рдмреНрд▓реЙрдЧрд╡рд░.

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, CSI рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рдЖрдгрдЦреА рдПрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рдЬреА K1.17s 8 рдордзреНрдпреЗ рдЙрджреНрднрд╡рддреЗ (рдЕрд▓реНрдлрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА), рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ 1.12 рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рдмреАрдЯрд╛ рд╕реНрдерд┐рддреА (рдореНрд╣рдгрдЬреЗ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╕рдХреНрд╖рдо) рдЧрд╛рдард▓реА - рд╕реНрдиреЕрдкрд╢реЙрдЯ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдХрдбреВрди рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреА. рдмреАрдЯрд╛ рд░рд┐рд▓реАрдЭрдЪреНрдпрд╛ рдорд╛рд░реНрдЧрд╛рд╡рд░ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╡реНрд╣реЙрд▓реНрдпреВрдо рд╕реНрдиреЕрдкрд╢реЙрдЯрдордзреНрдпреЗ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрджрд▓рд╛рдВрдкреИрдХреА:

  • CSI рдмрд╛рд╣реНрдп-рд╕реНрдиреЕрдкрд╢реЙрдЯрд░ рд╕рд╛рдЗрдбрдХрд╛рд░ рджреЛрди рдирд┐рдпрдВрддреНрд░рдХрд╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдгреЗ,
  • рд╣рдЯрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЧреБрдкреНрдд рдЬреЛрдбрд▓реЗ (рд╣рдЯрд╡рдгреЗ рдЧреБрдкреНрдд) рд╡реНрд╣реЙрд▓реНрдпреВрдо рд╕реНрдиреЕрдкрд╢реЙрдЯрдЪреНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрд╡рд░ рднрд╛рд╖реНрдп рдореНрд╣рдгреВрди,
  • рдирд╡реАрди рдЕрдВрддрд┐рдордХрд░реНрддрд╛ (рдЕрдВрддрд┐рдо рдХрд░рдгрд╛рд░рд╛) рдЙрд░реНрд╡рд░рд┐рдд рдХрдиреЗрдХреНрд╢рди рдЕрд╕рд▓реНрдпрд╛рд╕ рд╕реНрдиреЕрдкрд╢реЙрдЯ API рдСрдмреНрдЬреЗрдХреНрдЯ рд╣рдЯрд╡рд┐рдгреНрдпрд╛рдкрд╛рд╕реВрди рд░реЛрдЦрдгреНрдпрд╛рд╕рд╛рдареА.

рд░рд┐рд▓реАрдЭ 1.17 рдЪреНрдпрд╛ рд╡реЗрд│реА, рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рддреАрди CSI рдбреНрд░рд╛рдЗрд╡реНрд╣рд░реНрд╕рджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ: GCE рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рдбрд┐рд╕реНрдХ CSI рдбреНрд░рд╛рдпрд╡реНрд╣рд░, Portworx CSI рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рдЖрдгрд┐ NetApp рдЯреНрд░рд╛рдпрдбреЗрдВрдЯ CSI рдбреНрд░рд╛рдпрд╡реНрд╣рд░. рддреНрдпрд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдмрджреНрджрд▓ рдЖрдгрд┐ рд╡рд╛рдкрд░рд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓ рдпрд╛рдордзреНрдпреЗ рдЖрдврд│реВ рд╢рдХрддрд╛рдд рд╣реЗ рдкреНрд░рдХрд╛рд╢рди рдмреНрд▓реЙрдЧрд╡рд░

рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рд▓реЗрдмрд▓реЗ

рд▓реЗрдмрд▓ рдЬреЗ рдЖрдкреЛрдЖрдк рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддреНрдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдиреЛрдбреНрд╕ рдЖрдгрд┐ рд╡реНрд╣реЙрд▓реНрдпреВрдореНрд╕рдирд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗ рдЖрд╣реЗ, K8s 1.2 рдЪреНрдпрд╛ рд░рд┐рд▓реАрдЭ рдЭрд╛рд▓реНрдпрд╛рдкрд╛рд╕реВрди - Kubernetes рдордзреНрдпреЗ рдмреАрдЯрд╛ рдЖрд╡реГрддреНрддреА рдореНрд╣рдгреВрди рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ (рдПрдкреНрд░рд┐рд▓ 2016!). рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдиреА рдЗрддрдХреЗ рджрд┐рд╡рд╕ рддреНрдпрд╛рдВрдЪрд╛ рд╡реНрдпрд╛рдкрдХ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЖрд╣реЗ рдард░рд╡рд▓реЗ, рдХреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд╕реНрдерд┐рд░ (GA) рдШреЛрд╖рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ.

рдореНрд╣рдгреВрди, рддреНрдпрд╛ рд╕рд░реНрд╡рд╛рдВрдирд╛ рддреНрдпрд╛рдиреБрд╕рд╛рд░ (рдЯреЛрдкреЛрд▓реЙрдЬреАрдиреБрд╕рд╛рд░) рдирд╛рд╡ рджреЗрдгреНрдпрд╛рдд рдЖрд▓реЗ:

  • beta.kubernetes.io/instance-type тЖТ node.kubernetes.io/instance-type
  • failure-domain.beta.kubernetes.io/zone тЖТ topology.kubernetes.io/zone
  • failure-domain.beta.kubernetes.io/region тЖТ topology.kubernetes.io/region

... рдкрд░рдВрддреБ рддрд░реАрд╣реА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЬреБрдиреНрдпрд╛ рдирд╛рд╡рд╛рдиреЗ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд (рдмреЕрдХрд╡рд░реНрдб рдХрдВрдкреЕрдЯрд┐рдмрд┐рд▓рд┐рдЯреАрд╕рд╛рдареА). рддрдерд╛рдкрд┐, рд╕рд░реНрд╡ рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрдирд╛ рд╡рд░реНрддрдорд╛рди рд▓реЗрдмрд▓рд╛рдВрд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ. рд╕рдВрдмрдВрдзрд┐рдд рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг K8s рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ.

kubeadm рдЪреЗ рд╕рдВрд░рдЪрд┐рдд рдЖрдЙрдЯрдкреБрдЯ

рдкреНрд░рдердордЪ рдЕрд▓реНрдлрд╛ рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ рд╕рд╛рджрд░ рдХреЗрд▓реЗ kubeadm рдпреБрдЯрд┐рд▓рд┐рдЯреАрд╕рд╛рдареА рд╕рдВрд░рдЪрд┐рдд рдЖрдЙрдЯрдкреБрдЯ. рд╕рдкреЛрд░реНрдЯреЗрдб рдлреЙрд░рдореЕрдЯ: JSON, YAML, Go рдЯреЗрдореНрдкрд▓реЗрдЯ.

рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░реЗрд░рдгрд╛ (рдиреБрд╕рд╛рд░ рдХреЗрдИрдкреА) рдЖрд╣реЗ:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕реНрд╡рд╣рд╕реНрддреЗ рддреИрдирд╛рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдпрд╛ рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА рдбреА рдлреЕрдХреНрдЯреЛ (рдЬрд░ рдирд╛рд╣реА рддрд░) рдорд╛рдирдХ рдореНрд╣рдгрдЬреЗ kubeadm рд╡рд╛рдкрд░рдгреЗ. Terraform рд╕рд╛рд░рдЦреА рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рд┐рд╕реНрдЯреАрдо рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд╕рд╛рдзрдиреЗ Kubernetes рддреИрдирд╛рддреАрд╕рд╛рдареА kubeadm рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддрд╛рдд. рдХреНрд▓рд╕реНрдЯрд░ API рдордзреНрдпреЗ рдирд┐рдпреЛрдЬрд┐рдд рд╕реБрдзрд╛рд░рдгрд╛рдВрдордзреНрдпреЗ kubeadm рдЖрдгрд┐ рдХреНрд▓рд╛рдЙрдб-рдЗрдирд┐рдЯ рд╕рд╣ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдмреВрдЯрд╕реНрдЯреНрд░реЕрдкрд┐рдВрдЧрд╕рд╛рдареА рдПрдХ рд╕рдВрдпреЛрдЬрд┐рдд рдкреЕрдХреЗрдЬ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.

рд╕рдВрд░рдЪрд┐рдд рдЖрдЙрдЯрдкреБрдЯрд╢рд┐рд╡рд╛рдп, рдЕрдЧрджреА рдкрд╣рд┐рд▓реНрдпрд╛ рджреГрд╖реНрдЯреАрдХреНрд╖реЗрдкрд╛рдд рдЕрддреНрдпрдВрдд рдирд┐рд░реБрдкрджреНрд░рд╡реА рдмрджрд▓ рджреЗрдЦреАрд▓ рдЯреЗрд░рд╛рдлреЙрд░реНрдо, рдХреНрд▓рд╕реНрдЯрд░ API рдЖрдгрд┐ kubeadm рдЪреЗ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд░рдгрд╛рд░реЗ рдЗрддрд░ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдЦрдВрдбрд┐рдд рдХрд░реВ рд╢рдХрддрд╛рдд.

рдЖрдордЪреНрдпрд╛ рддрд╛рддреНрдХрд╛рд│ рдпреЛрдЬрдирд╛рдВрдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ kubeadm рдЖрджреЗрд╢рд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди (рд╕рдВрд░рдЪрд┐рдд рдЖрдЙрдЯрдкреБрдЯрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд) рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ:

  • alpha certs
  • config images list
  • init
  • token create
  • token list
  • upgrade plan
  • version

рдЖрджреЗрд╢рд╛рд▓рд╛ JSON рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдЪреЗ рдЪрд┐рддреНрд░рдг kubeadm init -o json:

{
  "node0": "192.168.20.51:443",
  "caCrt": "sha256:1f40ff4bd1b854fb4a5cf5d2f38267a5ce5f89e34d34b0f62bf335d74eef91a3",
  "token": {
    "id":          "5ndzuu.ngie1sxkgielfpb1",
    "ttl":         "23h",
    "expires":     "2019-05-08T18:58:07Z",
    "usages":      [
      "authentication",
      "signing"
    ],
    "description": "The default bootstrap token generated by 'kubeadm init'.",
    "extraGroups": [
      "system:bootstrappers:kubeadm:default-node-token"
    ]
  },
  "raw": "Rm9yIHRoZSBhY3R1YWwgb3V0cHV0IG9mIHRoZSAia3ViZWFkbSBpbml0IiBjb21tYW5kLCBwbGVhc2Ugc2VlIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2FrdXR6LzdhNjg2ZGU1N2JmNDMzZjkyZjcxYjZmYjc3ZDRkOWJhI2ZpbGUta3ViZWFkbS1pbml0LW91dHB1dC1sb2c="
}

рдЗрддрд░ рдирд╡рдХрд▓реНрдкрдирд╛рдВрдЪреЗ рд╕реНрдерд┐рд░реАрдХрд░рдг

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ 1.17 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди рдпрд╛ рдмреЛрдзрд╡рд╛рдХреНрдпрд╛рдЦрд╛рд▓реА рдЭрд╛рд▓реЗ.рд╕реНрдерд┐рд░рддрд╛" рд╣реЗ рддреНрдпрд╛рдордзреАрд▓ рдЕрдиреЗрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдореБрд│реЗ (рддреНрдпрд╛рдВрдЪреА рдПрдХреВрдг рд╕рдВрдЦреНрдпрд╛ рдЖрд╣реЗ 14) GA рджрд░реНрдЬрд╛ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓рд╛. рддреНрдпрд╛рдкреИрдХреА:

рдЗрддрд░ рдмрджрд▓

Kubernetes 1.17 рдордзреАрд▓ рдирд╡рдХрд▓реНрдкрдирд╛рдВрдЪреА рд╕рдВрдкреВрд░реНрдг рдпрд╛рджреА, рдЕрд░реНрдерд╛рддрдЪ, рд╡рд░ рд╕реВрдЪреАрдмрджреНрдз рдХреЗрд▓реЗрд▓реНрдпрд╛рдВрдкреБрд░рддреА рдорд░реНрдпрд╛рджрд┐рдд рдирд╛рд╣реА. рдпреЗрдереЗ рдХрд╛рд╣реА рдЗрддрд░ рдЖрд╣реЗрдд (рдЖрдгрд┐ рдЕрдзрд┐рдХ рд╕рдВрдкреВрд░реНрдг рдпрд╛рджреАрд╕рд╛рдареА, рдкрд╣рд╛ рдмрджрд▓рд╛):

  • рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рд╕рд╛рджрд░ рдХреЗрд▓реЗрд▓реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдмреАрдЯрд╛ рдЖрд╡реГрддреНрддреАрдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрд▓реЗ рдЖрд╣реЗ RunAsUserName рдЦрд┐рдбрдХреНрдпрд╛рдВрд╕рд╛рдареА;
  • рд╕рдорд╛рди рдмрджрд▓ рдкрдбрд▓реЗ EndpointSlice API (K8s 1.16 рд╡рд░реВрди рджреЗрдЦреАрд▓), рддрдерд╛рдкрд┐ рд╕рдзреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рд╕рдорд╛рдзрд╛рди Endpoint API рдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди/рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╕рдХреНрд╖рдо рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реА;
  • рд╢реЗрдВрдЧрд╛ рдЖрддрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА рдЧрдВрднреАрд░ рдЖрд╣реЗрдд рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдХреЗрд╡рд│ рдиреЗрдорд╕реНрдкреЗрд╕рдордзреНрдпреЗрдЪ рдирд╛рд╣реА kube-system (рддрдкрд╢реАрд▓рд╛рд╕рд╛рдареА, рд╕рд╛рдареА рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдкрд╣рд╛ рдкреНрд░рд╛рдзрд╛рдиреНрдп рд╡рд░реНрдЧрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рд╛);
  • рдХреБрдмреЗрд▓реЗрдЯрд╕рд╛рдареА рдирд╡реАрди рдкрд░реНрдпрд╛рдп - --reserved-cpus тАФ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рдгрд╛рд▓реАрд╕рд╛рдареА рдЖрд░рдХреНрд╖рд┐рдд CPU рдЪреА рдпрд╛рджреА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ;
  • рддреЗ kubectl logs рд╕рд╛рджрд░ рдирд╡реАрди рдзреНрд╡рдЬ --prefix, рд▓реЙрдЧрдЪреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдУрд│реАрдд рдкреЙрдб рдЖрдгрд┐ рд╕реНрддреНрд░реЛрдд рдХрдВрдЯреЗрдирд░рдЪреЗ рдирд╛рд╡ рдЬреЛрдбрдгреЗ;
  • ╨▓ label.Selector рдЬреЛрдбрд▓реЗ RequiresExactMatch;
  • kube-dns рдордзреАрд▓ рд╕рд░реНрд╡ рдХрдВрдЯреЗрдирд░ рдЖрддрд╛ рдЪрд╛рд▓реВ рдЖрд╣реЗрдд рдХрдореА рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░рд╛рдВрд╕рд╣;
  • hyperkube рд╡реЗрдЧрд│реНрдпрд╛ GitHub рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рд╡рд┐рднрдХреНрдд рдХреЗрд▓реЗ рдЖрдгрд┐ рдпрд╛рдкреБрдвреЗ Kubernetes рдкреНрд░рдХрд╛рд╢рдирд╛рдВрдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА;
  • рдЬрд╛рд╕реНрдд рд╕реБрдзрд╛рд░рд┐рдд рдХрд╛рдордЧрд┐рд░реА рдпреВрдбреАрдкреА рдирд╕рд▓реЗрд▓реНрдпрд╛ рдкреЛрд░реНрдЯрд╕рд╛рдареА kube-рдкреНрд░реЙрдХреНрд╕реА.

рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдмрджрд▓:

  • kubeadm рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ CoreDNS рдЖрд╡реГрддреНрддреА 1.6.5 рдЖрд╣реЗ;
  • crictl рдЖрд╡реГрддреНрддреА v1.16.1 рд╡рд░ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реА;
  • CSI 1.2.0;
  • etcd 3.4.3;
  • рдирд╡реАрдирддрдо рдЪрд╛рдЪрдгреА рдХреЗрд▓реЗрд▓реА рдбреЙрдХрд░ рдЖрд╡реГрддреНрддреА 19.03 рд╡рд░ рд╢реНрд░реЗрдгреАрд╕реБрдзрд╛рд░рд┐рдд рдХреЗрд▓реА;
  • Kubernetes 1.17 рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдорд╛рди Go рдЖрд╡реГрддреНрддреА рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ 1.13.4.

PS

рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛