рдпрджрд┐ рдЖрдк рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреБрдмреЗрдХреНрдЯрд▓ рд╕рдВрднрд╡рддрдГ рдЙрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЬрдм рднреА рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦрдирд╛ рдлрд╛рдпрджреЗрдордВрдж рд╣реЛрддрд╛ рд╣реИред
рдЯреАрдо
рд▓реЗрдЦрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд▓реЗрдЦ рдХрд╛ рд▓рдХреНрд╖реНрдп рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рджреИрдирд┐рдХ рдХрд╛рд░реНрдп рдХреЛ рди рдХреЗрд╡рд▓ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдмрдирд╛рдирд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрдзрд┐рдХ рдордиреЛрд░рдВрдЬрдХ рднреА рдмрдирд╛рдирд╛ рд╣реИ!
рдкрд░рд┐рдЪрдп: рдХреБрдмреЗрдХреНрдЯрд▓ рдХреНрдпрд╛ рд╣реИ?
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдХреБрдмреЗрдХреНрдЯрд▓ рдХрд╛ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВ, рдЖрдкрдХреЛ рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдХреБрдмреЗрдХреНрдЯрд▓ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдХрд╣реЗрдВ рддреЛ, рдХреБрдмреЗрдХреНрдЯрд▓ рдПрдХ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИред
Kubernetes API рдПрдХ HTTP REST API рд╣реИред рдпрд╣ рдПрдкреАрдЖрдИ рд╕рдЪреНрдЪрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ HTTP рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, kubectl рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп Kubernetes API рдХреЗ рд▓рд┐рдП HTTP рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рд╣реИ:
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрд╕рд╛рдзрди-рдЙрдиреНрдореБрдЦ рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдСрдкрд░реЗрд╢рди рд╕реАрдЖрд░рдпреВрдбреА рдСрдкрд░реЗрд╢рди рд╣реИрдВред
рдЖрдк рдЗрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдХреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн рдХреЛ рдЙрдирдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ.
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдПрдХ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдХрд╛ рдирд╛рдо рд╕реЗ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ replicaset.yaml
, рдлрд┐рд░ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
$ kubectl create -f replicaset.yaml
рдпрд╣ рдПрдХ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдкрд╛рд╕ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рд░реНрдорд╛рдг рдСрдкрд░реЗрд╢рди рд╣реИред рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдСрдкрд░реЗрд╢рди рдХреА рддрд░рд╣, рдЗрд╕реЗ рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдкреАрдЖрдИ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
POST /apis/apps/v1/namespaces/{namespace}/replicasets
рд╕рднреА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдпрд╣рд╛рдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдЗрд╕рд▓рд┐рдП, рдЬрдм рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреБрдмреЗрдХреНрдЯрд▓ рдЙрдкрд░реЛрдХреНрдд рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ рдПрдХ HTTP POST рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдкрд░рд┐рднрд╛рд╖рд╛ replicaset.yaml
, рдЕрдиреБрд░реЛрдз рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП Kubectl рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, kubectl рдмрд╕ рдЙрдкрдпреБрдХреНрдд Kubernetes API рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ HTTP рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ curl
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ HTTP рдЕрдиреБрд░реЛрдз рднреЗрдЬрдХрд░ред Kubectl рдмрд╕ Kubernetes API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рдпрд╣ рдХреБрдмреЗрдЯрд▓ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╣реИред рд▓реЗрдХрд┐рди Kubernetes API рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рднреА рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ kubectl рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдЗрдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреА рдЖрдВрддрд░рд┐рдХ рджреБрдирд┐рдпрд╛ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреА рдЖрдВрддрд░рд┐рдХ рджреБрдирд┐рдпрд╛
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред рдХреБрдЫ рдШрдЯрдХ рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдЕрдиреНрдп рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕ рдкрд░, рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдЕрдкрдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рдореБрдЦреНрдп рдиреЛрдбреНрд╕ рдкрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рд╣реИрдВ:
- рдХреЛрд╖ - рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ (
рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдЗрддреНрдпрд╛рджрд┐ рд╣реИ ). - рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ - рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рднрдВрдбрд╛рд░рдг рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред
- рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рдмрдВрдзрдХ - рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕рд╛рдзрди рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред
- рд╕рдордпрдмрджреНрдзрдХ - рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕ рдкрд░ рд╢реЗрдбреНрдпреВрд▓ рдкреЙрдбреНрд╕ред
рдФрд░ рдпрд╣рд╛рдВ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдбреНрд╕ рдкрд░ рдПрдХ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рд╣реИ:
- рдХреНрдпреВрдмрд▓реЗрдЯ - рдХрд╛рд░реНрдпрд╢реАрд▓ рдиреЛрдб рдкрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓реЙрдиреНрдЪ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпреЗ рдШрдЯрдХ рдПрдХ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред
рдЪрд▓рд┐рдП рдорд╛рди рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдЕрднреА-рдЕрднреА рдкреВрд░рд╛ рдХрд┐рдпрд╛ рд╣реИ kubectl create -f replicaset.yaml
, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж kubectl рдиреЗ рдПрдХ HTTP POST рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛
рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?
- рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж
kubectl create -f replicaset.yaml
рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдЖрдкрдХреЗ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рднрдВрдбрд╛рд░рдг рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ: - рдЗрд╕рдХреЗ рдмрд╛рдж, рдХрдВрдЯреНрд░реЛрд▓рд░ рдореИрдиреЗрдЬрд░ рдореЗрдВ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг, рд╕рдВрд╢реЛрдзрди рдФрд░ рд╡рд┐рд▓реЛрдкрди рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ:
- рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛ рдмрдирд╛рддрд╛ рд╣реИ (рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдкреЙрдб рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдФрд░ рдЙрдиреНрд╣реЗрдВ рднрдВрдбрд╛рд░рдг рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ:
- рд╢реЗрдбреНрдпреВрд▓рд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрди рдкреЙрдбреНрд╕ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрднреА рддрдХ рдХрд┐рд╕реА рднреА рд╡рд░реНрдХрд░ рдиреЛрдб рдХреЛ рдирд╣реАрдВ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ:
- рд╢реЗрдбреНрдпреВрд▓рд░ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╡рд░реНрдХрд░ рдиреЛрдб рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реНрдЯреЛрд░ рдореЗрдВ рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ:
- рдЬрд┐рд╕ рд╡рд░реНрдХрд░ рдиреЛрдб рдХреЛ рдкреЙрдб рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕ рдкрд░ рдХреНрдпреВрдмрд▓реЗрдЯ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдЗрд╕ рдиреЛрдб рдХреЛ рд╕реМрдВрдкреЗ рдЧрдП рдкреЙрдбреНрд╕ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИ:
- рдХреНрдпреВрдмрд▓реЗрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗ рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдиреЛрдб рдкрд░ рдХрдВрдЯреЗрдирд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдЬреИрд╕реЗ рдХрдВрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИ:
рдиреАрдЪреЗ рдЗрд╕ рд╡рд┐рд╡рд░рдг рдХрд╛ рдПрдХ рдкрд╛рда рд╕рдВрд╕реНрдХрд░рдг рд╣реИ.
рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рд░реНрдорд╛рдг рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдЕрдиреБрд░реЛрдз рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рднрдВрдбрд╛рд░рдг рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдИрд╡реЗрдВрдЯ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рдмрдВрдзрдХ рдХреА рдПрдХ рдЙрдкрдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрдЯреЛрд░ рдореЗрдВ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг, рдЕрджреНрдпрддрди рдФрд░ рд╡рд┐рд▓реЛрдкрди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдИрд╡реЗрдВрдЯ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдХрд╛рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдкреЙрдбреНрд╕ рдореМрдЬреВрдж рд╣реИрдВред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЕрднреА рддрдХ рдХреЛрдИ рдкреЙрдб рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдЗрди рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдмрдирд╛рддрд╛ рд╣реИ (рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдкреЙрдб рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
рдирдП рдкреЙрдбреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдПрдХ рд╢реЗрдбреНрдпреВрд▓рд░ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрддрд╛ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд╢реЗрдбреНрдпреВрд▓ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВред рд╢реЗрдбреНрдпреВрд▓рд░ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╡рд░реНрдХрд░ рдиреЛрдб рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ, рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд╣реАрдВ рднреА рдХреЛрдИ рд╡рд░реНрдХрд▓реЛрдб рдХреЛрдб рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рдерд╛ред рдЕрдм рддрдХ рдЬреЛ рдХреБрдЫ рднреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдпрд╣ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЕрджреНрдпрддрдиреАрдХрд░рдг рд╣реИред
рдЕрдВрддрд┐рдо рдШрдЯрдирд╛ рдХреНрдпреВрдмрд▓реЗрдЯреНрд╕ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреА рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреЙрдбреНрд╕ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВред рд╡рд░реНрдХрд░ рдиреЛрдб рдХрд╛ рдХреНрдпреВрдмрд▓реЗрдЯ рдЬрд┐рд╕ рдкрд░ рдЖрдкрдХреЗ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдкреЙрдбреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ, рдХреЛ рдХрдВрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо, рдЬреИрд╕реЗ рдбреЙрдХрд░, рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдХрдВрдЯреЗрдирд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдЖрдкрдХрд╛ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдВрддрддрдГ рдЪрд▓ рд░рд╣рд╛ рд╣реИ!
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдХреА рднреВрдорд┐рдХрд╛
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦрд╛, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдШрдЯрдХ (рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдкрд░ рдирдЬрд░ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдмрджрд▓рддреЗ рд╣реИрдВред
рдмреЗрд╢рдХ, рдпреЗ рдШрдЯрдХ рд╕реАрдзреЗ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
- рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рд╕реВрдЪреА рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рдеwatch
рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред - рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдкреЙрдб рдмрдирд╛рдПрдВ (create pod) рдкреЙрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред - рд╢реЗрдбреНрдпреВрд▓рд░ рдПрдкреАрдЖрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдкреИрдЪ рдкреЙрдб (рдкреЙрдб рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ) рдЪрдпрдирд┐рдд рд╡рд░реНрдХрд░ рдиреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдкреЙрдбреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╡рд╣реА рдПрдкреАрдЖрдИ рд╣реИ рдЬрд┐рд╕реЗ рдХреБрдмреЗрдХреНрдЯрд▓ рдПрдХреНрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИред рдЖрдВрддрд░рд┐рдХ рдШрдЯрдХреЛрдВ рдФрд░ рдмрд╛рд╣рд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ рдПрдХ рдореМрд▓рд┐рдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред
рдЕрдм рд╣рдо рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рднрдВрдбрд╛рд░рдг рд░рд╛рдЬреНрдп, рдпрд╛рдиреА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
- рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
- рдЕрдиреНрдп рд╕рднреА рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдШрдЯрдХ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕реНрдерд┐рддрд┐ (рд╕рдВрд╕рд╛рдзрдиреЛрдВ) рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ, рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рддреЗ рд╣реИрдВред
рдЗрди рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдЬрд╛рдирдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдХреБрдмреЗрдХреНрдЯрд▓ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдФрд░ рдЗрд╕рдХрд╛ рдЕрдзрд┐рдХрддрдо рд▓рд╛рдн рдЙрдард╛рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред
рдЖрдЗрдП рдЕрдм рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпреБрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдпреБрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдирдЬрд░ рдбрд╛рд▓реЗрдВ рдЬреЛ рдХреБрдмреЗрдХреНрдЯрд▓ рдХреЗ рд╕рд╛рде рдЖрдкрдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреАред
1. рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рдЧрддрд┐ рджреЗрдВ
рдХреБрдмреЗрдХреНрдЯрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдХрдорд╛рдВрдб рдкреВрд░рд╛ рдХрд░рдирд╛ред
рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдЖрдкрдХреЛ рдЯреИрдм рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдмреЗрдХреНрдЯрд▓ рдХрдорд╛рдВрдб рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣ рдЙрдк-рдЖрджреЗрд╢реЛрдВ, рд╡рд┐рдХрд▓реНрдкреЛрдВ рдФрд░ рддрд░реНрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдирд╛рдо рдЬреИрд╕реА рдЬрдЯрд┐рд▓ рдЪреАрдЬрд╝ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред
рджреЗрдЦреЗрдВ рдХрд┐ рдХреБрдмреЗрдХреНрдЯрд▓ рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ:
рдмреИрд╢ рдФрд░ Zsh рд╢реЗрд▓ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдХрд╛рд░реНрдпред
рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ
рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдПрдХ рд╢реЗрд▓ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬреЛ рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИред
Kubectl рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреИрд╢ рдФрд░ Zsh рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрддреНрдкрдиреНрди рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ:
$ kubectl completion bash
╨Ш╨╗╨╕:
$ kubectl completion zsh
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЗрди рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЙрдкрдпреБрдХреНрдд рдХрдорд╛рдВрдб рд╢реЗрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рддрд╛рдХрд┐ рдХреБрдмреЗрдХреНрдЯрд▓ рдХрдорд╛рдВрдб рдХреЛ рдкреВрд░рдХ рдХрд░ рд╕рдХреЗред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдмреИрд╢ (рд▓рд┐рдирдХреНрд╕ рдФрд░ рдореИрдХрдУрдПрд╕ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рд╕рд╣рд┐рдд) рдФрд░ рдЬрд╝реЗрдбрдПрд╕рдПрдЪ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдзрд┐ рдЕрд▓рдЧ рд╣реИред рдиреАрдЪреЗ рд╣рдо рдЗрди рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рдЧреМрд░ рдХрд░реЗрдВрдЧреЗред
рд▓рд┐рдирдХреНрд╕ рдкрд░ рдмреИрд╢ рдХрд░реЗрдВ
рдмреИрд╢ рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреИрд╢-рд╕рдорд╛рдкрди рдкреИрдХреЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
$ sudo apt-get install bash-completion
╨Ш╨╗╨╕:
$ yum install bash-completion
рдЖрдк рдирд┐рдореНрди рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреИрдХреЗрдЬ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ:
$ type _init_completion
рдпрджрд┐ рдпрд╣ рд╢реЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдмреИрд╢-рд╕рдорд╛рдкрди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрджреЗрд╢ "рдирд╣реАрдВ рдорд┐рд▓рд╛" рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдиреА рд╣реЛрдЧреА ~ / .bashrc
:
$ source /usr/share/bash-completion/bash_completion
рдХреНрдпрд╛ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ? ~ / .bashrc
рдпрд╛ рдирд╣реАрдВ рдпрд╣ рдЙрд╕ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдиреЗ рдмреИрд╢-рд╕рдорд╛рдкрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛ред рдпрд╣ APT рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди YUM рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
рдмреИрд╢-рд╕рдорд╛рдкрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд╕рдм рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреБрдмреЗрдХреНрдЯрд▓ рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рднреА рд╢реЗрд▓ рд╕рддреНрд░реЛрдВ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдирд╛ рд╣реИ ~ / .bashrc
:
source <(kubectl completion bash)
рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдХреБрдмреЗрдХреНрдЯрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реИ /etc/bash_completion.d
(рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рддреЛ рдЗрд╕реЗ рдмрдирд╛рдПрдВ):
$ kubectl completion bash >/etc/bash_completion.d/kubectl
рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рд╕рднреА рдРрдб-рдСрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ /etc/bash_completion.d
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмреИрд╢-рд╕рдорд╛рдкрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рд╣реИрдВ.
рд╢реЗрд▓ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, kubectl рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдХрд╛рд░реНрдп рдХрд░реЗрдЧреАред
MacOS рдкрд░ рдмреИрд╢ рдХрд░реЗрдВ
MacOS рдкрд░ рд╕реЗрдЯрдЕрдк рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, MacOS рдмреИрд╢ рд╕рдВрд╕реНрдХрд░рдг 3.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ kubectl рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо 4.1 рдХреЗ рдмреИрд╢ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ рдмреИрд╢ 3.2 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
MacOS рдкрд░ рдмреИрд╢ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕рдВрдмрдВрдзреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдмреИрд╢ рд╕рдВрд╕реНрдХрд░рдг 4 рдХреЛ GPLv3 рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИ, рдЬреЛ Apple рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
MacOS рдкрд░ kubectl рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмреИрд╢ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЕрдкрдбреЗрдЯреЗрдб рдмреИрд╢ рдХреЛ рдЕрдкрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╢реЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрд╛рдПрдЧрд╛ред рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд╡рд┐рд╡рд░рдг рд▓реЗрдЦ рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ "
рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдмреИрд╢ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЖрдЙрдЯрдкреБрдЯ рдЬрд╛рдВрдЪреЗрдВ)ред bash --version
).
рдмреИрд╢ рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИ
рдЖрдк рдмреИрд╢-рд╕рдорд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
$ brew install bash-completion@2
рдпрд╣рд╛рдВ @2
рдмреИрд╢-рд╕рдорд╛рдкрди рд╕рдВрд╕реНрдХрд░рдг 2 рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИред kubectl рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП рдмреИрд╢-рд╕рдорд╛рдкрди v2 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдмреИрд╢-рд╕рдорд╛рдкрди v2 рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдмреИрд╢ рд╕рдВрд╕реНрдХрд░рдг 4.1 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ brew-install
рдЗрд╕рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЕрдиреБрднрд╛рдЧ рд╣реИ, рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ~/.bash_profile
:
export BASH_COMPLETION_COMPAT_DIR=/usr/local/etc/bash_completion.d
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && .
"/usr/local/etc/profile.d/bash_completion.sh"
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЗрд╕рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдБ ~/.bash_profile
рдФрд░ рдореЗрдВ ~/.bashrc
. рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рди рдХреЗрд╡рд▓ рдореБрдЦреНрдп рдореЗрдВ, рдмрд▓реНрдХрд┐ рдЪрд╛рдЗрд▓реНрдб рдХрдорд╛рдВрдб рд╢реЗрд▓ рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреАред
рдХрдорд╛рдВрдб рд╢реЗрд▓ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕рд╣реА рд╣реИ:
$ type _init_completion
рдпрджрд┐ рдЖрдк рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╢реЗрд▓ рдлрд╝рдВрдХреНрд╢рди рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЕрдм рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рд╕рддреНрд░реЛрдВ рдореЗрдВ kubectl рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рд╕рдХреНрд╖рдо рд╣реИред
рдПрдХ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐ рдХреЛ рдЕрдкрдиреЗ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ ~/.bashrc
:
source <(kubectl completion bash)
рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рд╕реНрд╡рдд: рдкреВрд░реНрдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝рдирд╛ рд╣реИ /usr/local/etc/bash_completion.d
:
$ kubectl completion bash
>/usr/local/etc/bash_completion.d/kubectl
рдпрд╣ рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░реЗрдЧреА рдЬрдм рдЖрдкрдиреЗ рд╣реЛрдордмреНрд░реВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреИрд╢-рд╕рдорд╛рдкрди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реЛред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдмреИрд╢-рд╕рдорд╛рдкрди рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдиреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИ /usr/local/etc/bash_completion.d
рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рдиред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЬреИрд╕реЗ рд╣реА рдЖрдк рдмреИрд╢-рд╕рдорд╛рдкрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ, kubectl рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧреАред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдпреЗ рд╕рднреА рд╡рд┐рдХрд▓реНрдк рд╕рдорддреБрд▓реНрдп рд╣реИрдВред
Zsh
Zsh рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрд┐рд╕реА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЬрдм рдЖрдк рдХрдорд╛рдВрдб рд╢реЗрд▓ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдмрд╕ рдЙрдиреНрд╣реЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред
рдЖрдк рдЕрдкрдиреЗ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдХрд░ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ~/.zshrc
рдлрд╝рд╛рдЗрд▓:
source <(kubectl completion zsh)
рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ not found: compdef
рдЕрдкрдиреЗ рд╢реЗрд▓ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдмрд┐рд▓реНрдЯрд┐рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ compdef
. рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ~/.zshrc
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд:
autoload -Uz compinit
compinit
2. рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЛ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рджреЗрдЦреЗрдВ
рдЬрдм рдЖрдк YAML рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╝реАрд▓реНрдб рдФрд░ рдЙрдирдХреЗ рдЕрд░реНрде рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдПрдХ рд╕реНрдерд╛рди рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рднреА рдЖрдкрдХреЛ рдХреБрдЫ рдЦреЛрдЬрдирд╛ рд╣реЛ рддреЛ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП kubectl рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ kubectl explain
, рдЬреЛ рд╕реАрдзреЗ рдЖрдкрдХреЗ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рдХрдорд╛рдВрдб рдкреНрд░рд╛рд░реВрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
$ kubectl explain resource[.field]...
рдХрдорд╛рдВрдб рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рдпрд╛ рдлрд╝реАрд▓реНрдб рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ред рдкреНрд░рджрд░реНрд╢рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдПрдкреАрдЖрдИ рдореИрдиреБрдЕрд▓ рдореЗрдВ рдореМрдЬреВрдж рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рдорд╛рди рд╣реИред
╨Я╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О kubectl explain
рдЦреЗрддреЛрдВ рдХреА рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рд╕реНрддрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рджреЗрдЦреЗрдВ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ
рдпрджрд┐ рдЖрдк рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд╕рдВрдкреВрд░реНрдг рдкреЗрдбрд╝ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ --recursive
:
$ kubectl explain deployment.spec --recursive
рдпрджрд┐ рдЖрдк рдареАрдХ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХрд┐рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрди рд╕рднреА рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ kubectl api-resources
рдпрд╣ рдХрдорд╛рдВрдб рд╕рдВрд╕рд╛рдзрди рдирд╛рдореЛрдВ рдХреЛ рдмрд╣реБрд╡рдЪрди рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛. deployments
рдХреЗ рдмрджрд▓реЗ deployment
. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ deploy
, рдЙрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдпрд╣ рд╣реИред рдЗрди рдорддрднреЗрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдордд рдХрд░реЛ. рдпреЗ рд╕рднреА рдирд╛рдордХрд░рдг рд╡рд┐рдХрд▓реНрдк kubectl рдХреЗ рд▓рд┐рдП рд╕рдорддреБрд▓реНрдп рд╣реИрдВред рдпрд╛рдиреА рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХрд╛ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ kubectl explain
.
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рднреА рдЖрджреЗрд╢ рд╕рдорддреБрд▓реНрдп рд╣реИрдВ:
$ kubectl explain deployments.spec
# ╨╕╨╗╨╕
$ kubectl explain deployment.spec
# ╨╕╨╗╨╕
$ kubectl explain deploy.spec
3. рдПрдХ рдХрд╕реНрдЯрдо рдХреЙрд▓рдо рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк kubectl get
:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
engine-544b6b6467-22qr6 1/1 Running 0 78d
engine-544b6b6467-lw5t8 1/1 Running 0 78d
engine-544b6b6467-tvgmg 1/1 Running 0 78d
web-ui-6db964458-8pdw4 1/1 Running 0 78d
рдпрд╣ рдкреНрд░рд╛рд░реВрдк рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╕реАрдорд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рдкреВрд░реНрдг рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд╛ рдкреНрд░рд╛рд░реВрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдпрд╣рд╛рдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдлрд╝реАрд▓реНрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдХрд╕реНрдЯрдо рдХреЙрд▓рдо рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ рд╣реИред рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдВрд╕рд╛рдзрди рдлрд╝реАрд▓реНрдб рдХреЛ рдПрдХ рдЕрд▓рдЧ рдХреЙрд▓рдо рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд╕реНрдЯрдо рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
-o custom-columns=<header>:<jsonpath>[,<header>:<jsonpath>]...
рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдЖрдЙрдЯрдкреБрдЯ рдХреЙрд▓рдо рдХреЛ рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ <header>:<jsonpath>
рдЬрд╣рд╛рдВ <header>
рд╕реНрддрдВрдн рдХрд╛ рдирд╛рдо рд╣реИ, рдФрд░ <jsonpath>
- рд╕рдВрд╕рд╛рдзрди рдХреНрд╖реЗрддреНрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ред
рдЖрдЗрдП рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
$ kubectl get pods -o custom-columns='NAME:metadata.name'
NAME
engine-544b6b6467-22qr6
engine-544b6b6467-lw5t8
engine-544b6b6467-tvgmg
web-ui-6db964458-8pdw4
рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдкреЙрдбреНрд╕ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдХреЙрд▓рдо рд╣реЛрддрд╛ рд╣реИред
рд╡рд┐рдХрд▓реНрдк рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдлрд╝реАрд▓реНрдб рд╕реЗ рдкреЙрдб рдирд╛рдореЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреА рд╣реИ metadata.name
. рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреЙрдб рдХрд╛ рдирд╛рдо рдЪрд╛рдЗрд▓реНрдб рдиреЗрдо рдлрд╝реАрд▓реНрдб рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ metadata
рдкреЙрдб рдХреЗ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╡рд░рдг рдореЗрдВред рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ kubectl explain pod.metadata.name
.
рдЕрдм рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрд▓рдо рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд╣ рдиреЛрдб рджрд┐рдЦрд╛рдирд╛ рдЬрд┐рд╕ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдмрд╕ рдХрд╕реНрдЯрдо рдХреЙрд▓рдо рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдЙрдЪрд┐рдд рдХреЙрд▓рдо рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
$ kubectl get pods
-o custom-columns='NAME:metadata.name,NODE:spec.nodeName'
NAME NODE
engine-544b6b6467-22qr6 ip-10-0-80-67.ec2.internal
engine-544b6b6467-lw5t8 ip-10-0-36-80.ec2.internal
engine-544b6b6467-tvgmg ip-10-0-118-34.ec2.internal
web-ui-6db964458-8pdw4 ip-10-0-118-34.ec2.internal
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдиреЛрдб рдирд╛рдо рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ spec.nodeName
- рдЬрдм рдПрдХ рдкреЙрдб рдХреЛ рдХрд┐рд╕реА рдиреЛрдб рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕рдХрд╛ рдирд╛рдо рдлрд╝реАрд▓реНрдб рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ spec.nodeName
рдкреЙрдб рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛. рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ kubectl explain pod.spec.nodeName
.
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрди рдлрд╝реАрд▓реНрдб рдХреЗрд╕ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВред
рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдВрд╕рд╛рдзрди рдлрд╝реАрд▓реНрдб рдХреЛ рдПрдХ рдХреЙрд▓рдо рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╕ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдЖрдЬрд╝рдорд╛рдПрдБред
рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдЖрдЗрдП рдлрд╝реАрд▓реНрдб рдЪрдпрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред
JSONPath рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ
рд╕рдВрд╕рд╛рдзрди рдлрд╝реАрд▓реНрдб рдХреЗ рдЪрдпрди рдХреЗ рд▓рд┐рдП рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ
JSONPath JSON рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рднрд╛рд╖рд╛ рд╣реИред JSONPath рдХреЗ рд▓рд┐рдП рдПрдХрд▓ рдлрд╝реАрд▓реНрдб рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ
Kubectl рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ JSONPath рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдБ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ:
# ╨Т╤Л╨▒╤А╨░╤В╤М ╨▓╤Б╨╡ ╤Н╨╗╨╡╨╝╨╡╨╜╤В╤Л ╤Б╨┐╨╕╤Б╨║╨░
$ kubectl get pods -o custom-columns='DATA:spec.containers[*].image'
# ╨Т╤Л╨▒╤А╨░╤В╤М ╤Б╨┐╨╡╤Ж╨╕╤Д╨╕╤З╨╡╤Б╨║╨╕╨╣ ╤Н╨╗╨╡╨╝╨╡╨╜╤В ╤Б╨┐╨╕╤Б╨║╨░
$ kubectl get pods -o custom-columns='DATA:spec.containers[0].image'
# ╨Т╤Л╨▒╤А╨░╤В╤М ╤Н╨╗╨╡╨╝╨╡╨╜╤В╤Л ╤Б╨┐╨╕╤Б╨║╨░, ╨┐╨╛╨┐╨░╨┤╨░╤О╤Й╨╕╨╡ ╨┐╨╛╨┤ ╤Д╨╕╨╗╤М╤В╤А
$ kubectl get pods -o custom-columns='DATA:spec.containers[?(@.image!="nginx")].image'
# ╨Т╤Л╨▒╤А╨░╤В╤М ╨▓╤Б╨╡ ╨┐╨╛╨╗╤П ╨┐╨╛ ╤Г╨║╨░╨╖╨░╨╜╨╜╨╛╨╝╤Г ╨┐╤Г╤В╨╕, ╨╜╨╡╨╖╨░╨▓╨╕╤Б╨╕╨╝╨╛ ╨╛╤В ╨╕╤Е ╨╕╨╝╨╡╨╜╨╕
$ kubectl get pods -o custom-columns='DATA:metadata.*'
# ╨Т╤Л╨▒╤А╨░╤В╤М ╨▓╤Б╨╡ ╨┐╨╛╨╗╤П ╤Б ╤Г╨║╨░╨╖╨░╨╜╨╜╤Л╨╝ ╨╕╨╝╨╡╨╜╨╡╨╝, ╨▓╨╜╨╡ ╨╖╨░╨▓╨╕╤Б╨╕╨╝╨╛╤Б╤В╨╕ ╨╛╤В ╨╕╤Е ╤А╨░╤Б╨┐╨╛╨╗╨╛╨╢╨╡╨╜╨╕╤П
$ kubectl get pods -o custom-columns='DATA:..image'
[] рдСрдкрд░реЗрдЯрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдХрдИ Kubernetes рд╕рдВрд╕рд╛рдзрди рдлрд╝реАрд▓реНрдб рд╕реВрдЪрд┐рдпрд╛рдБ рд╣реИрдВ, рдФрд░ рдпрд╣ рдСрдкрд░реЗрдЯрд░ рдЖрдкрдХреЛ рдЙрди рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХрд┐рд╕реА рд╕реВрдЪреА рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ [*] рдЬреИрд╕реЗ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЖрд╡реЗрджрди рдЙрджрд╛рд╣рд░рдг
рдХрд╕реНрдЯрдо рдХреЙрд▓рдо рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рдЕрдирдВрдд рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдХрд┐рд╕реА рднреА рдлрд╝реАрд▓реНрдб рдпрд╛ рд╕рдВрд╕рд╛рдзрди рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдХреБрдЫ рдирдореВрдирд╛ рдРрдкреНрд╕ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмреЗрдЭрд┐рдЭрдХ рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдпрдВ рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░реЗрдВ рдФрд░ рдРрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдвреВрдВрдвреЗрдВ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реЛрдВред
- рдкреЙрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдЪрд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛:
$ kubectl get pods -o custom-columns='NAME:metadata.name,IMAGES:spec.containers[*].image' NAME IMAGES engine-544b6b6467-22qr6 rabbitmq:3.7.8-management,nginx engine-544b6b6467-lw5t8 rabbitmq:3.7.8-management,nginx engine-544b6b6467-tvgmg rabbitmq:3.7.8-management,nginx web-ui-6db964458-8pdw4 wordpress
рдпрд╣ рдХрдорд╛рдВрдб рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдЫрд╡рд┐ рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдПрдХ рдкреЙрдб рдореЗрдВ рдХрдИ рдХрдВрдЯреЗрдирд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЫрд╡рд┐ рдирд╛рдо рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдХрд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдВрдЧреЗред
- рдиреЛрдб рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛:
$ kubectl get nodes -o custom-columns='NAME:metadata.name,ZONE:metadata.labels.failure-domain.beta.kubernetes.io/zone' NAME ZONE ip-10-0-118-34.ec2.internal us-east-1b ip-10-0-36-80.ec2.internal us-east-1a ip-10-0-80-67.ec2.internal us-east-1b
рдпрджрд┐ рдЖрдкрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдпрд╣ рдХрдорд╛рдВрдб рдЙрдкрдпреЛрдЧреА рд╣реИред рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░ рдПрдХ рдХреНрд▓рд╛рдЙрдб рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдПрдХ рднреМрдЧреЛрд▓рд┐рдХ рдХреНрд╖реЗрддреНрд░ рддрдХ рд╕реАрдорд┐рдд рдХрд░рддреА рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓реЗрдмрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ -
. рдпрджрд┐ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рд▓реЗрдмрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдирд╛рдореЛрдВ рд╕реЗ рднрд░рд╛ рд╣реЛрддрд╛ рд╣реИредfailure-domain.beta.kubernetes.io/zone
рд▓реЗрдмрд▓ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА
рдПрдкреАрдЖрдИ рдЧрд╛рдЗрдб . рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк YAML рдпрд╛ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдиреЛрдбреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЙрдиреНрд╣реЗрдВ (рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд▓реЗрдмрд▓ рдХреА рддрд░рд╣) рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:$ kubectl get nodes -o yaml # ╨╕╨╗╨╕ $ kubectl get nodes -o json
рд╕рдВрд╕рд╛рдзрди рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЛ рд╕реАрдЦрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИред
4. рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рдмреАрдЪ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ
рдЬрдм Kubectl Kubernetes API рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ kubeconfig рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ kubeconfig рдлрд╝рд╛рдЗрд▓ рд╣реИ ~/.kube/config
. рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИред
рдЬрдм рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреА kubeconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрди рд╕рднреА рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реЛрддреА рд╣реИрдВред рдЖрдкрдХреЛ kubectl рдХрдорд╛рдВрдб рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рдХрд┐рд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░, рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдирд╛рдорд╕реНрдерд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВтАФрднреМрддрд┐рдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдХреНрд▓рд╕реНрдЯрд░ред Kubectl рдпрд╣ рднреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ kubeconfig рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рд╕ рдиреЗрдорд╕реНрдкреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреБрдмреЗрдХреНрдЯрд▓ рдХрдорд╛рдВрдб рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рднреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд┐рд╕ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред
рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рд╣рдо рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ KUBECONFIG рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрдИ kubeconfig рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЗрди рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде kubectl рдЪрд▓рд╛рдХрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ kubeconfig рдлрд╝рд╛рдЗрд▓ рдХреЛ рднреА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ --kubeconfig
. рджреЗрдЦрдирд╛
kubeconfig рдлрд╝рд╛рдЗрд▓реЗрдВ
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ kubeconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ:
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, kubeconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрджрд░реНрднреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рд╕рдВрджрд░реНрдн рдореЗрдВ рддреАрди рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдХреНрд▓рд╕реНрдЯрд░ - рдХреНрд▓рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рдХрд╛ рдПрдкреАрдЖрдИ рдпреВрдЖрд░рдПрд▓ред
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ - рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ред
- рдиреЗрдорд╕реНрдкреЗрд╕ - рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдиреЗрдорд╕реНрдкреЗрд╕ред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╡реЗ рдЕрдХреНрд╕рд░ рдЕрдкрдиреЗ kubeconfig рдореЗрдВ рдкреНрд░рддрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдПрдХ рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдПрдХрд╛рдзрд┐рдХ рд╕рдВрджрд░реНрдн рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рдирд╛рдорд╕реНрдерд╛рди рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднреЗрджрд┐рдд рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдмрд╣реБ-рд╕рдВрджрд░реНрдн рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ-рд╕реЗ-рдПрдХ рдореИрдкрд┐рдВрдЧ рд╣реЛрддреА рд╣реИред
рдХрд┐рд╕реА рднреА рд╕рдордп, рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рд╕рдВрджрд░реНрдн рд╡рд░реНрддрдорд╛рди рд╣реЛрддрд╛ рд╣реИ:
рдЬрдм kubectl рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдкрдврд╝рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рд▓реЗрддрд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХреБрдмреЗрдХреНрдЯрд▓ рд╣рд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдЬреБрдбрд╝реЗрдЧрд╛ред
рддрджрдиреБрд╕рд╛рд░, рдХрд┐рд╕реА рдЕрдиреНрдп рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ kubeconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛:
рдЕрдм рдХреБрдмреЗрдХреНрдЯрд▓ рдлреЙрдХреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдЧрд╛ред
рдПрдХ рд╣реА рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд┐рд╕реА рднрд┐рдиреНрди рдиреЗрдорд╕реНрдкреЗрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдиреЗрдорд╕реНрдкреЗрд╕ рддрддреНрд╡ рдХрд╛ рдорд╛рди рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛:
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХреБрдмреЗрдХреНрдЯрд▓ рдлреЙрдХреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдкреНрд░реЛрдбрдХреНрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ (рдкрд╣рд▓реЗ рдЯреЗрд╕реНрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ kubectl рд╡рд┐рдХрд▓реНрдк рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ --cluster
, --user
, --namespace
╨╕ --context
, рдЬреЛ рдЖрдкрдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рддрддреНрд╡реЛрдВ рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдХреНрдпреВрдмрдХреЙрдиреНрдлрд┐рдЧ рдореЗрдВ рдХреБрдЫ рднреА рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред рджреЗрдЦрдирд╛ kubectl options
.
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк kubeconfig рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ. рдЗрди рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред
Kubectx рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ
рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрд┐рддрд╛ред
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЖрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ kubectx
╨╕ kubens
рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдФрд░ рдирд╛рдорд╕реНрдерд╛рди рдХреЛ рдХреНрд░рдорд╢рдГ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдорддрд▓рдм рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдмрджрд▓рдирд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрджрд░реНрдн рд╣реИред
рдЗрди рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдпреЗ рдХрдорд╛рдВрдб рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдЕрдиреБрд╕рд╛рд░ рдмрд╕ kubeconfig рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП kubectx
, рдкрд░ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ
рджреЛрдиреЛрдВ рдХрдорд╛рдВрдб рд╕рдВрджрд░реНрдн рдФрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдирд╛рдореЛрдВ рдХреЗ рд╕реНрд╡рдд: рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢
рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ kubectx
рд╣реИ kubectx
. рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд░реВрдк рд╕реЗ, рдЖрдк fzf рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдлреНрд░реА рд╕рд░реНрдЪ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрджрд░реНрдн рдФрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╢реЗрд▓ рдЙрдкрдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдФрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреВрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ kubectl рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╣рд╛рдБ, рдЯреАрдо kubectl config
kubeconfig рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдк-рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдкрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВ:
kubectl config get-contexts
: рд╕рднреА рд╕рдВрджрд░реНрдн рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ;kubectl config current-context
: рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ;kubectl config use-context
: рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдмрджрд▓реЗрдВ;kubectl config set-context
: рд╕рдВрджрд░реНрдн рддрддреНрд╡ рдмрджрд▓реЗрдВ.
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрди рдХрдорд╛рдВрдбреЛрдВ рдХрд╛ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рд▓рдВрдмреЗ рд╣реЛрддреЗ рд╣реИрдВред рдЖрдк рдЙрдирдХреЗ рд▓рд┐рдП рд╢реЗрд▓ рдЙрдкрдирд╛рдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдореИрдВрдиреЗ рдЗрди рдЖрджреЗрд╢реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрдирд╛рдореЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдмрдирд╛рдпрд╛ рдЬреЛ kubectx рдХреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрдкрдирд╛рдо рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореБрдХреНрдд рд▓реБрдХрдЕрдк рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдЬреИрд╕реЗ kubectx рдХреЗ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб) рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП fzf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП
рдпрд╣рд╛рдБ рд╕реНрд╡рдпрдВ рдЙрдкрдирд╛рдореЛрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рджреА рдЧрдИ рд╣реИрдВ:
# ╨Я╨╛╨╗╤Г╤З╨╕╤В╤М ╤В╨╡╨║╤Г╤Й╨╕╨╣ ╨║╨╛╨╜╤В╨╡╨║╤Б╤В
alias krc='kubectl config current-context'
# ╨б╨┐╨╕╤Б╨╛╨║ ╨▓╤Б╨╡╤Е ╨║╨╛╨╜╤В╨╡╨║╤Б╤В╨╛╨▓
alias klc='kubectl config get-contexts -o name | sed "s/^/ /;|^ $(krc)$|s/ /*/"'
# ╨Ш╨╖╨╝╨╡╨╜╨╕╤В╤М ╤В╨╡╨║╤Г╤Й╨╕╨╣ ╨║╨╛╨╜╤В╨╡╨║╤Б╤В
alias kcc='kubectl config use-context "$(klc | fzf -e | sed "s/^..//")"'
# ╨Я╨╛╨╗╤Г╤З╨╕╤В╤М ╤В╨╡╨║╤Г╤Й╨╡╨╡ ╨┐╤А╨╛╤Б╤В╤А╨░╨╜╤Б╤В╨▓╨╛ ╨╕╨╝╨╡╨╜
alias krn='kubectl config get-contexts --no-headers "$(krc)" | awk "{print $5}" | sed "s/^$/default/"'
# ╨б╨┐╨╕╤Б╨╛╨║ ╨▓╤Б╨╡╤Е ╨┐╤А╨╛╤Б╤В╤А╨░╨╜╤Б╤В╨▓ ╨╕╨╝╨╡╨╜
alias kln='kubectl get -o name ns | sed "s|^.*/| |;|^ $(krn)$|s/ /*/"'
# ╨Ш╨╖╨╝╨╡╨╜╨╕╤В╤М ╤В╨╡╨║╤Г╤Й╨╡╨╡ ╨┐╤А╨╛╤Б╤В╤А╨░╨╜╤Б╤В╨▓╨╛ ╨╕╨╝╨╡╨╜
alias kcn='kubectl config set-context --current --namespace "$(kln | fzf -e | sed "s/^..//")"'
рдЗрди рдЙрдкрдирд╛рдореЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдкрд░реЛрдХреНрдд рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ ~/.bashrc
рдпрд╛ ~/.zshrc
рдФрд░ рдЕрдкрдиреЗ рд╢реЗрд▓ рдХреЛ рд░реАрдмреВрдЯ рдХрд░реЗрдВред
рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
Kubectl рдЖрдкрдХреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдореВрд▓ рдХрдорд╛рдВрдб рдХреА рддрд░рд╣ рд╣реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк kubectl-foo рдкреНрд▓рдЧрдЗрди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ kubectl foo
.
рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрджрд░реНрдн рдФрд░ рдирд╛рдорд╕реНрдерд╛рди рдХреЛ рдмрджрд▓рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рджреМрдбрд╝рдХрд░ kubectl ctx
рд╕рдВрджрд░реНрдн рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ kubectl ns
рдиреЗрдорд╕реНрдкреЗрд╕ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП.
рдореИрдВрдиреЗ рджреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦреЗ рд╣реИрдВ рдЬреЛ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ:
рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдХрд╛рд░реНрдп рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдХреЗ рдЙрдкрдирд╛рдореЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ:
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореБрдХреНрдд рдЦреЛрдЬ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (рдЬреИрд╕реЗ kubectx рдХрд╛ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб) рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП fzf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП
рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд╛рдорд┐рдд рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реЛрдЧреА chmod +x
. рдЗрд╕рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВрдЧреЗ kubectl ctx
╨╕ kubectl ns
.
5. рдСрдЯреЛрдПрд▓рд┐рдпрд╛рд╕реЗрд╕ рдХреЗ рд╕рд╛рде рдЗрдирдкреБрдЯ рдХрдо рдХрд░реЗрдВ
рд╢реЗрд▓ рдЙрдкрдирд╛рдо рдЗрдирдкреБрдЯ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛
рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ - рдЖрдкрдХреЛ 800 рдЙрдкрдирд╛рдо рдХреИрд╕реЗ рдпрд╛рдж рд╣реИрдВ? рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрди рд╕рднреА рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХ рд╕рд░рд▓ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ, рдЬреЛ рдиреАрдЪреЗ рджреА рдЧрдИ рд╣реИ:
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- kgpooyaml - kubectl рдкреЙрдбреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ oyaml
- ksysgsvcw - kubectl -n kube-system рдХреЛ svc w рдорд┐рд▓рддрд╛ рд╣реИ
- ksysrmcm -kubectl -n рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо рдЖрд░рдПрдо рд╕реЗрдореА
- kgdepalsl - kubectl рдХреЛ рд╕рднреА sl рдкрд░ рддреИрдирд╛рддреА рдорд┐рд▓рддреА рд╣реИ
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдкрдирд╛рдо рдШрдЯрдХреЛрдВ рд╕реЗ рдмрдиреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ kubectl рдХрдорд╛рдВрдб рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрддреНрд╡ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдирд╛рдо рдореЗрдВ рдмреЗрд╕ рдХрдорд╛рдВрдб, рдСрдкрд░реЗрд╢рди рдФрд░ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдХ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдХрдИ рдШрдЯрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдмрд╕ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рдмрд╛рдПрдБ рд╕реЗ рджрд╛рдПрдБ "рдкреЙрдкреНрдпреБрд▓реЗрдЯ" рдХрд░реЗрдВред
рд╡рд░реНрддрдорд╛рди рд╡рд┐рд╕реНрддреГрдд рдЖрд░реЗрдЦ рдпрд╣рд╛рдВ рд╣реИ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдирд╛рдо kgpooyamlall рдХрдорд╛рдВрдб рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ kubectl get pods -o yaml --all-namespaces
.
рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╕рд╛рдкреЗрдХреНрд╖ рдХреНрд░рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ: рдХрдорд╛рдВрдб kgpooyamlall
рдХрдорд╛рдВрдб рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ kgpoalloyaml
.
рдЖрдкрдХреЛ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рдЙрдкрдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП k
, kg
, klo
, ksys
, kgpo
рднреА рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдЙрдкрдирд╛рдо рдФрд░ рдирд┐рдпрдорд┐рдд рдХрдорд╛рдВрдб рдпрд╛ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- рдХреЗ рдмрдЬрд╛рдП
kubectl proxy
рддреБрдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реЛk proxy
. - рдХреЗ рдмрдЬрд╛рдП
kubectl get roles
рддреБрдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реЛkg roles
(рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд░реЛрд▓реНрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрдкрдирд╛рдо рдирд╣реАрдВ рд╣реИ)ред - рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреЙрдб рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
kgpo my-pod тАФ kubectl get pod my-pod
.
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреБрдЫ рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдирд╛рдо kgpol
рд╕рд╛рдзрди kubectl get pods -l
. рд╡рд┐рдХрд▓реНрдк -l
рдПрдХ рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдПрдХ рд▓реЗрдмрд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ред рдпрджрд┐ рдЖрдк рдЙрдкрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдРрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ kgpol app=ui
.
рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрдкрдирд╛рдо a, f, рдФрд░ l рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдВрддрд┐рдо рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдЗрд╕ рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдордЭ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрди рдЖрджреЗрд╢реЛрдВ рд╕реЗ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рдЙрдкрдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рдмрд╣реБрдд рд╕рд╛рд░рд╛ рд╕рдордп рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрдерд╛рдкрдирд╛
Kubectl-aliases рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реЛрдЧреА ~/.bashrc
рдпрд╛ ~/.zshrc
:
source ~/.kubectl_aliases
рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛, рдЖрдк рдЕрдХреНрд╕рд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдЙрдкрдирд╛рдо рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢рдмреНрдж рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
$ kgpooyaml test-pod-d4b77b989
рдпрджрд┐ рдЖрдк kubectl рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡рддрдГ рдЖрдкрдиреЗ рд╕рдВрд╕рд╛рдзрди рдирд╛рдо рдЬреИрд╕реА рдЪреАрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЙрдкрдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рдкрд░ рдРрд╕рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рд╢реНрди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рддреЛ рдЖрдк рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рдХреБрдЫ рд▓рд╛рдн рдЦреЛ рджреЗрдВрдЧреЗред
рдЙрддреНрддрд░ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
- Zsh рдХреЗ рд▓рд┐рдП, рдЙрдкрдирд╛рдо рдкреВрд░реНрдгрддрд╛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддреА рд╣реИред
- рдмреИрд╢ рдХреЗ рд▓рд┐рдП, рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдХрд╛рд░реНрдп рдХреЛ рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдмреИрд╢ рдореЗрдВ рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛
рдмреИрд╢ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдирд╛рдо рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ (рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдЯреИрдм рджрдмрд╛рддреЗ рд╣реИрдВ), рди рдХрд┐ рдЙрд╕ рдЖрджреЗрд╢ рдХреЛ рдЬрд┐рд╕реЗ рдЙрдкрдирд╛рдо рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Zsh рдХрд░рддрд╛ рд╣реИ)ред рдЪреВрдБрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рднреА 800 рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ, рдореИрдВ рдкрд╣рд▓реЗ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╕рднреА рдХреБрдмреЗрдХреНрдЯрд▓ рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдгрддрд╛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
MacOS рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯ: Kubectl рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рддрд░рд╣, рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдмреИрд╢ 3.2 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ MacOS рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдмреИрд╢-рд╕рдорд╛рдкрди v2 рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (brew install bash-completion@2
), рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдмреИрд╢ 4.1 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ MacOS рдкрд░ рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдмреИрд╢ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЖрдкрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реЛрдЧреА ~/.bashrc
:
source ~/bash_completion.sh
рд╢реЗрд▓ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
Kubectl рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛
рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдПрдХ рд░реИрдкрд░ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ _complete_alias
. рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЙрдкрдирд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдирд╛рдо рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдгрддрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред
рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рдВрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдмреИрд╢ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ _complete_alias
рдЙрдкрдирд╛рдо рдкреВрд░реНрдгрддрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░, рдЖрдЗрдП рдЙрдкрдирд╛рдо k рд▓реЗрдВ, рдЬреЛ kubectl рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рд╣реИред рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _complete_alias
рдЗрд╕ рдЙрдкрдирд╛рдо рдХреЗ рдкреВрд░рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреА рдЪрд╛рд╣рд┐рдП:
$ complete -F _complete_alias k
рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рднреА рдЖрдк рдХрд┐рд╕реА рдЙрдкрдирд╛рдо k рдХреЛ рд╕реНрд╡рдд: рдкреВрд░реНрдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ _complete_alias
, рдЬреЛ рдЙрдкрдирд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдгрддрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ kubectl
.
рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдЗрдП рдЙрдкрдирд╛рдо рд▓реЗрддреЗ рд╣реИрдВ kg
, рдЬреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ kubectl get
:
$ complete -F _complete_alias kg
рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреА рддрд░рд╣, рдЬрдм рдЖрдк рдХрд┐рд▓реЛ рдХреЛ рд╕реНрд╡рдд: рдкреВрд░реНрдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╡рд╣реА рдкреВрд░реНрдгрддрд╛ рд╕рдВрдХреЗрдд рдорд┐рд▓рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдорд┐рд▓реЗрдВрдЧреЗ kubectl get
.
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд┐рд╕реА рднреА рдЙрдкрдирд╛рдо рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рд╕рднреА kubectl рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рдЖрджреЗрд╢ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдирд┐рдкреЗрдЯ рдмрд┐рд▓реНрдХреБрд▓ рдпрд╣реА рдХрд░рддрд╛ рд╣реИ, рдмрд╢рд░реНрддреЗ рдЖрдкрдиреЗ kubectl-aliases рдХреЛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реЛ ~/.kubectl-aliases
:
for _a in $(sed '/^alias /!d;s/^alias //;s/=.*$//' ~/.kubectl_aliases);
do
complete -F _complete_alias "$_a"
done
рдХреЛрдб рдХреЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдЖрдкрдХреЗ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ~/.bashrc
, рдХрдорд╛рдВрдб рд╢реЗрд▓ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рд╕рднреА 800 рдХреНрдпреВрдмреЗрдХреНрдЯрд▓ рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧреАред
6. рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде kubectl рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░
рд╕реЗ рд╢реБрд░реВ
рдпрджрд┐ рдЖрдк рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ
рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ, рд╣рдо рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреИрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ, рдЙрдиреНрд╣реЗрдВ рдХрд╣рд╛рдВ рдЦреЛрдЬреЗрдВ, рдФрд░ рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреИрд╕реЗ рдмрдирд╛рдПрдВред
рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛
Kubectl рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рд░рд▓ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ kubectl-x
. рдЙрдкрд╕рд░реНрдЧ kubectl-
рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдирдпрд╛ kubectl рдЙрдкрдХрдорд╛рдВрдб рдЖрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реЗрд▓реЛ рдкреНрд▓рдЧрдЗрди рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ kubectl-hello
.
рдкреНрд▓рдЧрдЗрди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ kubectl-x
рдЕрдкрдиреЗ PATH рдореЗрдВ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдФрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП chmod +x
. рдЗрд╕рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЖрдк рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ kubectl x
.
рдЖрдк рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ kubectl plugin list
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рдХрдИ рдкреНрд▓рдЧрдЗрди рд╣реИрдВ, рдпрд╛ рдпрджрд┐ рдХреЛрдИ рдкреНрд▓рдЧрдЗрди рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рдХрдорд╛рдВрдб рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред
рдХреНрд░реВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдвреВрдВрдврдирд╛ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛
Kubectl рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬреЛрдВ рдХреА рддрд░рд╣ рд╕рд╛рдЭрд╛ рдпрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рджреВрд╕рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╣рд╛рдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдХреНрд░реВ kubectl рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣реАрдВ, Krew kubectl рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рднреА рд╣реИред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд░реВ рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреБрдмреЗрдХреНрдЯрд▓ рдкреНрд▓рдЧрдЗрди рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдЬреИрд╕рд╛ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдк рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрд░реВ рдХрдорд╛рдВрдб рд╣реИрдВ:
# ╨Я╨╛╨╕╤Б╨║ ╨▓ ╤Б╨┐╨╕╤Б╨║╨╡ ╨┐╨╗╨░╨│╨╕╨╜╨╛╨▓
$ kubectl krew search [<query>]
# ╨Я╨╛╤Б╨╝╨╛╤В╤А╨╡╤В╤М ╨╕╨╜╤Д╨╛╤А╨╝╨░╤Ж╨╕╤О ╨╛ ╨┐╨╗╨░╨│╨╕╨╜╨╡
$ kubectl krew info <plugin>
# ╨г╤Б╤В╨░╨╜╨╛╨▓╨╕╤В╤М ╨┐╨╗╨░╨│╨╕╨╜
$ kubectl krew install <plugin>
# ╨Ю╨▒╨╜╨╛╨▓╨╕╤В╤М ╨▓╤Б╨╡ ╨┐╨╗╨░╨│╨╕╨╜╤Л ╨┤╨╛ ╨┐╨╛╤Б╨╗╨╡╨┤╨╜╨╡╨╣ ╨▓╨╡╤А╤Б╨╕╨╕
$ kubectl krew upgrade
# ╨Я╨╛╤Б╨╝╨╛╤В╤А╨╡╤В╤М ╨▓╤Б╨╡ ╨┐╨╗╨░╨│╨╕╨╜╤Л, ╤Г╤Б╤В╨░╨╜╨╛╨▓╨╗╨╡╨╜╨╜╤Л╨╡ ╤З╨╡╤А╨╡╨╖ Krew
$ kubectl krew list
# ╨Ф╨╡╨╕╨╜╤Б╤В╨░╨╗╨╗╨╕╤А╨╛╨▓╨░╤В╤М ╨┐╨╗╨░╨│╨╕╨╜
$ kubectl krew remove <plugin>
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреНрд░реВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдорд╛рдирдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдмрд╛рдзрд╛ рдирд╣реАрдВ рдЖрддреА рд╣реИред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрджреЗрд╢ kubectl krew list
рдХреЗрд╡рд▓ рдЙрди рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреНрд░реВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдереЗ, рдЬрдмрдХрд┐ рдХрдорд╛рдВрдб kubectl plugin list
рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдХреНрд░реВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдФрд░ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдПред
рдЕрдиреНрдпрддреНрд░ рдкреНрд▓рдЧрдЗрди рдвреВрдБрдврдирд╛
рдХреНрд░реВ рдПрдХ рдпреБрд╡рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рдореЗрдВ
рдореИрдВ GitHub рдЕрдиреБрднрд╛рдЧ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ
рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦрдирд╛
рдЖрдк рд╕реНрд╡рдпрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВkubectl-x
рдФрд░ рдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред
рдлрд╝рд╛рдЗрд▓ рдПрдХ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдПрдХ рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдпрд╛ рдПрдХ рд╕рдВрдХрд▓рд┐рдд GO рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реЛ рд╕рдХрддреА рд╣реИ - рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рдПрдХрдорд╛рддреНрд░ рд╢рд░реНрдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕реАрдзреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдЗрдП рдЕрднреА рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдПрдВред рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдЖрдкрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрдХреНрдЯрд▓ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдмрджрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред kubectl img
.
рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ kubectl-img
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА:
#!/bin/bash
kubectl get pods -o custom-columns='NAME:metadata.name,IMAGES:spec.containers[*].image'
рдЕрдм рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВ chmod +x kubectl-img
рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ PATH рдореЗрдВ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБред рдЗрд╕рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЖрдк рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ kubectl img
.
рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, kubectl рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдкреНрд▓рдЧрдЗрди рдХреЗ рднреАрддрд░ рд╕реЗ kubectl рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХрд╛ рд▓рд╛рдн рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ
рдЕрдкрдиреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреИрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ
рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдмреЗрдЭрд┐рдЭрдХ рдЗрд╕реЗ GitHub рдкрд░ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╖рдп рдореЗрдВ рдЕрд╡рд╢реНрдп рдЬреЛрдбрд╝реЗрдВ
рдЖрдк рдпрд╣ рднреА рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд▓рдЧрдЗрди рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП
рдЖрджреЗрд╢ рдкреВрд░рд╛ рд╣реЛрдирд╛
рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╛рдиреА рдЖрдкрдХреЛ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рдФрд░ рддрд░реНрдХреЛрдВ рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП GitHub kubectl рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИ
рд╢реБрднрдХрд╛рдордирд╛рдПрдБ !!!
рд╡рд┐рд╖рдп рдкрд░ рдФрд░ рдХреНрдпрд╛ рдкрдврд╝рдирд╛ рд╣реИ:
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рддреАрди рд╕реНрддрд░ рдФрд░ рдЙрдирдХрд╛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ .рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдкрд╛рдпрд░реЗрд╕реА рдХреА рднрд╛рд╡рдирд╛ рдореЗрдВ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ .рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рд╣рдорд╛рд░рд╛ рдЪреИрдирд▓ рдЕрд░рд╛рдЙрдВрдб рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ .
рд╕реНрд░реЛрдд: www.habr.com