
рдЬрд░ рддреБрдореНрд╣реА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рдд рдЕрд╕рд╛рд▓, рддрд░ рдХреБрдмреЗрдХреНрдЯрд▓ рд╣реА рдХрджрд╛рдЪрд┐рдд рддреБрдордЪреНрдпрд╛ рд╕рд░реНрд╡рд╛рдд рдЬрд╛рд╕реНрдд рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд▒реНрдпрд╛ рдЙрдкрдпреБрдХреНрддрддрд╛рдВрдкреИрдХреА рдПрдХ рдЕрд╕реЗрд▓. рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдПрдЦрд╛рджреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд╛рдзрдирд╛рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдд рдмрд░рд╛рдЪ рд╡реЗрд│ рдШрд╛рд▓рд╡рддрд╛ рддреЗрд╡реНрд╣рд╛ рддреЗ рдкреВрд░реНрдгрдкрдгреЗ рд╢рд┐рдХрдгреЗ рдЖрдгрд┐ рддреЗ рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рд╣реЗ рд╢рд┐рдХрдгреЗ рдлрд╛рдпрджреЗрд╢реАрд░ рдЖрд╣реЗ.
рд╕рдВрдШ рдореА рдбреЕрдирд┐рдпрд▓ рд╡реЗрдмреЗрд▓ рдпрд╛рдВрдЪреНрдпрд╛ рдПрдХрд╛ рд▓реЗрдЦрд╛рдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ kubectl рд╕реЛрдмрдд рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЯрд┐рдкреНрд╕ рдЖрдгрд┐ рдпреБрдХреНрддреНрдпрд╛ рджрд┐рд▓реНрдпрд╛ рдЖрд╣реЗрдд. рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ Kubernetes рдЪреА рд╕рдЦреЛрд▓ рд╕рдордЬ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рдд рджреЗрдЦреАрд▓ рдорджрдд рдХрд░реЗрд▓.
рд▓реЗрдЦрдХрд╛рдЪреНрдпрд╛ рдорддреЗ, рдпрд╛ рд▓реЗрдЦрд╛рдЪреЗ рдЙрджреНрджрд┐рд╖реНрдЯ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕рд╣ рддреБрдордЪреЗ рджреИрдирдВрджрд┐рди рдХрд╛рдо рдХреЗрд╡рд│ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдордЪ рдирд╛рд╣реА рддрд░ рдЕрдзрд┐рдХ рдЖрдирдВрджрджрд╛рдпреА рдмрдирд╡рдгреЗ рдЖрд╣реЗ!
рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛: рдХреНрдпреВрдмреЗрдХреНрдЯрд▓ рдореНрд╣рдгрдЬреЗ рдХрд╛рдп?
рдХреБрдмреЗрдХреНрдЯрд▓ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рд╣реЗ рд╢рд┐рдХрдгреНрдпрд╛рдкреВрд░реНрд╡реА, рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдХрд╛рдп рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдЪреА рдореВрд▓рднреВрдд рд╕рдордЬ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди, kubectl рд╣реЗ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рдкреЕрдиреЗрд▓ рдЖрд╣реЗ рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ Kubernetes рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.
рддрд╛рдВрддреНрд░рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛, kubectl рд╣рд╛ рдПрдХ Kubernetes API рдХреНрд▓рд╛рдпрдВрдЯ рдЖрд╣реЗ.
рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдп рд╣рд╛ рдПрдХ HTTP REST рдПрдкреАрдЖрдп рдЖрд╣реЗ. рд╣рд╛ рдПрдкреАрдЖрдп рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рд╕рд╛рдареА рдЦрд░рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрд╣реЗ, рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рддреЗ рдкреВрд░реНрдгрдкрдгреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдСрдкрд░реЗрд╢рди рдПрдкреАрдЖрдп рдПрдВрдбрдкреЙрдЗрдВрдЯ рдореНрд╣рдгреВрди рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рдпрд╛ рдПрдВрдбрдкреЙрдЗрдВрдЯрд╡рд░ HTTP рд╡рд┐рдирдВрддреАрджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
рдореНрд╣рдгреВрди, kubectl рдЪреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдореНрд╣рдгрдЬреЗ Kubernetes API рд▓рд╛ HTTP рд╡рд┐рдирдВрддреНрдпрд╛ рдХрд░рдгреЗ:

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

- рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯрдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдХреГрддреАрд╕рд╛рдареА рдкреЙрдб рд╡реНрдпрд╛рдЦреНрдпрд╛ рддрдпрд╛рд░ рдХрд░рддреЛ (рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╡реНрдпрд╛рдЦреНрдпреЗрддреАрд▓ рдкреЙрдб рдЯреЗрдореНрдкрд▓реЗрдЯрдиреБрд╕рд╛рд░) рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд╕реНрдЯреЛрдЕрд░рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЛ:

- рд╢реЗрдбреНрдпреБрд▓рд░ рд╕реБрд░реВ рд╣реЛрддреЛ, рдкреЙрдбреНрд╕рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЛ рдЬреЗ рдЕрджреНрдпрд╛рдк рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд░реНрдХрд░ рдиреЛрдбрд▓рд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реАрдд:

- рд╢реЗрдбреНрдпреБрд▓рд░ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдбрд╕рд╛рдареА рдпреЛрдЧреНрдп рд╡рд░реНрдХрд░ рдиреЛрдб рдирд┐рд╡рдбрддреЛ рдЖрдгрд┐ рд╕реНрдЯреЛрд░реЗрдЬрдордзреАрд▓ рдкреЙрдб рдбреЗрдлрд┐рдиреЗрд╢рдирдордзреНрдпреЗ рд╣реА рдорд╛рд╣рд┐рддреА рдЬреЛрдбрддреЛ:

- рдЬреНрдпрд╛ рд╡рд░реНрдХрд░ рдиреЛрдбрд▓рд╛ рдкреЙрдб рдирд┐рдпреБрдХреНрдд рдХреЗрд▓рд╛ рдЖрд╣реЗ, рддреНрдпрд╛рд╡рд░ рдХреБрдмрд▓реЗрдЯ рд▓рд╛рдБрдЪ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рддреНрдпрд╛ рдиреЛрдбрд▓рд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреЙрдбреНрд╕рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ:

- рдХреБрдмрд▓реЗрдЯ рд░рд┐рдкреЙрдЭрд┐рдЯрд░реАрдордзреВрди рдкреЙрдб рдбреЗрдлрд┐рдиреЗрд╢рди рд╡рд╛рдЪрддреЗ рдЖрдгрд┐ рдиреЛрдбрд╡рд░ рдХрдВрдЯреЗрдирд░ рд▓рд╛рдБрдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреЙрдХрд░ рд╕рд╛рд░рдЦреНрдпрд╛ рдХрдВрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдорд▓рд╛ рдХрдорд╛рдВрдб рдЬрд╛рд░реА рдХрд░рддреЗ:

рдЦрд╛рд▓реА рдпрд╛ рд╡рд░реНрдгрдирд╛рдЪреА рдордЬрдХреВрд░ рдЖрд╡реГрддреНрддреА рдЖрд╣реЗ.
рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдХреНрд░рд┐рдПрд╢рди рдПрдВрдбрдкреЙрдЗрдВрдЯрд▓рд╛ API рд╡рд┐рдирдВрддреА API рд╕рд░реНрд╡реНрд╣рд░рджреНрд╡рд╛рд░реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ. API рд╕рд░реНрд╡реНрд╣рд░ рд╡рд┐рдирдВрддреАрдЪреЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░рддреЛ рдЖрдгрд┐ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд░рд┐рд╕реЛрд░реНрд╕ рдбреЗрдлрд┐рдиреЗрд╢рди рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рд╕рд╛рдард╡рддреЛ.
рдпрд╛ рдЗрд╡реНрд╣реЗрдВрдЯрдореБрд│реЗ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реБрд░реВ рд╣реЛрддреЛ, рдЬреЛ рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЕрдиреЗрдЬрд░рдЪрд╛ рдПрдХ рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ рдЖрд╣реЗ. рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реНрдЯреЛрд░реЗрдЬрдордзреАрд▓ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд░рд┐рд╕реЛрд░реНрд╕реЗрд╕рдЪреА рдирд┐рд░реНрдорд┐рддреА, рдЕрдкрдбреЗрдЯ рдЖрдгрд┐ рдбрд┐рд▓реАрдЯреЗрд╢рдирдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЛ рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рдЕрд╕реЗ рдШрдбрддреЗ рддреЗрд╡реНрд╣рд╛ рдЗрд╡реНрд╣реЗрдВрдЯ рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЛ.
рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░рдЪреЗ рдХрд╛рдо рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпреЗрдиреЗ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдкреЙрдбреНрд╕ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЖрд╣реЗрдд рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреЗ рдЖрд╣реЗ. рдЖрдордЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдЕрджреНрдпрд╛рдк рдХреЛрдгрддреЗрд╣реА рдкреЙрдбреНрд╕ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдирд╛рд╣реАрдд, рдореНрд╣рдгреВрди рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдпрд╛ рдкреЙрдб рд╡реНрдпрд╛рдЦреНрдпрд╛ рддрдпрд╛рд░ рдХрд░рддреЛ (рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╡реНрдпрд╛рдЦреНрдпреЗрддреАрд▓ рдкреЙрдб рдЯреЗрдореНрдкрд▓реЗрдЯрдиреБрд╕рд╛рд░) рдЖрдгрд┐ рддреНрдпрд╛ рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рд╕рд╛рдард╡рддреЛ.
рдирд╡реАрди рдкреЙрдбреНрд╕ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛рдиреЗ рд╢реЗрдбреНрдпреБрд▓рд░ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреЛ, рдЬреЛ рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕рд╡рд░ рдЕрджреНрдпрд╛рдк рд╢реЗрдбреНрдпреВрд▓ рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреЙрдб рд╡реНрдпрд╛рдЦреНрдпрд╛рдВрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЛ. рд╢реЗрдбреНрдпреБрд▓рд░ рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдбрд╕рд╛рдареА рдпреЛрдЧреНрдп рд╡рд░реНрдХрд░ рдиреЛрдб рдирд┐рд╡рдбрддреЛ рдЖрдгрд┐ рд░рд┐рдкреЙрдЭрд┐рдЯрд░реАрдордзреНрдпреЗ рдкреЙрдб рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЛ.
рд▓рдХреНрд╖рд╛рдд рдШреНрдпрд╛ рдХреА рдЖрддрд╛рдкрд░реНрдпрдВрдд, рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдХреБрдареЗрд╣реА рд╡рд░реНрдХрд▓реЛрдб рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдирд╛рд╣реА. рдЖрддрд╛рдкрд░реНрдпрдВрдд рдЬреЗ рдХрд╛рд╣реА рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, - рд╣реЗ рдорд╛рд╕реНрдЯрд░ рдиреЛрдбрд╡рд░реАрд▓ рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреА рдирд┐рд░реНрдорд┐рддреА рдЖрдгрд┐ рдЕрджреНрдпрддрди рдЖрд╣реЗ.
рд╢реЗрд╡рдЯрдЪрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреБрдмрд▓реЗрдЯрд▓рд╛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреЛ, рдЬреЛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕рд╕рд╛рдареА рд╢реЗрдбреНрдпреВрд▓ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреЙрдбреНрд╕рдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЛ. рдЬреНрдпрд╛ рд╡рд░реНрдХрд░ рдиреЛрдбрд╡рд░ рддреБрдордЪреЗ рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдкреЙрдбреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗрдд рддреНрдпрд╛ рдХреБрдмрд▓реЗрдЯрдиреЗ рдХрдВрдЯреЗрдирд░ рд░рдирдЯрд╛рдЗрдо, рдЬрд╕реЗ рдХреА рдбреЙрдХрд░, рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рддреНрдпрд╛ рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.
рдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, рддреБрдордЪрд╛ ReplicaSet рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдЦреЗрд░ рдЪрд╛рд▓реВ рд╣реЛрдд рдЖрд╣реЗ!
рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдпрдЪреА рднреВрдорд┐рдХрд╛
рддреБрдореНрд╣реА рдорд╛рдЧреАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдд рдкрд╛рд╣рд┐рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдШрдЯрдХ (API рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ рд╕реНрдЯреЛрд░реЗрдЬ рд╡рдЧрд│рддрд╛) рд╕реНрдЯреЛрд░реЗрдЬрдордзреАрд▓ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреАрд▓ рдмрджрд▓рд╛рдВрд╡рд░ рд▓рдХреНрд╖ рдареЗрд╡рддрд╛рдд рдЖрдгрд┐ рд╕реНрдЯреЛрд░реЗрдЬрдордзреАрд▓ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рд╕реБрдзрд╛рд░рд┐рдд рдХрд░рддрд╛рдд.
рдЕрд░реНрдерд╛рдд, рд╣реЗ рдШрдЯрдХ рд╕реНрдЯреЛрд░реЗрдЬрд╢реА рдереЗрдЯ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдд рдирд╛рд╣реАрдд, рддрд░ рдлрдХреНрдд рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдПрдкреАрдЖрдп рджреНрд╡рд╛рд░реЗ.
рдЪрд▓рд╛ рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдгреЗ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдКрдпрд╛.:
- рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ API рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╡рд╛рдкрд░рддреЛ рдкреЕрд░рд╛рдореАрдЯрд░рд╕рд╣
watchрд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреАрд▓ рдмрджрд▓рд╛рдВрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. - рд░реЗрдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ API рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╡рд╛рдкрд░рддреЛ (рдкреЙрдб рддрдпрд╛рд░ рдХрд░рд╛) рдкреЙрдб рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА.
- рд╢реЗрдбреНрдпреБрд▓рд░ API рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╡рд╛рдкрд░рддреЛ. (рдкреЙрдб рдмрджрд▓рд╛) рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рд╡рд░реНрдХрд░ рдиреЛрдбрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреАрд╕рд╣ рдкреЙрдбреНрд╕ рдЕрдкрдбреЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА.
рддреБрдореНрд╣реА рдмрдШреВ рд╢рдХрддрд╛ рдХреА, рд╣реЗ рддреЗрдЪ API рдЖрд╣реЗ рдЬреЗ kubectl рдЕреЕрдХреНрд╕реЗрд╕ рдХрд░рддреЗ. рдЕрдВрддрд░реНрдЧрдд рдШрдЯрдХ рдЖрдгрд┐ рдмрд╛рд╣реНрдп рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рд╕рдорд╛рди API рд╡рд╛рдкрд░рдгреЗ рд╣реА Kubernetes рдЪреА рдореВрд▓рднреВрдд рдбрд┐рдЭрд╛рдЗрди рд╕рдВрдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ.
рдЖрддрд╛ рдЖрдкрдг рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рддреЗ рдереЛрдбрдХреНрдпрд╛рдд рд╕рд╛рдВрдЧреВ рд╢рдХрддреЛ:
- рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рд░рд╛рдЬреНрдп, рдореНрд╣рдгрдЬреЗрдЪ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрдиреЗ рд╕рд╛рдард╡рд▓реА рдЬрд╛рддрд╛рдд.
- API рд╕рд░реНрд╡реНрд╣рд░ рд╕реНрдЯреЛрд░реЗрдЬрд▓рд╛ Kubernetes API рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдПрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреЛ.
- рдЗрддрд░ рд╕рд░реНрд╡ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдШрдЯрдХ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреЗ API рджреНрд╡рд╛рд░реЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕реНрдерд┐рддреА (рд╕рдВрд╕рд╛рдзрдиреЗ) рд╡рд╛рдЪрддрд╛рдд, рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддрд╛рдд рдЖрдгрд┐ рд╣рд╛рддрд╛рд│рддрд╛рдд.
рдпрд╛ рд╕рдВрдХрд▓реНрдкрдирд╛ рдЬрд╛рдгреВрди рдШреЗрддрд▓реНрдпрд╛рдиреЗ рддреБрдореНрд╣рд╛рд▓рд╛ kubectl рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреЗрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдЪрд╛ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдлрд╛рдпрджрд╛ рдШреЗрддрд╛ рдпреЗрдИрд▓.
рдЖрддрд╛ рдЖрдкрдг рдХрд╛рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрд┐рдкреНрд╕ рдЖрдгрд┐ рдпреБрдХреНрддреНрдпрд╛ рдкрд╛рд╣реВ рдЬреНрдпрд╛ kubectl рд╕рд╣ рддреБрдордЪреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рддреАрд▓.
рез. рдХрдорд╛рдВрдб рдкреВрд░реНрдг рдХрд░реВрди рдЯрд╛рдпрдкрд┐рдВрдЧрдЪрд╛ рд╡реЗрдЧ рд╡рд╛рдврд╡рд╛
рдХреНрдпреБрдмреЗрдХреНрдЯрд▓ рдЙрддреНрдкрд╛рджрдХрддрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡рд╛рдд рдЙрдкрдпреБрдХреНрдд, рддрд░реАрд╣реА рдЕрдиреЗрдХрджрд╛ рджреБрд░реНрд▓рдХреНрд╖рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рддрдВрддреНрд░рд╛рдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ рдХрдорд╛рдВрдб рдкреВрд░реНрдг рдХрд░рдгреЗ.
рдХрдорд╛рдВрдб рдкреВрд░реНрдг рдХреЗрд▓реНрдпрд╛рдиреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЯреЕрдм рдХреА рд╡рд╛рдкрд░реВрди kubectl рдХрдорд╛рдВрдбрдЪреЗ рд╡реИрдпрдХреНрддрд┐рдХ рднрд╛рдЧ рдЖрдкреЛрдЖрдк рдкреВрд░реНрдг рдХрд░рддрд╛ рдпреЗрддрд╛рдд. рд╣реЗ рд╕рдмрдХрдорд╛рдВрдб, рдкрд░реНрдпрд╛рдп рдЖрдгрд┐ рдпреБрдХреНрддрд┐рд╡рд╛рджрд╛рдВрд╕рд╛рдареА рдХрд╛рдо рдХрд░рддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд░рд┐рд╕реЛрд░реНрд╕ рдиреЗрдореНрд╕ рд╕рд╛рд░рдЦреНрдпрд╛ рдЬрдЯрд┐рд▓ рдЧреЛрд╖реНрдЯреАрдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ.
kubectl рдХрдорд╛рдВрдб рдкреВрд░реНрдг рдХрд░рдгреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рддреЗ рдкрд╣рд╛:

рдХрдорд╛рдВрдб рдХрдореНрдкреНрд▓реАрд╢рди рдмреЕрд╢ рдЖрдгрд┐ рдЭреЗрдбрдПрд╕рдПрдЪ рд╢реЗрд▓реНрд╕рд╕рд╛рдареА рдХрд╛рдо рдХрд░рддреЗ.
рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╕реВрдЪрдирд╛ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдЦрд╛рд▓реА рдЖрдореНрд╣реА рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддрд╛рд░рд╛ рджреЗрддреЛ.
рдХрдорд╛рдВрдб рдкреВрд░реНрдг рдХрд░рдгреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ
рдХрдорд╛рдВрдб рдХрдореНрдкреНрд▓реАрд╢рди рд╣реЗ рдПрдХ рд╢реЗрд▓ рдлреАрдЪрд░ рдЖрд╣реЗ рдЬреЗ рдХрдореНрдкреНрд▓реАрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рдкрд░реВрди рдХрд╛рдо рдХрд░рддреЗ. рдХрдореНрдкреНрд▓реАрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реА рдПрдХ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрд╣реЗ рдЬреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд╛рдВрдбрд╕рд╛рдареА рдХрдореНрдкреНрд▓реАрд╢рди рд╡рд░реНрддрди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ.
рдХреБрдмреЗрдХреНрдЯрд▓ рдЦрд╛рд▓реАрд▓ рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВрди рдмреЕрд╢ рдЖрдгрд┐ рдЭреЗрдбрдПрд╕рдПрдЪрд╕рд╛рдареА рдХрдореНрдкреНрд▓реАрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рддрдпрд╛рд░ рдХрд░рддреЗ рдЖрдгрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ:
$ kubectl completion bashрдХрд┐рдВрд╡рд╛:
$ kubectl completion zshрд╕рд┐рджреНрдзрд╛рдВрддрд╛рдиреБрд╕рд╛рд░, рдпрд╛ рдХрдорд╛рдВрдбрдЪреЗ рдЖрдЙрдЯрдкреБрдЯ рдпреЛрдЧреНрдп рдХрдорд╛рдВрдб рд╢реЗрд▓рдордзреНрдпреЗ рдкрд╛рдИрдк рдХрд░рдгреЗ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди kubectl рдХрдорд╛рдВрдб рдкреВрд░реНрдг рдХрд░реВ рд╢рдХреЗрд▓.
рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд, рдмреЕрд╢рд╕рд╛рдареА рдХрдиреЗрдХреНрд╢рди рдкрджреНрдзрдд рд╡реЗрдЧрд│реА рдЕрд╕рддреЗ (рдпрд╛рддреАрд▓ рдлрд░рдХрд╛рдВрд╕рд╣рд┐рдд) Linux рдЖрдгрд┐ MacOS) рдЖрдгрд┐ Zsh. рдЖрдореНрд╣реА рдЦрд╛рд▓реА рдпрд╛ рд╕рд░реНрд╡ рдкрд░реНрдпрд╛рдпрд╛рдВрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рджреЗрдК.
рдорд╛рд░рд╛ Linux
рдмреЕрд╢ рдХрдореНрдкреНрд▓реАрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреЕрд╢-рдХрдореНрдкреНрд▓реАрд╢рди рдкреЕрдХреЗрдЬрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ, рдореНрд╣рдгреВрди рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдкреНрд░рдердо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓:
$ sudo apt-get install bash-completionрдХрд┐рдВрд╡рд╛:
$ yum install bash-completionрдЦрд╛рд▓реАрд▓ рдЖрджреЗрд╢ рд╡рд╛рдкрд░реВрди рдкреЕрдХреЗрдЬ рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдЭрд╛рд▓реЗ рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рд╣реЗ рддреБрдореНрд╣реА рддрдкрд╛рд╕реВ рд╢рдХрддрд╛:
$ type _init_completion рдЬрд░ рд╣реЗ рд╢реЗрд▓ рдлрдВрдХреНрд╢рди рдХреЛрдб рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдд рдЕрд╕реЗрд▓, рддрд░ bash-completion рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ. рдЬрд░ рдХрдорд╛рдВрдб "Not found" рдПрд░рд░ рдкрд░рдд рдХрд░рдд рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ рдлрд╛рдИрд▓рдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рдУрд│ рдЬреЛрдбрд╛рд╡реА рд▓рд╛рдЧреЗрд▓. ~ / .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 рдмреЕрд╢-рдХрдВрдкреНрд▓реАрд╢рдирдордзреНрдпреЗ рдЖрдкреЛрдЖрдк рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.
рджреЛрдиреНрд╣реА рдкрд░реНрдпрд╛рдп рддрд┐рддрдХреЗрдЪ рд▓рд╛рдЧреВ рдЖрд╣реЗрдд.
рд╢реЗрд▓ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, kubectl рдХрдорд╛рдВрдб рдкреВрд░реНрдг рдХрд░рдгреЗ рдХрд╛рд░реНрдп рдХрд░реЗрд▓.
MacOS рд╡рд░ рдмреЕрд╢ рдХрд░рд╛
macOS рд╡рд░, рд╕реЗрдЯрдЕрдк рдереЛрдбреЗ рдЕрдзрд┐рдХ рдХреНрд▓рд┐рд╖реНрдЯ рдЖрд╣реЗ. рдХрд╛рд░рдг macOS рдбрд┐рдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ Bash 3.2 рд╡рд╛рдкрд░рддреЗ рдЖрдгрд┐ kubectl рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓рд╛ Bash 4.1 рдХрд┐рдВрд╡рд╛ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддреАрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ рдЖрдгрд┐ Bash 3.2 рд╡рд░ рддреЗ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА.
MacOS рд╡рд░ Bash рдЪреНрдпрд╛ рдЬреБрдиреНрдпрд╛ рдЖрд╡реГрддреНрддреАрдЪрд╛ рд╡рд╛рдкрд░ рдкрд░рд╡рд╛рдирд╛ рд╕рдорд╕реНрдпрд╛рдВрдореБрд│реЗ рд╣реЛрдд рдЖрд╣реЗ. Bash рдЖрд╡реГрддреНрддреА рек рд╣реА GPLv3 рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд рдЖрд╣реЗ, рдЬреНрдпрд╛рд▓рд╛ Apple рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реА.
macOS рд╡рд░ kubectl рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ Bash рдЪреА рдЕрд▓реАрдХрдбреАрд▓ рдЖрд╡реГрддреНрддреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рд╡реА рд▓рд╛рдЧреЗрд▓. рддреБрдореНрд╣реА рдЕрдкрдбреЗрдЯреЗрдб Bash рд▓рд╛ рдбреАрдлреЙрд▓реНрдЯ рд╢реЗрд▓ рдореНрд╣рдгреВрди рджреЗрдЦреАрд▓ рд╕реЗрдЯ рдХрд░реВ рд╢рдХрддрд╛, рдЬреЗ рднрд╡рд┐рд╖реНрдпрд╛рдд рддреБрдореНрд╣рд╛рд▓рд╛ рдЦреВрдк рддреНрд░рд╛рд╕ рд╡рд╛рдЪрд╡реЗрд▓. рд╣реЗ рд╕реЛрдкреЗ рдЖрд╣реЗ; рддрдкрд╢реАрд▓ "" рд▓реЗрдЦрд╛рдд рджрд┐рд▓реЗ рдЖрд╣реЗрдд.┬╗.
рдкреБрдвреЗ рдЬрд╛рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рддреБрдореНрд╣реА рдмреЕрд╢рдЪреА рдЕрд▓реАрдХрдбреАрд▓ рдЖрд╡реГрддреНрддреА рд╡рд╛рдкрд░рдд рдЖрд╣рд╛рдд рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛ (рдЖрдЙрдЯрдкреБрдЯ рддрдкрд╛рд╕рд╛ bash --version).
рдмреЕрд╢ рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╣реЗ. , рдореНрд╣рдгреВрди рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдкреНрд░рдердо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.
рддреБрдореНрд╣реА bash-completion рд╡рд╛рдкрд░реВрди рдЗрдиреНрд╕реНрдЯреЙрд▓ рдХрд░реВ рд╢рдХрддрд╛ :
$ brew install bash-completion@2 рддреЛ рдЖрд╣реЗ @2 рдореНрд╣рдгрдЬреЗ рдмреЕрд╢-рдХрдВрдкреНрд▓реАрд╢рди рд╡реНрд╣рд░реНрдЬрди реи. kubectl рдХрдореНрдкреНрд▓реАрд╢рдирд╕рд╛рдареА рдмреЕрд╢-рдХрдВрдкреНрд▓реАрд╢рди v2 рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рдмреЕрд╢-рдХрдВрдкреНрд▓реАрд╢рди v2 рд▓рд╛ рдХрдореАрдд рдХрдореА рдмреЕрд╢ рд╡реНрд╣рд░реНрдЬрди рек.рез рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ 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 рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рджрд░рдореНрдпрд╛рди. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рддреБрдореНрд╣реА bash-completion рдЗрдиреНрд╕реНрдЯреЙрд▓ рдХрд░рддрд╛рдЪ kubectl рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХрд░реЗрд▓.
рд╢реЗрд╡рдЯреА, рд╣реЗ рд╕рд░реНрд╡ рдкрд░реНрдпрд╛рдп рд╕рдорддреБрд▓реНрдп рдЖрд╣реЗрдд.
zsh
Zsh рдЪреНрдпрд╛ рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕рдирд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡рд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рд╢реЗрд▓ рд╕реБрд░реВ рдХрд░рддрд╛рдирд╛ рддреНрдпрд╛рдВрдирд╛ рд╕рдХреНрд╖рдо рдХрд░рд╛рдпрдЪреЗ рдЖрд╣реЗ.
рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдордзреНрдпреЗ рдПрдХ рдУрд│ рдЬреЛрдбреВрди рд╣реЗ рдХрд░реВ рд╢рдХрддрд╛ ~/.zshrc рдлрд╛рдЗрд▓:
source <(kubectl completion zsh) рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдПрд░рд░ рдЖрд▓реА рддрд░ not found: compdef рддреБрдордЪрд╛ рд╢реЗрд▓ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рддреБрдореНрд╣рд╛рд▓рд╛ рдмрд┐рд▓реНрдЯ-рдЗрди рдлрдВрдХреНрд╢рди рд╕рдХреНрд╖рдо рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ compdef. рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдлрд╛рдИрд▓рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рддреЗ рдЬреЛрдбреВрди рддреЗ рд╕рдХреНрд╖рдо рдХрд░реВ рд╢рдХрддрд╛. ~/.zshrc рдкреБрдвреАрд▓:
autoload -Uz compinit
compinitреи. рд╕рдВрд╕рд╛рдзрди рддрдкрд╢реАрд▓ рджреНрд░реБрддрдкрдгреЗ рдкрд╣рд╛
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.specрей. рдХрд╕реНрдЯрдо рдХреЙрд▓рдо рдЖрдЙрдЯрдкреБрдЯ рдлреЙрд░рдореЕрдЯ рд╡рд╛рдкрд░рд╛
рдбреАрдлреЙрд▓реНрдЯ рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ рдлреЙрд░рдореЕрдЯ рдЖрд╣реЗ 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'[] рдСрдкрд░реЗрдЯрд░ рд╡рд┐рд╢реЗрд╖рддрдГ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдЖрд╣реЗ. рдЕрдиреЗрдХ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд░рд┐рд╕реЛрд░реНрд╕ рдлреАрд▓реНрдб рд╣реА рдпрд╛рджреА рдЕрд╕рддрд╛рдд рдЖрдгрд┐ рд╣рд╛ рдСрдкрд░реЗрдЯрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛ рдпрд╛рджреАрдВрдордзреВрди рдШрдЯрдХ рдирд┐рд╡рдбрдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ. рд╕реВрдЪреАрддреАрд▓ рд╕рд░реНрд╡ рдШрдЯрдХ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА [*] рд╕рд╛рд░рдЦреНрдпрд╛ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╡рд░реНрдгрд╛рд╕рд╣ рдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрджрд╛рд╣рд░рдгреЗ
рдХрд╕реНрдЯрдо рдХреЙрд▓рдо рдЖрдЙрдЯрдкреБрдЯ рдлреЙрд░рдореЕрдЯ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддрд╛ рдЕрдирдВрдд рдЖрд╣реЗрдд, рдХрд╛рд░рдг рддреБрдореНрд╣реА рдЖрдЙрдЯрдкреБрдЯрдордзреНрдпреЗ рдХреЛрдгрддреЗрд╣реА рдлреАрд▓реНрдб рдХрд┐рдВрд╡рд╛ рд░рд┐рд╕реЛрд░реНрд╕ рдлреАрд▓реНрдбрдЪреЗ рд╕рдВрдпреЛрдЬрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реВ рд╢рдХрддрд╛. рдпреЗрдереЗ рдХрд╛рд╣реА рдЙрджрд╛рд╣рд░рдгреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рддреЗ рд╕реНрд╡рддрдГ рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░рд╛ рдЖрдгрд┐ рдЙрдкрдпреБрдХреНрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╢реЛрдзрд╛.
- рдкреЙрдбреНрд╕рд╕рд╛рдареА рдХрдВрдЯреЗрдирд░ рдкреНрд░рддрд┐рдорд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдд рдЖрд╣реЗ:
$ 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рдЬрд░ рддреБрдордЪрд╛ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рд╣реЛрд╕реНрдЯ рдХреЗрд▓рд╛ рдЕрд╕реЗрд▓ рддрд░ рд╣реА рдХрдорд╛рдВрдб рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗ. рддреА рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдзрддрд╛ рдЭреЛрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ.
рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреНрд╖реЗрддреНрд░ рд╣реА рдПрдХ рдХреНрд▓рд╛рдЙрдб рд╕рдВрдХрд▓реНрдкрдирд╛ рдЖрд╣реЗ рдЬреА рдкреНрд░рддрд┐рдХреГрддреА рдХреНрд╖реЗрддреНрд░рд╛рд▓рд╛ рднреМрдЧреЛрд▓рд┐рдХ рдкреНрд░рджреЗрд╢рд╛рдкреБрд░рддреЗ рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рддреЗ.
рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдзрддрд╛ рдЭреЛрди рдПрдХрд╛ рд╡рд┐рд╢реЗрд╖ рд▓реЗрдмрд▓рджреНрд╡рд╛рд░реЗ рдорд┐рд│рд╡рд▓реЗ рдЬрд╛рддрд╛рдд - рдЬрд░ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рдЪрд╛рд▓реВ рдЕрд╕реЗрд▓, рддрд░ рд╣реЗ рд▓реЗрдмрд▓ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдзрддрд╛ рдЭреЛрдирдЪреНрдпрд╛ рдирд╛рд╡рд╛рдВрдиреА рднрд░рд▓реЗ рдЬрд╛рддреЗ.
рд▓реЗрдмрд▓реНрд╕ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд░рд┐рд╕реЛрд░реНрд╕ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдирдЪрд╛ рднрд╛рдЧ рдирд╛рд╣реАрдд, рддреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдпреЗрдереЗ рдорд┐рд│рдгрд╛рд░ рдирд╛рд╣реА рддрдерд╛рдкрд┐, YAML рдХрд┐рдВрд╡рд╛ JSON рд╕реНрд╡рд░реВрдкрд╛рдд рдиреЛрдб рдорд╛рд╣рд┐рддреАрдЪреА рд╡рд┐рдирдВрддреА рдХрд░реВрди рддреЗ (рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рд▓реЗрдмрд▓реНрд╕рдкреНрд░рдорд╛рдгреЗ) рдкрд╛рд╣рд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд:
$ kubectl get nodes -o yaml # ╨╕╨╗╨╕ $ kubectl get nodes -o jsonрд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдгреНрдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╕рдВрд╕рд╛рдзрдирд╛рдВрдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рдЪрд╛ рд╣рд╛ рдПрдХ рдЙрддреНрддрдо рдорд╛рд░реНрдЧ рдЖрд╣реЗ.
рек. рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдЖрдгрд┐ рдиреЗрдорд╕реНрдкреЗрд╕реЗрд╕рдордзреНрдпреЗ рд╕рд╣рдЬ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ
рдЬреЗрд╡реНрд╣рд╛ kubectl Kubernetes API рд▓рд╛ рд╡рд┐рдирдВрддреА рдХрд░рддреЗ, рддреЗрд╡реНрд╣рд╛ рддреЗ рдХрдиреЗрдХреНрд╢рдирд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реЗ рд╕рд░реНрд╡ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдердо kubeconfig рдлрд╛рдЗрд▓ рд╡рд╛рдЪрддреЗ.
рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, kubeconfig рдлрд╛рдЗрд▓ рдЖрд╣реЗ ~/.kube/config. рд╣реА рдлрд╛рдЗрд▓ рд╕рд╣рд╕рд╛ рдПрдХрд╛ рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдВрдбрджреНрд╡рд╛рд░реЗ рддрдпрд╛рд░ рдХрд┐рдВрд╡рд╛ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реА рдЬрд╛рддреЗ.
рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдЕрдиреЗрдХ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛, рддреЗрд╡реНрд╣рд╛ рддреБрдордЪреНрдпрд╛ kubeconfig рдлрд╛рдЗрд▓рдордзреНрдпреЗ рддреНрдпрд╛ рд╕рд░реНрд╡рд╛рдВрд╕рд╛рдареА рдХрдиреЗрдХреНрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЕрд╕рддрд╛рдд. рддреБрдореНрд╣реА рдХреЛрдгрддреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рд╕рд╣ рдХрд╛рдо рдХрд░рдд рдЖрд╣рд╛рдд рд╣реЗ kubectl рдХрдорд╛рдВрдбрд▓рд╛ рд╕рд╛рдВрдЧрдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдорд╛рд░реНрдЧ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдПрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ, рддреБрдореНрд╣реА рдЕрдиреЗрдХ рдиреЗрдорд╕реНрдкреЗрд╕ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛тАФрдПрдХрд╛ рднреМрддрд┐рдХ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рдПрдХ рдкреНрд░рдХрд╛рд░рдЪрд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдХреНрд▓рд╕реНрдЯрд░. рдХреБрдмреЗрдХреНрдЯрд▓ рдХреНрдпреВрдмрдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓рдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ рдХреЛрдгрддреЗ рдиреЗрдорд╕реНрдкреЗрд╕ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рд╣реЗ рдард░рд╡рддреЗ. рдореНрд╣рдгреВрди, рддреБрдореНрд╣рд╛рд▓рд╛ рдХреНрдпреВрдмреЗрдХреНрдЯреНрд▓рд▓рд╛ рдХреЛрдгрддреЗ рдиреЗрдорд╕реНрдкреЗрд╕ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рд╣реЗ рд╕рд╛рдВрдЧрдгреНрдпрд╛рдЪрд╛ рдорд╛рд░реНрдЧ рджреЗрдЦреАрд▓ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдЖрдкрдг рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рдкреНрд░рднрд╛рд╡реА рдХрд╛рдо рдХрд╕реЗ рд╕рд╛рдзреНрдп рдХрд░рд╛рдпрдЪреЗ рддреЗ рд╕реНрдкрд╖реНрдЯ рдХрд░реВ.
рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рддреБрдордЪреНрдпрд╛рдХрдбреЗ KUBECONFIG рдПрдиреНрд╡реНрд╣рд╛рдпрд░реНрдирдореЗрдВрдЯ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреНрдпреЗ рдЕрдиреЗрдХ kubeconfig рдлрд╛рдЗрд▓реНрд╕ рд╕реВрдЪреАрдмрджреНрдз рдЕрд╕реВ рд╢рдХрддрд╛рдд. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рд░рдирдЯрд╛рдЗрдорд╡рд░ рдпрд╛ рд╕рд░реНрд╡ рдлрд╛рдЗрд▓реНрд╕ рдПрдХрд╛рдЪ рд╢реЗрдЕрд░реНрдб рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдПрдХрддреНрд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддреАрд▓. рддреБрдореНрд╣реА kubectl рдкреЕрд░рд╛рдореАрдЯрд░ рд╡рд╛рдкрд░реВрди рдбреАрдлреЙрд▓реНрдЯ kubeconfig рдлрд╛рдЗрд▓ рджреЗрдЦреАрд▓ рдмрджрд▓реВ рд╢рдХрддрд╛. --kubeconfig. рдмрдШрд╛. .
рдХреНрдпреВрдмрдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓реНрд╕
рдЪрд▓рд╛ kubeconfig рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдиреЗрдордХреЗ рдХрд╛рдп рдЖрд╣реЗ рддреЗ рдкрд╛рд╣реВрдпрд╛:

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

рдЬреЗрд╡реНрд╣рд╛ kubectl рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓ рд╡рд╛рдЪрддреЗ рддреЗрд╡реНрд╣рд╛ рддреЗ рдиреЗрд╣рдореАрдЪ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрднрд╛рддреВрди рдорд╛рд╣рд┐рддреА рдШреЗрддреЗ. рд╡рд░реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдд, kubectl рд╣реЗрдЕрд░ рдХреНрд▓рд╕реНрдЯрд░рд╢реА рдХрдиреЗрдХреНрдЯ рд╣реЛрдИрд▓.
рддреНрдпрд╛рдиреБрд╕рд╛рд░, рджреБрд╕рд▒реНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ kubeconfig рдлрд╛рдЗрд▓рдордзреАрд▓ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдмрджрд▓рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓:

рдЖрддрд╛ kubectl рдлреЙрдХреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рд╢реА рдХрдиреЗрдХреНрдЯ рд╣реЛрдИрд▓.
рдПрдХрд╛рдЪ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд╡реЗрдЧрд│реНрдпрд╛ рдиреЗрдорд╕реНрдкреЗрд╕рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рд╕рд╛рдареА рдиреЗрдорд╕реНрдкреЗрд╕ рдШрдЯрдХрд╛рдЪреЗ рдореВрд▓реНрдп рдмрджрд▓рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓:

рд╡рд░реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдд, kubectl рдлреЙрдХреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ Prod рдиреЗрдорд╕реНрдкреЗрд╕рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реЗрд▓ (рдЯреЗрд╕реНрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ рдкреВрд░реНрд╡реА рд╕реЗрдЯ рдХреЗрд▓реЗ рд╣реЛрддреЗ).
рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА kubectl рдкрд░реНрдпрд╛рдп рджреЗрдЦреАрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ --cluster, --user, --namespace ╨╕ --context, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реИрдпрдХреНрддрд┐рдХ рдШрдЯрдХ рдЖрдгрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рд╕реНрд╡рддрдГрдЪ рдЕрдзрд┐рд▓рд┐рдЦрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, kubeconfig рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдХрд╛рдп рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ рдпрд╛рдЪреА рдкрд░реНрд╡рд╛ рди рдХрд░рддрд╛. рдкрд╣рд╛ kubectl options.
рд╕реИрджреНрдзрд╛рдВрддрд┐рдХрджреГрд╖реНрдЯреНрдпрд╛, рддреБрдореНрд╣реА kubeconfig рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдореЕрдиреНрдпреБрдЕрд▓реА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдмрджрд▓реВ рд╢рдХрддрд╛. рддрдерд╛рдкрд┐, рд╣реЗ рдЧреИрд░рд╕реЛрдпреАрдЪреЗ рдЖрд╣реЗ. рдпрд╛ рдСрдкрд░реЗрд╢рдиреНрд╕ рд╕реЛрдкреНрдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд┐рд╡рд┐рдз рдЙрдкрдпреБрдХреНрддрддрд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдмрджрд▓рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд.
рдХреНрдпреБрдмреЗрдХреНрдЯрдПрдХреНрд╕ рд╡рд╛рдкрд░рд╛
рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдЖрдгрд┐ рдиреЗрдорд╕реНрдкреЗрд╕реЗрд╕рдордзреНрдпреЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдЕрддрд┐рд╢рдп рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдпреБрдХреНрддрддрд╛.
рдпреБрдЯрд┐рд▓рд┐рдЯреА рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд░рддреЗ 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 рд╕рд╛рд░рдЦреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЛ. рддреБрдореНрд╣реА рддреЗ рдпреЗрдереЗ рдХреГрддреАрдд рдкрд╛рд╣реВ рд╢рдХрддрд╛:

рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рдЙрдкрдирд╛рдо fzf рдЪрд╛ рд╡рд╛рдкрд░ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА, рдореБрдХреНрдд-рд╢реЛрдз рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд░рддрд╛рдд (kubectx рдЪреНрдпрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдореЛрдб рдкреНрд░рдорд╛рдгреЗрдЪ). рдпрд╛рдЪрд╛ рдЕрд░реНрде рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рд╣реА рдЙрдкрдирд╛рд╡реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА.
рдЙрдкрдирд╛рдорд╛рдВрдЪреНрдпрд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдпреЗрдереЗ рдЖрд╣реЗрдд:
# ╨Я╨╛╨╗╤Г╤З╨╕╤В╤М ╤В╨╡╨║╤Г╤Й╨╕╨╣ ╨║╨╛╨╜╤В╨╡╨║╤Б╤В
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 рдиреЗрдорд╕реНрдкреЗрд╕ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА.
рдореА рд╣реЗ рдХрд░рдгрд╛рд░реЗ рджреЛрди рдкреНрд▓рдЧрдЗрди рд▓рд┐рд╣рд┐рд▓реЗ:
рдкреНрд▓рдЧрдЗрдиреНрд╕ рдорд╛рдЧреАрд▓ рд╡рд┐рднрд╛рдЧрд╛рддреАрд▓ рдЙрдкрдирд╛рдорд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдХрд╛рдо рдХрд░рддрд╛рдд.
рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ:

рдХреГрдкрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рдкреНрд▓рдЧрдЗрдиреНрд╕ fzf рдЪрд╛ рд╡рд╛рдкрд░ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА, рдореБрдХреНрдд-рд╢реЛрдз рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд░рддрд╛рдд (kubectx рдЪреНрдпрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдореЛрдб рдкреНрд░рдорд╛рдгреЗрдЪ). рдпрд╛рдЪрд╛ рдЕрд░реНрде рддреБрдореНрд╣рд╛рд▓рд╛рд╣реА рдЙрдкрдирд╛рд╡реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА.
рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреНрдпрд╛рдВрдЪреЗ рдирд╛рд╡ рдЖрд╣реЗ ╨╕ рддреБрдордЪреНрдпрд╛ PATH рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдордзреАрд▓ рдХреЛрдгрддреНрдпрд╛рд╣реА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ рдЬрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдмрдирд╡рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде chmod +x. рдпрд╛рдирдВрддрд░ рддреБрдореНрд╣реА рддреЗ рд▓рдЧреЗрдЪ рд╡рд╛рдкрд░реВ рд╢рдХрд╛рд▓. kubectl ctx ╨╕ kubectl ns.
рел. рдСрдЯреЛрдЕреЕрд▓рд┐рдЕрд╕реЗрд╕ рд╡рд╛рдкрд░реВрди рдЗрдирдкреБрдЯ рд▓рд╣рд╛рди рдХрд░рд╛
рд╢реЗрд▓ рдЙрдкрдирд╛рдо рд╣реЗ рдЯрд╛рдпрдкрд┐рдВрдЧ рдЬрд▓рдж рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдЙрддреНрддрдо рдорд╛рд░реНрдЧ рдЖрд╣реЗ. рдкреНрд░рдХрд▓реНрдк рдореВрд▓рднреВрдд kubectl рдХрдорд╛рдВрдбрд╕рд╛рдареА рд╕реБрдорд╛рд░реЗ 800 рд╢реЙрд░реНрдЯрдХрдЯ рдЖрд╣реЗрдд.
рддреБрдореНрд╣рд╛рд▓рд╛ рдХрджрд╛рдЪрд┐рдд реорежреж рдЙрдкрдирд╛рдо рдХрд╕реЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛рдпрдЪреЗ рдЕрд╕рд╛ рдкреНрд░рд╢реНрди рдкрдбрдд рдЕрд╕реЗрд▓. рдкрдг рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рд╕рд░реНрд╡ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА, рдХрд╛рд░рдг рддреЗ рдЦрд╛рд▓реА рджрд╛рдЦрд╡рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ рдПрдХрд╛ рд╕рд╛рдзреНрдпрд╛ рд╕реВрддреНрд░рд╛рдЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛рдд:

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:
- kgpooyaml - kubectl рд▓рд╛ рд╢реЗрдВрдЧрд╛ рдорд┐рд│рд╡рд╛ oyaml
- ksysgsvcw тАФ kubectl -n kube-system рдЧреЗрдЯ svc w
- ksysrmcm -kubectl -n kube-рд╕рд┐рд╕реНрдЯрдо rm cm
- 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 рдЙрдкрдирд╛рдорд╛рдВрд╕рд╛рдареА рдкреВрд░реНрдгрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рдХрд╛рдо рдХрд░рдд рдирд╛рд╣реА.
рдкреНрд░рдХрд▓реНрдк рдпрд╛ рд╕рдорд╕реНрдпреЗрд╡рд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрд╛рдп рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рддреЗ рдЙрдкрдирд╛рдо рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдпрдВрддреНрд░рдгреЗрд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдЕрд╕рддреЗ, рдЕрдВрддрд░реНрдЧрддрд░рд┐рддреНрдпрд╛ рдХрдорд╛рдВрдбрдордзреНрдпреЗ рдЙрдкрдирд╛рдо рд╡рд┐рд╕реНрддреГрдд рдХрд░рддреЗ рдЖрдгрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрдорд╛рдВрдбрд╕рд╛рдареА рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рдЪреЗ рдкрд░реНрдпрд╛рдп рдкрд░рдд рдХрд░рддреЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдЙрдкрдирд╛рдорд╛рд╕рд╛рдареА рдкреВрд░реНрдг рдХрд░рдгреЗ рд╣реЗ рдкреВрд░реНрдг рдХрдорд╛рдВрдбрд╕рд╛рд░рдЦреЗрдЪ рд╡рд░реНрддрди рдХрд░рддреЗ.
рдкреБрдвреЗ, рдореА рдкреНрд░рдердо complete-alias рдХрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рдпрдЪреЗ рддреЗ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрди рдЖрдгрд┐ рдирдВрддрд░ рд╕рд░реНрд╡ kubectl aliases рд╕рд╛рдареА completion рд╕рдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреЗ рдХрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рдпрдЪреЗ рддреЗ рд╕рд╛рдВрдЧреЗрди.
рдкреВрд░реНрдг-рдЙрд░реНрдл рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ
рд╕рд░реНрд╡рдкреНрд░рдердо, рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ рдореНрд╣рдгреВрди, complete-alias рдЗрдиреНрд╕реНрдЯреЙрд▓ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА, bash-completion рдЗрдиреНрд╕реНрдЯреЙрд▓ рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛. рдЗрдиреНрд╕реНрдЯреЙрд▓реЗрд╢рдирдЪреНрдпрд╛ рд╕реВрдЪрдирд╛ рдкреВрд░реНрд╡реА рджреЗрдгреНрдпрд╛рдд рдЖрд▓реНрдпрд╛ рд╣реЛрддреНрдпрд╛. Linux рдЖрдгрд┐ рдореЕрдХрдУрдПрд╕.
MacOS рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рдорд╣рддреНрддреНрд╡рд╛рдЪреА рд╕реВрдЪрдирд╛: kubectl рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯрдкреНрд░рдорд╛рдгреЗ, complete-alias рд╣реЗ Bash 3.2 рд╕рд╣ рдХрд╛рдо рдХрд░рдд рдирд╛рд╣реА, рдЬреЗ MacOS рд╡рд░реАрд▓ рдбреАрдлреЙрд▓реНрдЯ рдЖрд╡реГрддреНрддреА рдЖрд╣реЗ. рд╡рд┐рд╢реЗрд╖рддрдГ, complete-alias bash-completion v2 рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ (brew install bash-completion@2), рдЬреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдорд╛рди рдмреЕрд╢ рек.рез рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдореЕрдХрдУрдПрд╕рд╡рд░ рдкреВрд░реНрдг рдЙрдкрдирд╛рдо рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдмреЕрд╢рдЪреА рдирд╡реАрди рдЖрд╡реГрддреНрддреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рд╡реА рд▓рд╛рдЧреЗрд▓.
рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛рд╡реА рд▓рд╛рдЧреЗрд▓. рдкрд╛рд╕реВрди рдЖрдгрд┐ рддреЗ рддреБрдордЪреНрдпрд╛ рдлрд╛рдИрд▓рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рд╛. ~/.bashrc:
source ~/bash_completion.shрд╢реЗрд▓ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдкреВрд░реНрдг-рдЙрдкрдирд╛рдо рдкреВрд░реНрдгрдкрдгреЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдИрд▓.
kubectl рдЙрдкрдирд╛рдорд╛рдВрд╕рд╛рдареА рд╕реНрд╡рдпрдВрдкреВрд░реНрдгрддрд╛ рд╕рдХреНрд╖рдо рдХрд░рдгреЗ
рддрд╛рдВрддреНрд░рд┐рдХрджреГрд╖реНрдЯреНрдпрд╛, рдкреВрд░реНрдг-рдЙрд░реНрдл рдПрдХ рд╢реЗрд▓ рдлрдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддреЗ _complete_aliasрд╣реЗ рдлрдВрдХреНрд╢рди рдЙрдкрдирд╛рдо рддрдкрд╛рд╕рддреЗ рдЖрдгрд┐ рдЙрдкрдирд╛рдо рдХрдорд╛рдВрдбрд╕рд╛рдареА рдкреВрд░реНрдгрддреНрд╡рд╛рдЪреЗ рд╕рдВрдХреЗрдд рджреЗрддреЗ.
рдПрдЦрд╛рджреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдирд╛рдорд╛рд╢реА рдлрдВрдХреНрд╢рди рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдмреЕрд╢ рдмрд┐рд▓реНрдЯ-рдЗрди рдореЗрдХреЕрдирд┐рдЭрдо рд╡рд╛рдкрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓. рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ _complete_alias рдЙрдкрдирд╛рд╡ рдкреВрд░рдХрд╛рдЪреЗ рдХрд╛рд░реНрдп рдореНрд╣рдгреВрди.
рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди, рдЪрд▓рд╛ 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-рдЙрдкрдирд╛рдорд╛рдВрдирд╛ ~/.kubectl-aliases:
for _a in $(sed '/^alias /!d;s/^alias //;s/=.*$//' ~/.kubectl_aliases);
do
complete -F _complete_alias "$_a"
done рд╣рд╛ рдХреЛрдб рддреБрдордЪреНрдпрд╛ рдордзреНрдпреЗ рдареЗрд╡рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ ~/.bashrc, рдХрдорд╛рдВрдб рд╢реЗрд▓ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рд╛, рдЖрдгрд┐ рд╕рд░реНрд╡ реорежреж kubectl рдЙрдкрдирд╛рдорд╛рдВрд╕рд╛рдареА рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рдЙрдкрд▓рдмреНрдз рд╣реЛрдИрд▓.
рем. рдкреНрд▓рдЧрдЗрдиреНрд╕рд╕рд╣ kubectl рд╡рд╛рдврд╡рдгреЗ
рдкрд╛рд╕реВрди рдкреНрд░рд╛рд░рдВрдн , 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 рдлрдХреНрдд рддреЗрдЪ рдкреНрд▓рдЧрдЗрдиреНрд╕ рджрд╛рдЦрд╡рддреЗ рдЬреЗ Krew рд╡рд╛рдкрд░реВрди рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗрд▓реЗ рд╣реЛрддреЗ, рддрд░ рдХрдорд╛рдВрдб kubectl plugin list рд╕рд░реНрд╡ рдкреНрд▓рдЧрдЗрдиреНрд╕рдЪреА рдпрд╛рджреА рдХрд░рддреЗ, рдЬреЗ рдХреНрд░реВ рд╡рд╛рдкрд░реВрди рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдЬреЗ рдЗрддрд░ рдорд╛рд░реНрдЧрд╛рдВрдиреА рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.
рдЗрддрд░ рдард┐рдХрд╛рдгреА рдкреНрд▓рдЧрдЗрди рд╢реЛрдзрд╛
рдХреНрд░реВ рд╣рд╛ рдПрдХ рддрд░реБрдг рдкреНрд░рдХрд▓реНрдк рдЖрд╣реЗ, рд╕рдзреНрдпрд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдПрдХреВрдг рд╕реБрдорд╛рд░реЗ рейреж рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЖрд╣реЗрдд. рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╡реЗ рдЕрд╕рд▓реЗрд▓реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕рд╛рдкрдбрд▓реЗ рдирд╛рд╣реАрдд, рддрд░ рддреБрдореНрд╣реА рдЗрддрд░рддреНрд░, рдЬрд╕реЗ рдХреА 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 рд▓рд╛ рд╕рд╣рдЬрдкрдгреЗ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛. рддрдерд╛рдкрд┐, рддреБрдореНрд╣реА рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рд╣реВ рд╢рдХрддрд╛ рдЬрд░ рддреБрдореНрд╣реА рдЧреЛ рд╡рд╛рдкрд░рдд рдЕрд╕рд╛рд▓ рддрд░ рддреБрдореНрд╣реА рд╣реЗ рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ , рдЬреЗ рд╡рд┐рд╢реЗрд╖рддрдГ kubectl рдкреНрд▓рдЧрдЗрди рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЖрд╣реЗ.
рддреБрдордЪреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╕реЗ рд╢реЗрдЕрд░ рдХрд░рд╛рдпрдЪреЗ
рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдЯрдд рдЕрд╕реЗрд▓ рдХреА рддреБрдордЪреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЗрддрд░рд╛рдВрд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реВ рд╢рдХрддрд╛рдд, рддрд░ рддреЗ GitHub рд╡рд░ рд╢реЗрдЕрд░ рдХрд░рд╛. рддреЗ рд╡рд┐рд╖рдпрд╛рдд рдирдХреНрдХреА рдЬреЛрдбрд╛. .
рддреБрдореНрд╣реА рддреБрдордЪреЗ рдкреНрд▓рдЧрдЗрди рдпреЗрдереЗ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рд╡рд┐рдирдВрддреА рджреЗрдЦреАрд▓ рдХрд░реВ рд╢рдХрддрд╛ рд╣реЗ рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ рдпрд╛рдмрджреНрджрд▓рдЪреНрдпрд╛ рд╕реВрдЪрдирд╛ рдпреЗрдереЗ рдЖрд╣реЗрдд .
рдЖрджреЗрд╢ рдкреВрд░реНрдг
рдкреНрд▓рдЧрдЗрди рд╕рдзреНрдпрд╛ рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рдирд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдд рдирд╛рд╣реАрдд. рдпрд╛рдЪрд╛ рдЕрд░реНрде рддреБрдореНрд╣рд╛рд▓рд╛ рдкреВрд░реНрдг рдкреНрд▓рдЧрдЗрди рдирд╛рд╡ рдЖрдгрд┐ рд╡рд┐рддрд░реНрдХ рдирд╛рд╡реЗ рдПрдВрдЯрд░ рдХрд░рд╛рд╡реА рд▓рд╛рдЧрддреАрд▓.
GitHub рд░рд┐рдкреЙрдЭрд┐рдЯрд░реАрдордзреНрдпреЗ рдпрд╛ рдлрдВрдХреНрд╢рдирд╕рд╛рдареА kubectl рд░рд┐рдкреЙрдЭрд┐рдЯрд░реА рдЖрд╣реЗ. . рддреНрдпрд╛рдореБрд│реЗ, рднрд╡рд┐рд╖реНрдпрд╛рдд рдХрдзреАрддрд░реА рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЬрд╛рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЖрд╣реЗ.
рд╢реБрднреЗрдЪреНрдЫрд╛!!!
рд╡рд┐рд╖рдпрд╛рд╡рд░ рдЕрдЬреВрди рдХрд╛рдп рд╡рд╛рдЪрд╛рдпрдЪреЗ:
- .
- .
- .
рд╕реНрддреНрд░реЛрдд: www.habr.com







