
рдпрджрд┐ рдЖрдк Kubernetes рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ kubectl рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдФрд░ рдЬрдм рднреА рдЖрдк рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реАрдЦрдирд╛ рдФрд░ рдЙрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦрдирд╛ рд▓рд╛рднрджрд╛рдпрдХ рд╣реЛрддрд╛ рд╣реИред
рдЯреАрдо рдбреИрдирд┐рдпрд▓ рд╡реЗрдЗрдмреЗрд▓ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ kubectl рдХреЗ рд╕рд╛рде рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрд╕ рдФрд░ рдЯреНрд░рд┐рдХреНрд╕ рдорд┐рд▓реЗрдВрдЧреЗред рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреА рдЧрд╣рд░реА рд╕рдордЭ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдорд┐рд▓реЗрдЧреАред
рд▓реЗрдЦрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд▓реЗрдЦ рдХрд╛ рд▓рдХреНрд╖реНрдп рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рджреИрдирд┐рдХ рдХрд╛рд░реНрдп рдХреЛ рди рдХреЗрд╡рд▓ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдмрдирд╛рдирд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрдзрд┐рдХ рдЖрдирдВрджрджрд╛рдпрдХ рднреА рдмрдирд╛рдирд╛ рд╣реИ!
рдкрд░рд┐рдЪрдп: kubectl рдХреНрдпрд╛ рд╣реИ
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк kubectl рдХрд╛ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВ, рдЖрдкрдХреЛ рдЗрд╕рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, kubectl рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ Kubernetes рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, kubectl рдПрдХ Kubernetes API рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИред
Kubernetes API рдПрдХ HTTP REST API рд╣реИред рдпрд╣ рдПрдкреАрдЖрдИ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ Kubernetes рдСрдкрд░реЗрд╢рди рдХреЛ API рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ HTTP рдЕрдиреБрд░реЛрдз рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, kubectl рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп Kubernetes API рдкрд░ HTTP рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рд╣реИ:

рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдХ рдкреВрд░реНрдгрддрдГ рд╕рдВрд╕рд╛рдзрди-рдЙрдиреНрдореБрдЦ рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдФрд░ рд╕рднреА Kubernetes рдСрдкрд░реЗрд╢рди CRUD рдСрдкрд░реЗрд╢рди рд╣реИрдВред
рдЗрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдХреЗ рдЖрдк Kubernetes рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ Kubernetes рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, Kubernetes API рд╕рдВрджрд░реНрдн рдХреЛ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдЙрдирдХреЗ рд╕рдВрдмрджреНрдз рд╕рдВрдЪрд╛рд▓рдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрдЗрдпреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ.
рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдк рдПрдХ ReplicaSet рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк ReplicaSet рдХрд╛ рд╡рд░реНрдгрди рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ replicaset.yaml, рдлрд┐рд░ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
$ kubectl create -f replicaset.yamlрдЗрд╕рд╕реЗ рдПрдХ ReplicaSet рд╕рдВрд╕рд╛рдзрди рдирд┐рд░реНрдорд┐рдд рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?
Kubernetes рдореЗрдВ рдПрдХ ReplicaSet рдмрдирд╛рдиреЗ рдХрд╛ рдСрдкрд░реЗрд╢рди рд╣реИред рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдСрдкрд░реЗрд╢рди рдХреА рддрд░рд╣, рдЗрд╕реЗ API рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ API рдПрдВрдбрдкреЙрдЗрдВрдЯ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИ:
POST /apis/apps/v1/namespaces/{namespace}/replicasetsрд╕рднреА Kubernetes рд╕рдВрдЪрд╛рд▓рдиреЛрдВ рдХреЗ рд▓рд┐рдП API рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдпрд╣рд╛рдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рд╕рд╣рд┐рдд ). рдХрд┐рд╕реА рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ API рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрдереЛрдВ рдореЗрдВ API рд╕рд░реНрд╡рд░ URL рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рдЬрдм рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ kubectl рдЙрдкрд░реЛрдХреНрдд API рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ рдПрдХ HTTP POST рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ ReplicaSet рдкрд░рд┐рднрд╛рд╖рд╛ replicaset.yaml, рдЕрдиреБрд░реЛрдз рдмреЙрдбреА рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ.
рдпрд╣ рд╡рд╣ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ kubectl рдЙрди рд╕рднреА рдХрдорд╛рдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, kubectl рдХреЗрд╡рд▓ рдЙрдкрдпреБрдХреНрдд Kubernetes API рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ HTTP рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Kubernetes рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ curl, Kubernetes API рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ HTTP рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ред Kubectl, Kubernetes API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рдпреЗ рдореВрд▓ рдмрд╛рддреЗрдВ рд╣реИрдВ рдХрд┐ kubectl рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди Kubernetes API рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рдмрд╛рддреЗрдВ рд╣реИрдВ рдЬреЛ рд╣рд░ kubectl рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЖрдЗрдпреЗ Kubernetes рдХреА рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд░ рдбрд╛рд▓реЗрдВред
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреА рдЖрдВрддрд░рд┐рдХ рджреБрдирд┐рдпрд╛
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВред рдХреБрдЫ рдШрдЯрдХ рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдЕрдиреНрдп рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕ рдкрд░, рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдЕрдкрдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдорд╛рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдкрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
- рдХреЛрд╖ тАФ рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ ().
- рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ тАФ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рднрдВрдбрд╛рд░рдг рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред
- рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рдмрдВрдзрдХ - рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕рд╛рдзрди рдХреА рд╕реНрдерд┐рддрд┐ рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛред
- рд╕рдордпрдмрджреНрдзрдХ - рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдбреНрд╕ рдкрд░ рдкреЙрдбреНрд╕ рдХреЛ рд╢реЗрдбреНрдпреВрд▓ рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдпрд╣рд╛рдВ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдбреНрд╕ рдкрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ:
- рдХреБрдмреЗрд▓реЗрдЯ тАФ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдкрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓реЙрдиреНрдЪ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпреЗ рдШрдЯрдХ рдПрдХ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдкрдиреЗ рдЕрднреА-рдЕрднреА kubectl create -f replicaset.yaml, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж kubectl рдиреЗ рдПрдХ HTTP POST рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ (рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд╛ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛).
рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?
- рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж
kubectl create -f replicaset.yamlAPI рд╕рд░реНрд╡рд░ рдЖрдкрдХреЗ ReplicaSet рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣рдг рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ:
- рдЗрд╕рдХреЗ рдмрд╛рдж, рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг, рд╕рдВрд╢реЛрдзрди рдФрд░ рд╡рд┐рд▓реЛрдкрди рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ:

- ReplicaSet рдирд┐рдпрдВрддреНрд░рдХ ReplicaSet рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛ рдмрдирд╛рддрд╛ рд╣реИ (ReplicaSet рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдкреЙрдб рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдЯреЛрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ:

- рд╢реЗрдбреНрдпреВрд▓рд░ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИ, рдЙрди рдкреЙрдбреНрд╕ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрднреА рддрдХ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдХреЛ рдирд╣реАрдВ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ:

- рд╢реЗрдбреНрдпреВрд▓рд░ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ:

- рдЬрд┐рд╕ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдХреЛ рдкреЙрдб рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕ рдкрд░ Kubelet рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдиреЛрдб рдХреЛ рд╕реМрдВрдкреЗ рдЧрдП рдкреЙрдб рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ:

- рдХреНрдпреВрдмрд▓реЗрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗ рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдиреЛрдб рдкрд░ рдХрдВрдЯреЗрдирд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдЬреИрд╕реЗ рдХрдВрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИ:

рдиреАрдЪреЗ рдЗрд╕ рд╡рд┐рд╡рд░рдг рдХрд╛ рдкрд╛рдареНрдп рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рд░реНрдорд╛рдг рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП API рдЕрдиреБрд░реЛрдз рдХреЛ API рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред API рд╕рд░реНрд╡рд░ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдИрд╡реЗрдВрдЯ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рдмрдВрдзрдХ рдХреА рдПрдХ рдЙрдкрдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрдЯреЛрд░ рдореЗрдВ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг, рдЕрджреНрдпрддрди рдФрд░ рд╡рд┐рд▓реЛрдкрди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдИрд╡реЗрдВрдЯ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдХрд╛рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдкреНрд░рддрд┐рдХреГрддрд┐ рдкреЙрдбреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рдореМрдЬреВрдж рд╣реЛред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЕрднреА рддрдХ рдХреЛрдИ рдкреЙрдб рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдЗрди рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ (рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдкреЙрдб рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдХреЛ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдЯреЛрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
рдирдП рдкреЙрдб рдмрдирд╛рдиреЗ рд╕реЗ рдПрдХ рд╢реЗрдбреНрдпреВрд▓рд░ рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЙрди рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд╢реЗрдбреНрдпреВрд▓ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВред рд╢реЗрдбреНрдпреВрд▓рд░ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкреЙрдб рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ, рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд╣реАрдВ рднреА рдХреЛрдИ рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЛрдб рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рдерд╛ред рдЕрдм рддрдХ рдЬреЛ рдХреБрдЫ рднреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, - рдпрд╣ рдорд╛рд╕реНрдЯрд░ рдиреЛрдб рдкрд░ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЕрджреНрдпрддрди рд╣реИред
рдЕрдВрддрд┐рдо рдИрд╡реЗрдВрдЯ Kubelets рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдП рдЧрдП рдкреЙрдбреНрд╕ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЗ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдкреЙрдбреНрд╕ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдХрд░ рдиреЛрдб рдХреЗ рдХреНрдпреВрдмрд▓реЗрдЯ рдХреЛ рдХрдВрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо, рдЬреИрд╕реЗ рдХрд┐ рдбреЙрдХрд░, рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдХрдВрдЯреЗрдирд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдЖрдкрдХрд╛ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрдВрддрддрдГ рдЪрд▓ рд░рд╣рд╛ рд╣реИ!
Kubernetes API рдХреА рднреВрдорд┐рдХрд╛
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦрд╛, Kubernetes рдШрдЯрдХ (API рд╕рд░реНрд╡рд░ рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдирдЬрд╝рд░ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдмрджрд▓рддреЗ рд╣реИрдВред
рдмреЗрд╢рдХ, рдпреЗ рдШрдЯрдХ рд╕реАрдзреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рддреЗ рд╣реИрдВред
рдЖрдЗрдпреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
- рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ API рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде
watchReplicaSet рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП. - рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдирд┐рдпрдВрддреНрд░рдХ API рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдХреНрд░рд┐рдПрдЯ рдкреЙрдб) рдкреЙрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
- рд╢реЗрдбреНрдпреВрд▓рд░ API рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдкреЙрдб рдмрджрд▓реЗрдВ) рдЪрдпрдирд┐рдд рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдиреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдкреЙрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╡рд╣реА API рд╣реИ рдЬрд┐рд╕реЗ kubectl рдПрдХреНрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИред рдЖрдВрддрд░рд┐рдХ рдШрдЯрдХреЛрдВ рдФрд░ рдмрд╛рд╣рд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ Kubernetes рдХреА рдПрдХ рдореМрд▓рд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред
рдЕрдм рд╣рдо рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Kubernetes рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рднрдВрдбрд╛рд░рдг рд╕реНрдерд┐рддрд┐, рдЕрд░реНрдерд╛рдд рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
- рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
- рдЕрдиреНрдп рд╕рднреА Kubernetes рдШрдЯрдХ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Kubernetes рд╕реНрдерд┐рддрд┐ (рд╕рдВрд╕рд╛рдзрдиреЛрдВ) рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ, рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рддреЗ рд╣реИрдВред
рдЗрди рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдЬрд╛рдирдиреЗ рд╕реЗ рдЖрдкрдХреЛ kubectl рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдФрд░ рдЗрд╕рдХрд╛ рдЕрдзрд┐рдХрддрдо рд▓рд╛рдн рдЙрдард╛рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред
рдЕрдм рдЖрдЗрдП рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрд┐рдкреНрд╕ рдФрд░ рдЯреНрд░рд┐рдХреНрд╕ рдкрд░ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдЬреЛ kubectl рдХреЗ рд╕рд╛рде рдЖрдкрдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗред
1. рдХрдорд╛рдВрдб рдХрдореНрдкрд▓реАрд╢рди рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреА рдЧрддрд┐ рдмрдврд╝рд╛рдПрдВ
Kubectl рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА, рдлрд┐рд░ рднреА рдЕрдХреНрд╕рд░ рдЕрдирджреЗрдЦреА рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рд╣реИред
рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдЖрдкрдХреЛ рдЯреИрдм рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ kubectl рдХрдорд╛рдВрдб рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣ рдЙрдк-рдХрдорд╛рдВрдбреЛрдВ, рд╡рд┐рдХрд▓реНрдкреЛрдВ рдФрд░ рддрд░реНрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдирд╛рдо рдЬреИрд╕реЗ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рджреЗрдЦреЗрдВ рдХрд┐ kubectl рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ:

рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ Bash рдФрд░ Zsh рд╢реЗрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреА рд╣реИред
рдЗрд╕рдореЗрдВ рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рджрд┐рдП рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдиреАрдЪреЗ рд╣рдо рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрдВрд╢ рдкреНрд░рджрд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдХрдорд╛рдВрдб рдХрдореНрдкрд▓реАрд╢рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдПрдХ рд╢реЗрд▓ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬреЛ рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдкреВрд░рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдкреВрд░рдХ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИред
Kubectl рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ Bash рдФрд░ Zsh рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрддреНрдкрдиреНрди рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ:
$ kubectl completion bash╨Ш╨╗╨╕:
$ kubectl completion zshрд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ рдмрд╕ рдЗрди рдХрдорд╛рдВрдбреЛрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЙрдЪрд┐рдд рд╢реЗрд▓ рдореЗрдВ рдкрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ kubectl рдХрдорд╛рдВрдбреЛрдВ рдХреЛ рдкреВрд░рдХ рдХрд░ рд╕рдХреЗред
╨Э╨░ ╨┐╤А╨░╨║╤В╨╕╨║╨╡ тАФ ╤Б╨┐╨╛╤Б╨╛╨▒ ╨┐╨╛╨┤╨║╨╗╤О╤З╨╡╨╜╨╕╤П ╨╛╤В╨╗╨╕╤З╨░╨╡╤В╤Б╤П ╨┤╨╗╤П Bash (╨▓╨║╨╗╤О╤З╨░╤П ╤А╨░╨╖╨╗╨╕╤З╨╕╤П ╨╝╨╡╨╢╨┤╤Г Linux ╨╕ MacOS) ╨╕ Zsh. ╨Э╨╕╨╢╨╡ ╨╝╤Л ╤А╨░╤Б╤Б╨╝╨╛╤В╤А╨╕╨╝ ╨▓╤Б╨╡ ╤Н╤В╨╕ ╨▓╨░╤А╨╕╨░╨╜╤В╤Л.
Bash ╨▓ Linux
рдмреИрд╢ рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ bash-completion рдкреИрдХреЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
$ sudo apt-get install bash-completion╨Ш╨╗╨╕:
$ yum install bash-completionрдЖрдк рдирд┐рдореНрди рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреИрдХреЗрдЬ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ:
$ type _init_completion рдпрджрд┐ рдпрд╣ рд╢реЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ bash-completion рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдпрджрд┐ рдХрдорд╛рдВрдб "рдирд╣реАрдВ рдорд┐рд▓рд╛" рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдиреА рд╣реЛрдЧреА ~ / .bashrc:
$ source /usr/share/bash-completion/bash_completion рдХреНрдпрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдпрд╣ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ ~ / .bashrc рдпрд╛ рдирд╣реАрдВ рдпрд╣ рдЙрд╕ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдиреЗ bash-completion рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛ред APT рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, YUM рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
рдПрдХ рдмрд╛рд░ bash-completion рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ kubectl рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рднреА рд╢реЗрд▓ рд╕рддреНрд░реЛрдВ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдирд╛ рд╣реИ ~ / .bashrc:
source <(kubectl completion bash) рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рд╣реИ kubectl рдРрдбрдСрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ /etc/bash_completion.d (рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рддреЛ рдЗрд╕реЗ рдмрдирд╛рдПрдВ):
$ kubectl completion bash >/etc/bash_completion.d/kubectl рдХреИрдЯрд▓реЙрдЧ рдореЗрдВ рд╕рднреА рдРрдб-рдСрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ /etc/bash_completion.d рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ bash-рдкреВрд░реНрдгрддрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рд╣реИрдВред
рд╢реЗрд▓ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, kubectl рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдХрд╛рд░реНрдп рдХрд░реЗрдЧреАред
MacOS рдореЗрдВ рдмреИрд╢
MacOS рдореЗрдВ, рд╕реЗрдЯрдЕрдк рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ MacOS рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ Bash 3.2 рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдФрд░ kubectl рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ Bash 4.1 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ Bash 3.2 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
MacOS рдкрд░ Bash рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рд╕рдВрдмрдВрдзреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИред рдмреИрд╢ рд╕рдВрд╕реНрдХрд░рдг 4 рдХреЛ GPLv3 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИ, рдЬреЛ рдХрд┐ рдПрдкреНрдкрд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
MacOS рдкрд░ kubectl рд╕реНрд╡рддрдГрдкреВрд░реНрдгрддрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ Bash рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЕрдкрдбреЗрдЯреЗрдб рдмреИрд╢ рдХреЛ рдЕрдкрдиреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╢реЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рдиреА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд╡рд┐рд╡рд░рдг рд▓реЗрдЦ рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ "'.
рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк Bash рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ bash --version).
рдмреИрд╢ рд╕реНрд╡рддрдГрдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ , рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЖрдк bash-completion рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :
$ brew install bash-completion@2 рдпрд╣рд╛рдВ @2 kubectl рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП bash-рдкреВрд░реНрдгрддрд╛ v2 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ bash-рдкреВрд░реНрдгрддрд╛ v2 рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо Bash рд╕рдВрд╕реНрдХрд░рдг 2 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ 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рдпрд╣ рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░реЗрдЧреА рдЬрдм рдЖрдкрдиреЗ рд╣реЛрдордмреНрд░реВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреИрд╢-рдХрдореНрдкреНрд▓реАрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реЛред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, bash-completion рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдиреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ , рддреЛ рдЖрдкрдХреЛ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрд╡рддрдГ-рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦреА рдЬрд╛рдПрдЧреА /usr/local/etc/bash_completion.d рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рджреМрд░рд╛рдиред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЬреИрд╕реЗ рд╣реА рдЖрдк bash-completion рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ, kubectl рдкреВрд░реНрдгрддрд╛ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧреАред
рдЕрдВрддрддрдГ рдпреЗ рд╕рднреА рд╡рд┐рдХрд▓реНрдк рд╕рдорд╛рди рд╣реИрдВред
Zsh
Zsh рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрд┐рд╕реА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреАред рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдЕрдкрдирд╛ рд╢реЗрд▓ рдмреВрдЯ рдХрд░реЗрдВ рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕рдХреНрд╖рдо рдХрд░ рджреЗрдВред
рдЖрдк рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдореЗрдВ рдПрдХ рд▓рд╛рдЗрди рдЬреЛрдбрд╝рдХрд░ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ~/.zshrc рдлрд╝рд╛рдЗрд▓:
source <(kubectl completion zsh) рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ not found: compdef рдЕрдкрдиреЗ рд╢реЗрд▓ рдХреЛ рд░реАрдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ compdef. рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрд░рдВрдн рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред ~/.zshrc рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд:
autoload -Uz compinit
compinit2. рд╕рдВрд╕рд╛рдзрди рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рджреЗрдЦреЗрдВ
рдЬрдм рдЖрдк YAML рд╕рдВрд╕рд╛рдзрди рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╝реАрд▓реНрдб рдФрд░ рдЙрдирдХреЗ рдЕрд░реНрде рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рди API рд╕рдВрджрд░реНрдн рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдкреВрд░реНрдг рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рд░ рдмрд╛рд░ рдХреБрдЫ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, kubectl рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ kubectl explain, рдЬреЛ рдЖрдкрдХреЗ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рдЖрджреЗрд╢ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
$ kubectl explain resource[.field]...рдпрд╣ рдХрдорд╛рдВрдб рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рдпрд╛ рдлрд╝реАрд▓реНрдб рдХрд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ред рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА API рдореИрдиреБрдЕрд▓ рдореЗрдВ рджреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИред
╨Я╨╛ ╤Г╨╝╨╛╨╗╤З╨░╨╜╨╕╤О 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.spec3. рдХрд╕реНрдЯрдо рдХреЙрд▓рдо рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рд░реВрдк рд╣реИ 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.
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ Kubernetes рд╕рдВрд╕рд╛рдзрди рдлрд╝реАрд▓реНрдб рдХреЗрд╕ рд╕реЗрдВрд╕рд┐рдЯрд┐рд╡ рд╣реИрдВред
рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдВрд╕рд╛рдзрди рдлрд╝реАрд▓реНрдб рдХреЛ рдХреЙрд▓рдо рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ. рдмрд╕ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рджреЗрдЦреЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдЖрдЬрд╝рдорд╛рдПрдВред
рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдЖрдЗрдП рдХреНрд╖реЗрддреНрд░ рдЪрдпрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред
JSONPath рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ
рд╕рдВрд╕рд╛рдзрди рдлрд╝реАрд▓реНрдб рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рдирд┐рдореНрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ .
JSONPath JSON рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рднрд╛рд╖рд╛ рд╣реИред JSONPath рдХреЗ рд▓рд┐рдП рдПрдХрд▓ рдлрд╝реАрд▓реНрдб рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдХреБрдЫ рд╣реИ , рдЬрд┐рд╕рдореЗрдВ рдЪрдпрдирдХрд░реНрддрд╛, рдлрд╝рд┐рд▓реНрдЯрд░ рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
Kubectl explain рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ 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рдпрджрд┐ рдЖрдкрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреНрд▓рд╛рдЙрдб рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдпрд╣ рдХрдорд╛рдВрдб рдЙрдкрдпреЛрдЧреА рд╣реИред рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░ рдПрдХ рдХреНрд▓рд╛рдЙрдб рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдПрдХ рднреМрдЧреЛрд▓рд┐рдХ рдХреНрд╖реЗрддреНрд░ рддрдХ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓реЗрдмрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - . рдпрджрд┐ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рд▓реЗрдмрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░ рдирд╛рдореЛрдВ рд╕реЗ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдмрд▓ Kubernetes рд╕рдВрд╕рд╛рдзрди рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА . рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк YAML рдпрд╛ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдиреЛрдб рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЙрдиреНрд╣реЗрдВ (рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд▓реЗрдмрд▓ рдХреА рддрд░рд╣) рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
$ kubectl get nodes -o yaml # ╨╕╨╗╨╕ $ kubectl get nodes -o jsonрд╕рдВрд╕рд╛рдзрди рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред
4. рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рдмреАрдЪ рдЖрд╕рд╛рди рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ
рдЬрдм kubectl Kubernetes API рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ kubeconfig рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, kubeconfig рдлрд╝рд╛рдЗрд▓ рд╣реИ ~/.kube/config. рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИред
рдЬрдм рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреА kubeconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрди рд╕рднреА рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реЛрддреА рд╣реИрдВред рдЖрдкрдХреЛ kubectl рдХрдорд╛рдВрдб рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рдХрд┐рд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░, рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдирд╛рдорд╕реНрдерд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рднреМрддрд┐рдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдХреНрд▓рд╕реНрдЯрд░ рд╣реИред Kubectl рдпрд╣ рднреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ kubeconfig рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рд╕ рдирд╛рдорд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ kubectl рдХрдорд╛рдВрдб рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рднреА рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд┐рд╕ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред
рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рд╣рдо рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рднрд╛рд╡реА рдХрд╛рд░реНрдп рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ KUBECONFIG рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдПрдХрд╛рдзрд┐рдХ kubeconfig рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпреЗ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЗрдВ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╡рд┐рд▓рдп рд╣реЛ рдЬрд╛рдПрдВрдЧреАред рдЖрдк рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде kubectl рдЪрд▓рд╛рдХрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ kubeconfig рдлрд╝рд╛рдЗрд▓ рднреА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ --kubeconfig. рджреЗрдЦрдирд╛ .
kubeconfig рдлрд╝рд╛рдЗрд▓реЗрдВ
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ kubeconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ:

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, kubeconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрджрд░реНрднреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╕рдВрджрд░реНрдн рдореЗрдВ рддреАрди рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдХреНрд▓рд╕реНрдЯрд░ тАФ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ API рдХрд╛ URL.
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ - рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓.
- рдирд╛рдорд╕реНрдерд╛рди - рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдирд╛рдорд╕реНрдерд╛рди.
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЖрдкрдХреА kubeconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рддрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдПрдХ рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдо рдмрд╛рдд рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдПрдХрд╛рдзрд┐рдХ рд╕рдВрджрд░реНрдн рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рдирд╛рдорд╕реНрдерд╛рди рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднреЗрджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдРрд╕рд╛ рдмрд╣реБ-рд╕рдВрджрд░реНрдн рд╡рд┐рдиреНрдпрд╛рд╕ рджреБрд░реНрд▓рдн рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ рдХреНрд▓рд╕реНрдЯрд░реЛрдВ рдФрд░ рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ-рд╕реЗ-рдПрдХ рдореИрдкрд┐рдВрдЧ рд╣реЛрддреА рд╣реИред
рдХрд┐рд╕реА рднреА рд╕рдордп, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╡рд░реНрддрдорд╛рди рд╣реЛрддрд╛ рд╣реИ:

рдЬрдм kubectl рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдкрдврд╝рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рд▓реЗрддрд╛ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, kubectl рд╣рд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдЧрд╛ред
рддрджрдиреБрд╕рд╛рд░, рдХрд┐рд╕реА рдЕрдиреНрдп рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ kubeconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рдЕрдм kubectl рдлреЙрдХреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рд╕рдорд╛рди рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрд┐рд╕реА рднрд┐рдиреНрди рдирд╛рдорд╕реНрдерд╛рди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдирд╛рдорд╕реНрдерд╛рди рддрддреНрд╡ рдХрд╛ рдорд╛рди рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛:

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, kubectl рдлреЙрдХреНрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ Prod рдирд╛рдорд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ (рдкрд╣рд▓реЗ Test рдирд╛рдорд╕реНрдерд╛рди рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ kubectl рднреА рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ --cluster, --user, --namespace ╨╕ --context, рдЬреЛ рдЖрдкрдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рддрддреНрд╡реЛрдВ рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА kubeconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред рджреЗрдЦрдирд╛ kubectl options.
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк kubeconfig рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ. рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдкреИрд░рд╛рдореАрдЯрд░реЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред
kubectx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдХреНрд▓рд╕реНрдЯрд░реЛрдВ рдФрд░ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрд┐рддрд╛ред
рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЖрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ kubectx ╨╕ kubens рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдФрд░ рдирд╛рдорд╕реНрдерд╛рди рдХреЛ рдХреНрд░рдорд╢рдГ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЬреИрд╕рд╛ рдХрд┐ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрджрд░реНрдн рд╣реИ, рддреЛ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдмрджрд▓рдирд╛ред
рдЗрди рдЖрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдореВрд▓рддрдГ, рдпреЗ рдХрдорд╛рдВрдб рдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ kubeconfig рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЪрдЯреЛрдмреА рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╣реБрдИ kubectx, рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ
рджреЛрдиреЛрдВ рдХрдорд╛рдВрдб рд╕рдВрджрд░реНрдн рдФрд░ рдирд╛рдорд╕реНрдерд╛рди рдирд╛рдореЛрдВ рдХреА рд╕реНрд╡рддрдГрдкреВрд░реНрдгрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рд╕реЗрдЯ рдЕрдк рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ .
рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ kubectx рд╣реИ . рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ , рдЬрд┐рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред fzf рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб рд╕рдХреНрд╖рдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ 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 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЬрд░реВрд░рдд рд╣реИрдЗрди рдЙрдкрдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП.
рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд╛рдордХ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реЛрдЧреА ╨╕ рдЕрдкрдиреЗ PATH рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП chmod +x. рдЗрд╕рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВрдЧреЗред kubectl ctx ╨╕ kubectl ns.
5. рдСрдЯреЛрдЕрд▓рд┐рдпрд╛рд╕реЗрд╕ рдХреЗ рд╕рд╛рде рдЗрдирдкреБрдЯ рдЫреЛрдЯрд╛ рдХрд░реЗрдВ
рд╢реИрд▓ рдЙрдкрдирд╛рдо рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреА рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЗрд╕рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА kubectl рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 800 рд╢реЙрд░реНрдЯрдХрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ - 800 рдЙрдкрдирд╛рдореЛрдВ рдХреЛ рдХреИрд╕реЗ рдпрд╛рдж рд░рдЦреЗрдВ? рд▓реЗрдХрд┐рди рдЙрди рд╕рднреА рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХ рд╕рд░рд▓ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ, рдЬреЛ рдиреАрдЪреЗ рджреА рдЧрдИ рд╣реИ:

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- kgpooyaml - kubectl рдлрд▓реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ oyaml
- ksysgsvcw - kubectl -n kube-system рдХреЛ svc w рдорд┐рд▓рддрд╛ рд╣реИ
- ksysrmcm -kubectl -n рдХреНрдпреВрдм-рд╕рд┐рд╕реНрдЯрдо рдЖрд░рдПрдо рд╕реЗрдореА
- kgdepallsl - 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 рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реЛрдЧреА GitHub рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ ~/.bashrc рдпрд╛ ~/.zshrc:
source ~/.kubectl_aliasesрд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛, рдЖрдк рдЕрдХреНрд╕рд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдЙрдкрдирд╛рдо рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢рдмреНрдж рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
$ kgpooyaml test-pod-d4b77b989рдпрджрд┐ рдЖрдк kubectl рдХрдорд╛рдВрдб рдкреВрд░реНрдгрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрднрд╡рддрдГ рдЖрдкрдиреЗ рд╕рдВрд╕рд╛рдзрди рдирд╛рдо рдЬреИрд╕реА рдЪреАрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЙрдкрдирд╛рдореЛрдВ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рд╢реНрди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рддреЛ рдЖрдк рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рдХреБрдЫ рд▓рд╛рдн рдЦреЛ рджреЗрдВрдЧреЗред
рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреМрди рд╕рд╛ рд╢реЗрд▓ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
- Zsh рдХреЗ рд▓рд┐рдП, рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рддреБрд░рдВрдд рдХрд╛рдо рдХрд░рддреА рд╣реИред
- рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдмреИрд╢ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рдХреЛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдмреИрд╢ рдореЗрдВ рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛
рдмреИрд╢ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдирд╛рдо рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ (рдЬрдм рднреА рдЖрдк рдЯреИрдм рджрдмрд╛рддреЗ рд╣реИрдВ), рди рдХрд┐ рдЙрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЬрд┐рд╕реЗ рдЙрдкрдирд╛рдо рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдЬреИрд╕реЗ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Zsh рдХрд░рддрд╛ рд╣реИ)ред рдЪреВрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рднреА 800 рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдРрдбрдСрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрдкрдирд╛рдо рдкреВрд░реНрдгрддрд╛ рддрдВрддреНрд░ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ, рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрдорд╛рдВрдб рдХреЗ рдЙрдкрдирд╛рдо рдХреЛ рдкреВрд░реНрдг рдХрд░рддрд╛ рд╣реИ, рддрдерд╛ рдкреВрд░реНрдг рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдгрддрд╛ рд╡рд┐рдХрд▓реНрдк рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдирд╛рдо рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬреЛрдбрд╝ рдкреВрд░реНрдг рдХрдорд╛рдВрдб рдХреЗ рд╕рдорд╛рди рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдЖрдЧреЗ, рдореИрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХрдореНрдкрд▓реАрдЯ-рдЕрд▓рд┐рдпрд╛рд╕ рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рдлрд┐рд░ рд╕рднреА kubectl рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдгрддрд╛ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ . ╨Я╨╛╤Н╤В╨╛╨╝╤Г ╨┐╨╡╤А╨╡╨┤ ╤Г╤Б╤В╨░╨╜╨╛╨▓╨║╨╛╨╣ complete-alias ╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨╛ ╤Г╨▒╨╡╨┤╨╕╤В╤М╤Б╤П, ╤З╤В╨╛ bash-completion ╤Г╤Б╤В╨░╨╜╨╛╨▓╨╗╨╡╨╜. ╨Ш╨╜╤Б╤В╤А╤Г╨║╤Ж╨╕╨╕ ╨┐╨╛ ╤Г╤Б╤В╨░╨╜╨╛╨▓╨║╨╡ ╨▒╤Л╨╗╨╕ ╨┤╨░╨╜╤Л ╤А╨░╨╜╨╡╨╡ ╨┤╨╗╤П Linux ╨╕ MacOS.
MacOS рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯkubectl autocompletion рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рддрд░рд╣, complete-alias Bash 3.2 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ MacOS рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо bash-рдкреВрд░реНрдгрддрд╛ v2 рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (brew install bash-completion@2), рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо Bash 4.1 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ MacOS рдкрд░ рдХрдореНрдкреНрд▓реАрдЯ-рдЕрд▓рд┐рдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ Bash рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЖрдкрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реЛрдЧреА рд╕реЗ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ ~/.bashrc:
source ~/bash_completion.shрд╢реЗрд▓ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
kubectl рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛
рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдПрдХ рд╢реЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ _complete_alias. рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЙрдкрдирд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдирд╛рдо рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдгрддрд╛ рд╕рдВрдХреЗрдд рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдирд╛рдо рд╕реЗ рд╕рдВрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ Bash рдХреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ , рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _complete_alias рдЙрдкрдирд╛рдо рдкреВрд░рдХ рдХреЗ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд░реВрдк рдореЗрдВ.
рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░, рдЖрдЗрдП рдЙрдкрдирд╛рдо k рд▓реЗрдВ, рдЬреЛ kubectl рдХрдорд╛рдВрдб рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _complete_alias рдЗрд╕ рдЙрдкрдирд╛рдо рдХреЗ рд▓рд┐рдП рдкреВрд░рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
$ complete -F _complete_alias k рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рднреА рдЖрдк рдЙрдкрдирд╛рдо k рдХреЛ рд╕реНрд╡рддрдГ рдкреВрд░реНрдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ _complete_alias, рдЬреЛ рдЙрдкрдирд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдгрддрд╛ рд╕рдВрдХреЗрдд рд▓реМрдЯрд╛рддрд╛ рд╣реИ kubectl.
рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдЗрдП рдПрдХ рдЙрдкрдирд╛рдо рд▓реЗрдВ kg, рдорддрд▓рдм kubectl get:
$ complete -F _complete_alias kg рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреА рддрд░рд╣, рдЬрдм рдЖрдк 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 kubectl рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧреАред
6. рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕рд╛рде kubectl рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛
рд╕реЗ рд╢реБрд░реВ , kubectl рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ , рдЬреЛ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ , рддреЛ kubectl рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЙрд╕реА рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рд╣рдо рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдЙрдиреНрд╣реЗрдВ рдХрд╣рд╛рдВ рдЦреЛрдЬреЗрдВ, рддрдерд╛ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкреНрд▓рдЧрдЗрди рдХреИрд╕реЗ рдмрдирд╛рдПрдВред
рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
Kubectl рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕рд░рд▓ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдирд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ kubectl-x. рдЙрдкрд╕рд░реНрдЧ kubectl- рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдирдпрд╛ kubectl рдЙрдкрдХрдорд╛рдВрдб рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реИрд▓реЛ рдкреНрд▓рдЧрдЗрди рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ kubectl-hello.
рдкреНрд▓рдЧрдЗрди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ kubectl-x рдЕрдкрдиреЗ PATH рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдВ рдФрд░ рдЙрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП chmod +x. рдЗрд╕рдХреЗ рдареАрдХ рдмрд╛рдж рдЖрдк рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ kubectl x.
рдЖрдк рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$ kubectl plugin listрдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рдПрдХрд╛рдзрд┐рдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВ, рдпрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкреНрд▓рдЧрдЗрди рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдХрдорд╛рдВрдб рдЪреЗрддрд╛рд╡рдиреА рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
Krew рдХреЗ рд╕рд╛рде рдкреНрд▓рдЧрдЗрдиреНрд╕ рдвреВрдБрдврдирд╛ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛
Kubectl рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬреЛрдВ рдХреА рддрд░рд╣ рд╕рд╛рдЭрд╛ рдФрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рджреВрд╕рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╣рд╛рдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп kubectl рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ, рдЦреЛрдЬрдиреЗ, рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреАрдХреГрдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЦреБрдж рдХреЛ "kubectl рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ" рдХрд╣рддреА рд╣реИ (Krew рдХреЗ рд╕рдорд╛рди рд╣реИ ).
Krew kubectl рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рде рд╣реА, Krew 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>рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ Krew рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдорд╛рдирдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрджреЗрд╢ kubectl krew list рдХреЗрд╡рд▓ рдЙрди рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ Krew рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдереЗ, рдЬрдмрдХрд┐ рдХрдорд╛рдВрдб kubectl plugin list рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдЬреЛ Krew рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рдЬреЛ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдЕрдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЦреЛрдЬреЗрдВ
рдХреНрд░реЗрдЙ рдПрдХ рдпреБрд╡рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рд╕рдордп рдЕрдкрдиреЗ рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рд▓рдЧрднрдЧ 30 рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд╣ рдкреНрд▓рдЧрдЗрди рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЕрдиреНрдпрддреНрд░, рдЬреИрд╕реЗ рдХрд┐ GitHub, рд╕реЗ рдкреНрд▓рдЧрдЗрди рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ GitHub рдЕрдиреБрднрд╛рдЧ рджреЗрдЦрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ . рд╡рд╣рд╛рдВ рдЖрдкрдХреЛ рдХрдИ рджрд░реНрдЬрди рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЙрдкрд▓рдмреНрдз рдорд┐рд▓реЗрдВрдЧреЗ рдЬреЛ рдЬрд╛рдВрдЪрдиреЗ рд▓рд╛рдпрдХ рд╣реИрдВред
рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦрдирд╛
рдЖрдк рд╕реНрд╡рдпрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд╣ рдХрд░реЗ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдирд╛рдо рджреЗрдВ kubectl-x рдФрд░ рдКрдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рдлрд╝рд╛рдЗрд▓ рдПрдХ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдПрдХ рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдпрд╛ рдПрдХ рд╕рдВрдХрд▓рд┐рдд рдЧреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИ - рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рдПрдХрдорд╛рддреНрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕реАрдзреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдЖрдЗрдпреЗ рдЕрднреА рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдПрдВред рдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдЖрдкрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдб рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП kubectl рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред рдЖрдк рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 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 рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ . рдпрджрд┐ рдЖрдк Go рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ kubectl рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИред
рдЕрдкрдиреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреИрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ
рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдмреЗрдЭрд┐рдЭрдХ рдЗрд╕реЗ GitHub рдкрд░ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╖рдп рдореЗрдВ рдЕрд╡рд╢реНрдп рдЬреЛрдбрд╝реЗрдВред .
рдЖрдк рдЕрдкрдиреЗ рдкреНрд▓рдЧрдЗрди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ . рдРрд╕рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ .
рдЖрджреЗрд╢ рдкреВрд░реНрдгрддрд╛
рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрд╡рддрдГрдкреВрд░реНрдгрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рдЖрдкрдХреЛ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рдФрд░ рддрд░реНрдХреЛрдВ рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ kubectl рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИ . рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрднреА рднреА рд▓рд╛рдЧреВ рдХреА рдЬрд╛рдПрдЧреАред
рд╢реБрднрдХрд╛рдордирд╛рдПрдБ !!!
рд╡рд┐рд╖рдп рдкрд░ рдФрд░ рдХреНрдпрд╛ рдкрдврд╝рдирд╛ рд╣реИ:
- .
- .
- .
рд╕реНрд░реЛрдд: www.habr.com







