k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

K9s Kubernetes рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЯрд░реНрдорд┐рдирд▓ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдпреЛ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд▓рдХреНрд╖реНрдп K8s рдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдиреЗрднрд┐рдЧреЗрдЯ рдЧрд░реНрди, рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрди рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдиреБ рд╣реЛред K9s рд▓рдЧрд╛рддрд╛рд░ Kubernetes рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрджрдЫ рд░ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░рд┐рдПрдХрд╛ рд╕реНрд░реЛрддрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рджреНрд░реБрдд рдЖрджреЗрд╢рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред

рдкрд░рд┐рдпреЛрдЬрдирд╛ Go рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рд░ рд▓рдЧрднрдЧ рдбреЗрдв рд╡рд░реНрд╖ рднрдиреНрджрд╛ рдмрдвреА рднрдПрдХреЛ рдЫ: рдкрд╣рд┐рд▓реЛ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдлреЗрдмреНрд░реБрдЕрд░реА 1, 2019 рдорд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рд▓реЗрдЦреНрдиреЗ рд╕рдордпрдорд╛, рддреНрдпрд╣рд╛рдБ 9000+ рддрд╛рд░рд╛рд╣рд░реВ рдЫрдиреН GitHub рд░ рд▓рдЧрднрдЧ 80 рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рд╣рд░реВред рд╣реЗрд░реМрдВ k9s рд▓реЗ рдХреЗ рдЧрд░реНрди рд╕рдХреНрдЫ?

рд╕реНрдерд╛рдкрдирд╛ рд░ рдкреНрд░рдХреНрд╖реЗрдкрдг

рдпреЛ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рд╣реЛ (рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд╕рдореНрдмрдиреНрдзрдорд╛) рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЬреБрди рдбрдХрд░ рдЫрд╡рд┐рдХреЛ рд░реВрдкрдорд╛ рдЪрд▓рд╛рдЙрди рд╕рдЬрд┐рд▓реЛ рдЫ:

docker run --rm -it -v $KUBECONFIG:/root/.kube/config quay.io/derailed/k9s

рдХреЗрд╣реА рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рд░ рдЕрдиреНрдп рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рддреНрдпрд╣рд╛рдБ рдкрдирд┐ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рддрдпрд╛рд░ рдЫрдиреН рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рд▓рд┐рдирдХреНрд╕ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБ рдмрд╛рдЗрдирд░реА рдлрд╛рдЗрд▓ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

sudo wget -qO- https://github.com/derailed/k9s/releases/download/v0.22.0/k9s_Linux_x86_64.tar.gz | tar zxvf -  -C /tmp/
sudo mv /tmp/k9s /usr/local/bin

рддреНрдпрд╣рд╛рдБ K8s рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ рдХреБрдиреИ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдЫреИрдирдиреНред рд╕рдореАрдХреНрд╖рд╛рд╣рд░реВрдХреЛ рдЖрдзрд╛рд░рдорд╛, рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд▓реЗ 1.12 рдЬрд╕реНрддрд╛ Kubernetes рдХреЛ рдкреБрд░рд╛рдиреЛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрд╕рдБрдЧ рдкрдирд┐ рдХрд╛рдо рдЧрд░реНрджрдЫред

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдорд╛рдирдХ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреНрд░рдпреЛрдЧ рдЧрд░реА рд╕реБрд░реБ рдЧрд░рд┐рдПрдХреЛ рдЫ .kube/config - рдпреЛ рдХрд╕рд░реА рдЧрд░реНрдЫ рд╕рдорд╛рди kubectl.

╨Э╨░╨▓╨╕╨│╨░╤Ж╨╕╤П

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, рд╕рдиреНрджрд░реНрднрдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдиреЗрдорд╕реНрдкреЗрд╕рд╕рдБрдЧ рдПрдЙрдЯрд╛ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рдЦреБрд▓реНрдЫред рддреНрдпреЛ рд╣реЛ, рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд▓реЗрдЦреНрдиреБрднрдпреЛ рднрдиреЗ kubectl config set-context --current --namespace=test, рддреНрдпрд╕рдкрдЫрд┐ рдиреЗрдорд╕реНрдкреЗрд╕ рдЦреБрд▓реНрдиреЗрдЫ test. (рд╕рдиреНрджрд░реНрднрд╣рд░реВ/рдирд╛рдорд╕реНрдерд╛рдирд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рддрд▓ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред)

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдЬрд╛рдК рддреНрдпрд╣рд╛рдБ рдЖрджреЗрд╢ рдореЛрдб ":" рдерд┐рдЪреЗрд░ рдЧрд░рд┐рдиреНрдЫред рддреНрдпрд╕ рдкрдЫрд┐, рддрдкрд╛рдЗрдБ рдЖрджреЗрд╢рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ k9s рдХреЛ рд╕рдЮреНрдЪрд╛рд▓рди рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ - рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, StatefulSets рдХреЛ рд╕реВрдЪреА рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ (рд╣рд╛рд▓рдХреЛ рдирд╛рдо рд╕реНрдерд╛рдирдорд╛), рддрдкрд╛рдЗрдБ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред :sts.

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдХреЗрд╣реА рдЕрдиреНрдп Kubernetes рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐:

  • :ns - рдиреЗрдорд╕реНрдкреЗрд╕;
  • :deploy - рддреИрдирд╛рддреА;
  • :ing - рдкреНрд░рд╡реЗрд╢;
  • :svc - рд╕реЗрд╡рд╛рд╣рд░реВред

рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрд▓рдмреНрдз рд╕реНрд░реЛрдд рдкреНрд░рдХрд╛рд░рд╣рд░реВрдХреЛ рдкреВрд░реНрдг рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди, рддреНрдпрд╣рд╛рдБ рдПрдХ рдЖрджреЗрд╢ рдЫ :aliases.

рд╣рд╛рд▓рдХреЛ рд╕рдЮреНрдЭреНрдпрд╛рд▓ рднрд┐рддреНрд░ рддрд╛рддреЛ рдХреБрдЮреНрдЬреА рд╕рдВрдпреЛрдЬрдирд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрд▓рдмреНрдз рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рд╕реВрдЪреА рд╣реЗрд░реНрди рдкрдирд┐ рдпреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫ: рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, "?" рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

k9s рдорд╛ рдкрдирд┐ рдЫ рдЦреЛрдЬ рдореЛрдб, рдЬрд╕рдорд╛ рдЬрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ "/" рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдЫред рдпрд╕рдХреЛ рд╕рд╛рде, рд╣рд╛рд▓рдХреЛ "рд╡рд┐рдиреНрдбреЛ" рдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВрдорд╛ рдЦреЛрдЬреА рдЧрд░рд┐рдиреНрдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкрд╣рд┐рд▓реЗ рдкреНрд░рд╡реЗрд╢ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ рднрдиреМрдВ :ns, рддрдкрд╛рдИрдВрд╕рдБрдЧ рдирд╛рдорд╕реНрдерд╛рдирд╣рд░реВрдХреЛ рд╕реВрдЪреА рдЦреБрд▓рд╛ рдЫред рдпрджрд┐ рддрд┐рдиреАрд╣рд░реВ рдордзреНрдпреЗ рдзреЗрд░реИ рдЫрдиреН рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рд▓рд╛рдореЛ рд╕рдордпрдХреЛ рд▓рд╛рдЧрд┐ рддрд▓ рд╕реНрдХреНрд░реЛрд▓ рдирдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдпреЛ рдирд╛рдорд╕реНрдерд╛рдирдХреЛ рд╕рд╛рде рд╡рд┐рдиреНрдбреЛрдорд╛ рдкреНрд░рд╡реЗрд╢ рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдЫред /mynamespace.

рд▓реЗрдмрд▓рд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬреА рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдЗрдЪреНрдЫрд┐рдд рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рд╕рдмреИ рдкреЛрдбрд╣рд░реВ рдЪрдпрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, / -l app=whoamiред рд╣рд╛рдореА рдпрд╕ рд▓реЗрдмрд▓рдХреЛ рд╕рд╛рде рдкреЛрдбрд╣рд░реВрдХреЛ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗрдЫреМрдВ:

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдЦреЛрдЬрд▓реЗ рд▓рдЧрд╣рд░реВ, YAML manifests рд╣реЗрд░реНрдиреЗ, рд░ рд╕рд╣рд┐рдд рд╕рдмреИ рдкреНрд░рдХрд╛рд░рдХрд╛ рд╡рд┐рдиреНрдбреЛрдЬрд╣рд░реВрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ describe рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ - рдпреА рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВрдорд╛ рдердк рд╡рд┐рд╡рд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рддрд▓ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред

рд╕рдордЧреНрд░ рдиреЗрднрд┐рдЧреЗрд╕рди рдкреНрд░рд╡рд╛рд╣ рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ?

рдЖрджреЗрд╢ рд╕рдВрдЧ :ctx рддрдкрд╛рдИрдВ рд╕рдиреНрджрд░реНрдн рдЪрдпрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдирд╛рдо рд╕реНрдерд╛рди рдЪрдпрди рдЧрд░реНрди, рдкрд╣рд┐рд▓реЗ рдиреИ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░рд┐рдПрдХреЛ рдЖрджреЗрд╢ рдЫ :ns, рд░ рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдЗрдБ рдЗрдЪреНрдЫрд┐рдд рдард╛рдЙрдБрдХреЛ рд▓рд╛рдЧрд┐ рдЦреЛрдЬреА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: /test.

рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рдЕрдм рд╣рд╛рдореАрд▓реЗ рд░реБрдЪрд┐ рд░рд╛рдЦреЗрдХреЛ рд╕реНрд░реЛрдд рдЪрдпрди рдЧрд░реНрдЫреМрдВ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЙрд╣реА рд╕реНрдЯреЗрдЯрдлреБрд▓рд╕реЗрдЯ), рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦрд╛ рдкрд░реНрдиреЗрдЫ: рдХрддрд┐ рдкреЛрдбрд╣рд░реВ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЬрд╛рдирдХрд╛рд░реАрдХреЛ рд╕рд╛рде рдЪрд▓рд┐рд░рд╣реЗрдХрд╛ рдЫрдиреНред

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдХреЗрд╡рд▓ рдкреЛрдбрд╣рд░реВ рдЪрд╛рд╕реЛрдХреЛ рд╣реБрди рд╕рдХреНрдЫ - рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдЫ :podред ConfigMaps рдХреЛ рдорд╛рдорд▓рд╛ рдорд╛ (:cm - рдпреА рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд╕реВрдЪреАрдХреЛ рд▓рд╛рдЧрд┐), рддрдкрд╛рдЗрдБ рд░реБрдЪрд┐рдХреЛ рд╡рд╕реНрддреБ рдЪрдпрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ "u" рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ K9s рд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рдХрд╕рд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫ рднрдиреЗрд░ рдмрддрд╛рдЙрдиреЗрдЫ (рдпреЛ CM)ред

рд╕реНрд░реЛрддрд╣рд░реВ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрд░реНрдХреЛ рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ рдЙрдиреАрд╣рд░реВрдХреЛ рд╣реЛ "рдПрдХреНрд╕-рд░реЗ" (рдПрдХреНрд╕рд░реЗ рджреГрд╢реНрдп)ред рдпреЛ рдореЛрдб рдЖрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рднрдирд┐рдиреНрдЫ :xray RESOURCE рд░ ... рдпреЛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░реНрди рднрдиреНрджрд╛ рдпреЛ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рджреЗрдЦрд╛рдЙрди рд╕рдЬрд┐рд▓реЛ рдЫред рдпрд╣рд╛рдБ StatefulSets рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рджреГрд╖реНрдЯрд╛рдиреНрдд рдЫ:

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕
(рдпреА рд╕реНрд░реЛрддрд╣рд░реВ рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдореНрдкрд╛рджрди, рдкрд░рд┐рд╡рд░реНрддрди, рдмрдирд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ describe.)

рд░ рдпрд╣рд╛рдБ рдкреНрд░рд╡реЗрд╢ рд╕рдВрдЧ рддреИрдирд╛рддреА рдЫ:

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рд╕реНрд░реЛрддрд╕рд╛рдзрдирдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ

рддрдкрд╛рдИрдВрд▓реЗ YAML рд╡рд╛ рдпрд╕рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд░реЛрддрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ describe рд╕рдореНрдмрдиреНрдзрд┐рдд рдХрд┐рдмреЛрд░реНрдб рд╕рд░реНрдЯрдХрдЯрд╣рд░реВ рдерд┐рдЪреЗрд░ (рдХреНрд░рдорд╢рдГ "y" рд░ "d")ред рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рддреНрдпрд╣рд╛рдБ рдЕрдЭ рдзреЗрд░реИ рдЖрдзрд╛рд░рднреВрдд рдХрд╛рд░реНрдпрд╣рд░реВ рдЫрдиреН: рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕реВрдЪреА рд░ рдХрд┐рдмреЛрд░реНрдб рд╕рд░реНрдЯрдХрдЯрд╣рд░реВ рд╕рдзреИрдВ рджреГрд╢реНрдпрд╛рддреНрдордХ рд╣реБрдиреНрдЫрдиреН рдЗрдиреНрдЯрд░рдлреЗрд╕рдорд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ "рд╣реЗрдбрд░" рдХреЛ рд▓рд╛рдЧреА рдзрдиреНрдпрд╡рд╛рдж (Ctrl + e рдерд┐рдЪреЗрд░ рд▓реБрдХрд╛рдЗрдПрдХреЛ)ред

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдХреБрдиреИ рдкрдирд┐ рд╕реНрд░реЛрдд рд╕рдореНрдкрд╛рджрди рдЧрд░реНрджрд╛ ("e" рдпрд╕рдХреЛ рдЪрдпрди рдкрдЫрд┐), рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрд╛рда рд╕рдореНрдкрд╛рджрдХ рдЦреЛрд▓рд┐рдПрдХреЛ рдЫ (export EDITOR=vim).

рд░ рдпрд╣рд╛рдБ рд╕рдВрд╕рд╛рдзрдирдХреЛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ (describe):

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдпреЛ рдЖрдЙрдЯрдкреБрдЯ (рд╡рд╛ YAML рд░рд┐рд╕реЛрд░реНрд╕ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рд╣реЗрд░реНрдиреЗ рдЖрдЙрдЯрдкреБрдЯ) рдкрд░рд┐рдЪрд┐рдд рдХрд┐рдмреЛрд░реНрдб рд╕рд░реНрдЯрдХрдЯ Ctrl + s рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдмрдЪрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдпреЛ рдХрд╣рд╛рдБ рдмрдЪрдд рд╣реБрдиреЗрдЫ K9s рд╕рдиреНрджреЗрд╢рдмрд╛рдЯ рдерд╛рд╣рд╛ рд╣реБрдиреЗрдЫ:

Log /tmp/k9s-screens-root/kubernetes/Describe-1601244920104133900.yml saved successfully!

рдкреНрд░рдгрд╛рд▓реА рд▓реЗрдмрд▓рд╣рд░реВ рд░ рдПрдиреЛрдЯреЗрд╕рдирд╣рд░реВ рд╣рдЯрд╛рдПрдкрдЫрд┐ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХрд╛ рдмреНрдпрд╛рдХрдЕрдк рдлрд╛рдЗрд▓рд╣рд░реВрдмрд╛рдЯ рд╕реНрд░реЛрддрд╣рд░реВ рдкрдирд┐ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБ рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдЬрд╛рди рдЖрд╡рд╢реНрдпрдХ рдЫ (:dir /tmp), рддреНрдпрд╕рдкрдЫрд┐ рдЗрдЪреНрдЫрд┐рдд рдлрд╛рдЗрд▓ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрд╣реЛрд╕реН apply.

рд╡реИрд╕реЗ, рдХреБрдиреИ рдкрдирд┐ рд╕рдордпрдорд╛ рддрдкрд╛рдИрдВ рдЕрдШрд┐рд▓реНрд▓реЛ ReplicaSet рдорд╛ рдлрд┐рд░реНрддрд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдпрджрд┐ рд╣рд╛рд▓рдХреЛ рдПрдХ рд╕рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдЫред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдЗрдЪреНрдЫрд┐рдд RS рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН (:rs рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕реВрдЪреАрдХреЛ рд▓рд╛рдЧрд┐):

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

... рд░ Ctrl + l рд╕рдВрдЧ рд░реЛрд▓рдмреНрдпрд╛рдХред рд╣рд╛рдореАрд▓реЗ рдПрдХ рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрдкрд░реНрдЫ рдХрд┐ рд╕рдмреИ рдХреБрд░рд╛ рд░рд╛рдореНрд░реЛ рднрдпреЛ:

k9s/whoami-5cfbdbb469 successfully rolled back

рд░ рдкреНрд░рддрд┐рдХреГрддрд┐рд╣рд░реВ рдорд╛рдкрди рдЧрд░реНрди, рдХреЗрд╡рд▓ "s" (рд╕реНрдХреЗрд▓) рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдХреЛ рдЗрдЪреНрдЫрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН:

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рддрдкрд╛рдИрдВрд▓реЗ рд╢реЗрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреБрдиреИ рдкрдирд┐ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: рдпреЛ рдЧрд░реНрди, рдЗрдЪреНрдЫрд┐рдд рдкреЛрдбрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН, "s" (рд╢реЗрд▓) рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдХрдиреНрдЯреЗрдирд░ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ

рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рд▓рдЧрд╣рд░реВ рд╣реЗрд░реНрди рдкрдирд┐ рд╕рдорд░реНрдерд┐рдд рдЫ (рдЪрдпрдирд┐рдд рд╕реНрд░реЛрддрдХреЛ рд▓рд╛рдЧрд┐ "l")ред рд░ рдирдпрд╛рдБ рд▓рдЧрд╣рд░реВ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддреНрдпрд╣рд╛рдБ рд▓рдЧрд╛рддрд╛рд░ рдЗрдиреНрдЯрд░ рдерд┐рдЪреНрдиреБ рдЖрд╡рд╢реНрдпрдХ рдЫреИрди: рдпреЛ ("m") рдЪрд┐рдиреНрд╣ рд▓рдЧрд╛рдЙрди рдкрд░реНрдпрд╛рдкреНрдд рдЫ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рдорд╛рддреНрд░ рдирдпрд╛рдБ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рд╕рд╛рдереИ рдПрдЙрдЯреИ рд╡рд┐рдиреНрдбреЛрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рд▓рдЧрд╣рд░реВрдХреЛ рдЖрдЙрдЯрдкреБрдЯрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдордп рджрд╛рдпрд░рд╛ рдЪрдпрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

  • рдХреБрдЮреНрдЬреА "1" - 1 рдорд┐рдиреЗрдЯрдХреЛ рд▓рд╛рдЧрд┐;
  • "2" - 5 рдорд┐рдиреЗрдЯ;
  • "3" - 15 рдорд┐рдиреЗрдЯ;
  • "4" - 30 рдорд┐рдиреЗрдЯ;
  • "5" - 1 рдШрдгреНрдЯрд╛;
  • "реж" - рдкреЛрдбрдХреЛ рд╕рдореНрдкреВрд░реНрдг рдЬреАрд╡рдирдХрд╛рд▓рдХреЛ рд▓рд╛рдЧрд┐ред

рд╡рд┐рд╢реЗрд╖ рдЕрдкрд░реЗрдЯрд┐рдЩ рдореЛрдб рдкрд▓реНрд╕ (рдЖрджреЗрд╢ :pulse) Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдмрд╛рд░реЗ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦрд╛рдЙрдБрдЫ:

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдпрд╕рдорд╛ рддрдкрд╛рдИрд▓реЗ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕реНрдерд┐рддрд┐ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ (рд╣рд░рд┐рдпреЛрд▓реЗ рддреА рд╕реНрдерд┐рддрд┐ рджреЗрдЦрд╛рдЙрдБрджрдЫ Running).

K9s рдХреЛ рдЕрд░реНрдХреЛ рд░рд╛рдореНрд░реЛ рд╕реБрд╡рд┐рдзрд╛ рднрдирд┐рдиреНрдЫ Popeyeред рдпрд╕рд▓реЗ рд╢реБрджреНрдзрддрд╛рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рдкрджрдгреНрдбрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдмреИ рд╕реНрд░реЛрддрд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫ рд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгрдХреЛ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдо "рд░реЗрдЯрд┐рдЩ" рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рддреНрдпрд╣рд╛рдБ рдкрд░реНрдпрд╛рдкреНрдд рдирдореВрдирд╛рд╣рд░реВ рд╡рд╛ рд╕реАрдорд╛рд╣рд░реВ рдЫреИрдирдиреН, рд░ рдХреЗрд╣реА рдХрдиреНрдЯреЗрдирд░ рд░реВрдЯрдХреЛ рд░реВрдкрдорд╛ рдЪрд▓реНрди рд╕рдХреНрдЫ ...

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рддреНрдпрд╣рд╛рдБ рдЖрдзрд╛рд░рднреВрдд рд╣реЗрд▓рдо рд╕рдорд░реНрдерди рдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдпреЛ рддрдкрд╛рдЗрдБ рдХреНрд▓рд╕реНрдЯрд░ рдорд╛ рддреИрдирд╛рдд рд╡рд┐рдЬреНрдЮрдкреНрддрд┐ рдХрд╕рд░реА рд╣реЗрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

:helm all # ╨▓╤Б╨╡
:helm $namespace # ╨▓ ╨║╨╛╨╜╨║╤А╨╡╤В╨╜╨╛╨╝ ╨┐╤А╨╛╤Б╤В╤А╨░╨╜╤Б╤В╨▓╨╡ ╨╕╨╝╨╡╨╜

рдмреЗрдиреНрдЪрдорд╛рд░реНрдХ

K9s рдорд╛ рдирд┐рд░реНрдорд┐рдд рдкрдирд┐ рд╣реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг HTTP рд╕рд░реНрднрд░ рд▓реЛрдб рдЬрдирд░реЗрдЯрд░ рд╣реЛ, рд░рд╛рдореНрд░реЛ рдЬреНрдЮрд╛рдд ab (ApacheBench) рдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдкред

рдпрд╕рд▓рд╛рдИ рд╕рдХреНрд╖рдо рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдкреЛрдбрдорд╛ рдкреЛрд░реНрдЯ-рдлрд░реНрд╡рд╛рд░реНрдб рд╕рдХреНрд╖рдо рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рдкреЛрдб рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ Shift + f рдерд┐рдЪреНрдиреБрд╣реЛрд╕реН, "pf" рдЙрдкрдирд╛рдо рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреЛрд░реНрдЯ-рдлрд░реНрд╡рд╛рд░реНрдб рд╕рдмрдореЗрдиреБрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реНред

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдкреЛрд░реНрдЯ рдЪрдпрди рдЧрд░реЗрдкрдЫрд┐ рд░ Ctrl + b рдерд┐рдЪреЗрдкрдЫрд┐, рдмреЗрдиреНрдЪрдорд╛рд░реНрдХ рдЖрдлреИ рд╕реБрд░реБ рд╣реБрдиреЗрдЫред рдЙрдирдХреЛ рдХрд╛рдордХреЛ рдирддрд┐рдЬрд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫ /tmp рд░ K9s рдорд╛ рдкрдЫрд┐ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрд▓рдмреНрдз рдЫрдиреНред

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕
k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдмреЗрдиреНрдЪрдорд╛рд░реНрдХрдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ $HOME/.k9s/bench-<my_context>.yml (рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░рдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд)ред

NB: рдпреЛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рд╕рдмреИ YAML рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ .k9s рдпреЛ рдареНрдпрд╛рдХреНрдХреИ рдерд┐рдпреЛ .yml (.yaml рд╕рд╣реА рдХрд╛рдо рдЧрд░реНрджреИрди)ред

рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЙрджрд╛рд╣рд░рдг:

benchmarks:
  defaults:
    # ╨Ъ╨╛╨╗╨╕╤З╨╡╤Б╤В╨▓╨╛ ╨┐╨╛╤В╨╛╨║╨╛╨▓
    concurrency: 2
    # ╨Ъ╨╛╨╗╨╕╤З╨╡╤Б╤В╨▓╨╛ ╨╖╨░╨┐╤А╨╛╤Б╨╛╨▓
    requests: 1000
  containers:
    # ╨Э╨░╤Б╤В╤А╨╛╨╣╨║╨╕ ╨┤╨╗╤П ╨║╨╛╨╜╤В╨╡╨╣╨╜╨╡╤А╨░ ╤Б ╨▒╨╡╨╜╤З╨╝╨░╤А╨║╨╛╨╝
    # ╨Ъ╨╛╨╜╤В╨╡╨╣╨╜╨╡╤А ╨╛╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╤В╤Б╤П ╨║╨░╨║ namespace/pod-name:container-name
    default/nginx:nginx:
      concurrency: 2
      requests: 10000
      http:
        path: /
        method: POST
        body:
          {"foo":"bar"}
        header:
          Accept:
            - text/html
          Content-Type:
            - application/json
 services:
    # ╨Ь╨╛╨╢╨╜╨╛ ╨┐╤А╨╛╨▓╨╛╨┤╨╕╤В╤М ╨▒╨╡╨╜╤З╨╝╨░╤А╨║ ╨╜╨░ ╤Б╨╡╤А╨▓╨╕╤Б╨░╤Е ╤В╨╕╨┐╨░ NodePort ╨╕ LoadBalancer
    # ╨б╨╕╨╜╤В╨░╨║╤Б╨╕╤Б: namespace/service-name
    default/nginx:
      concurrency: 5
      requests: 500
      http:
        method: GET
        path: /auth
      auth:
        user: flant
        password: s3cr3tp455w0rd

рдЗрдиреНрдЯрд░рдлреЗрд╕

рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рд╕реВрдЪреАрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрддрдореНрднрд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрд░ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░рд┐рдПрдХреЛ рдЫ $HOME/.k9s/views.ymlред рдпрд╕рдХреЛ рд╕рд╛рдордЧреНрд░реАрдХреЛ рдЙрджрд╛рд╣рд░рдг:

k9s:
 views:
   v1/pods:
     columns:
       - AGE
       - NAMESPACE
       - NAME
       - IP
       - NODE
       - STATUS
       - READY
   v1/services:
     columns:
       - AGE
       - NAMESPACE
       - NAME
       - TYPE
       - CLUSTER-IP

рд╕рд╛рдБрдЪреЛ, рддреНрдпрд╣рд╛рдБ рд▓реЗрдмрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрддрдореНрдн рдЫреИрди, рдЬрд╕рдХреЛ рд▓рд╛рдЧрд┐ рддреНрдпрд╣рд╛рдБ рдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдорд╛ рдореБрджреНрджрд╛.

рд╕реНрддрдореНрднрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдмреЛрд░реНрдб рд╕рд░реНрдЯрдХрдЯрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдЧрд░рд┐рдиреНрдЫ:

  • рд╢рд┐рдлреНрдЯ + рдПрди - рдирд╛рдо рджреНрд╡рд╛рд░рд╛;
  • рд╢рд┐рдлреНрдЯ + рдУ - рдиреЛрдбрд╣рд░реВ рджреНрд╡рд╛рд░рд╛;
  • Shift + i - рдЖрдИрдкреА рджреНрд╡рд╛рд░рд╛;
  • Shift + a - рдХрдиреНрдЯреЗрдирд░рдХреЛ рдЬреАрд╡рдирдХрд╛рд▓ рджреНрд╡рд╛рд░рд╛;
  • Shift + t - рдкреБрди: рд╕реБрд░реБ рд╣реБрдиреЗ рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛;
  • рд╢рд┐рдлреНрдЯ + рдЖрд░ - рддрдпрд╛рд░реА рд╕реНрдерд┐рддрд┐ рджреНрд╡рд╛рд░рд╛;
  • Shift + c - CPU рдЦрдкрдд рджреНрд╡рд╛рд░рд╛;
  • Shift + m - рдореЗрдореЛрд░реА рдЦрдкрдд рджреНрд╡рд╛рд░рд╛ред

рдпрджрд┐ рдХрд╕реИрд▓рд╛рдИ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░рдЩ рдпреЛрдЬрдирд╛ рдордирдкрд░реНрджреИрди рднрдиреЗ, K9s рд▓реЗ рдкрдирд┐ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ рдЫрд╛рд▓рд╛ред рддрдпрд╛рд░ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ (7 рдЯреБрдХреНрд░рд╛рд╣рд░реВ) рдЙрдкрд▓рдмреНрдз рдЫрдиреН рдпрд╣рд╛рдБред рдпрд╣рд╛рдБ рдпреА рдЫрд╛рд▓рд╛ рдордзреНрдпреЗ рдПрдХ рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реЛ (рдиреМрд╕реЗрдирд╛рдорд╛):

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдкреНрд▓рдЧрдЗрдирд╣рд░реВ

рдЕрдиреНрддрддрдГ, рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рддрдкрд╛рдИрдВрд▓рд╛рдИ K9s рдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реВ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдореИрд▓реЗ рдЖрдлреНрдиреЛ рдХрд╛рдордорд╛ рддреА рдордзреНрдпреЗ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХреЛ рдЫреБ - kubectl get all -n $namespace.

рдпреЛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫред рдПрдЙрдЯрд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН $HOME/.k9s/plugin.yml рдпреЛ рдЬрд╕реНрддреИ рд╕рд╛рдордЧреНрд░реА рд╕рдВрдЧ:

plugin:
 get-all:
   shortCut: g    
   confirm: false    
   description: get all
   scopes:
   - all
   command: sh
   background: false
   args:
   - -c
   - "kubectl -n $NAMESPACE get all -o wide | less"

рдЕрдм рддрдкрд╛рдЗрдБ рдиреЗрдорд╕реНрдкреЗрд╕рдорд╛ рдЬрд╛рди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ "g" рдерд┐рдЪреНрдиреБрд╣реЛрд╕реН рд╕рдореНрдмрдиреНрдзрд┐рдд рдЖрджреЗрд╢рдХреЛ рд╕рд╛рде рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди:

k9s рдХреЛ рдЕрд╡рд▓реЛрдХрди - Kubernetes рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдиреНрдирдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕

рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдордзреНрдпреЗ рддреНрдпрд╣рд╛рдБ рдЫрдиреН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, kubectl-jq рд╕рдБрдЧ рдПрдХреАрдХрд░рдг рд░ рд▓рдЧрд╣рд░реВ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ред stern.

рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛

рдореЗрд░реЛ рд╕реНрд╡рд╛рджрдХреЛ рд▓рд╛рдЧрд┐, K9s рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдзреЗрд░реИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рднрдпреЛ: рддрдкрд╛рдИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдирдЧрд░реА рддрдкрд╛рдИрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рд╕рдмреИ рдЪреАрдЬрд╣рд░реВ рдЦреЛрдЬреНрдирдХреЛ рд▓рд╛рдЧрд┐ рддреБрд░реБрдиреНрддреИ рдмрд╛рдиреА рдкрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред kubectlред рдо рд▓рдЧрд╣рд░реВ рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдмрдЪрдд, рд╕рдВрд╕рд╛рдзрдирд╣рд░реВрдХреЛ рджреНрд░реБрдд рд╕рдореНрдкрд╛рджрди, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рдХрд╛рдордХреЛ рдЧрддрд┐ *, Popeye рдореЛрдб рдЙрдкрдпреЛрдЧреА рднрдПрдХреЛ рджреЗрдЦреЗрд░ рдЦреБрд╕реА рдерд┐рдПред рдПрдЙрдЯрд╛ рд╡рд┐рд╢реЗрд╖ рдЙрд▓реНрд▓реЗрдЦ рднрдиреЗрдХреЛ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рд░ рддрдкрд╛рдИрдВрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдорд┐рд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рд╣реЛред

* рдпрджреНрдпрдкрд┐, рд▓рдЧрд╣рд░реВрдХреЛ рдареВрд▓реЛ рдорд╛рддреНрд░рд╛рдХреЛ рд╕рд╛рде, рдореИрд▓реЗ K9s рдХреЛ рдврд┐рд▓реЛ рд╕рдЮреНрдЪрд╛рд▓рди рдкрдирд┐ рдпрд╛рдж рдЧрд░реЗрдВред рддреНрдпрд╕реНрддрд╛ рдХреНрд╖рдгрд╣рд░реВрдорд╛, рдЙрдкрдпреЛрдЧрд┐рддрд╛рд▓реЗ Intel Xeon E2xx рдмрд╛рдЯ 312 рдХреЛрд░ "рдЦрд╛рдпреЛ" рд░ рдлреНрд░рд┐рдЬ рдкрдирд┐ рд╣реБрди рд╕рдХреНрдЫред

рдпрддрд┐рдмреЗрд▓рд╛ рдХреЗ рд╣рд░рд╛рдЗрд░рд╣реЗрдХреЛ рдЫ ? рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдирдЬрд╛рдЗрдХрди рдЕрдШрд┐рд▓реНрд▓реЛ рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рджреНрд░реБрдд рд░реЛрд▓рдмреНрдпрд╛рдХ (рд╣рд╛рдореА RS рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░рд┐рд░рд╣реЗрдХрд╛ рдЫреИрдиреМрдВ)ред рдпрд╕рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рд░рд┐рдХрднрд░реА рдХреЛ рд▓рд╛рдЧреА рдорд╛рддреНрд░ рд╣реБрдиреНрдЫ рдХреБрд▓ рд╕рдВрд╕рд╛рдзрди: рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдПрдиреЛрдЯреЗрд╕рди рд╡рд╛ рд▓реЗрдмрд▓ рдореЗрдЯрд╛рдЙрдиреБрднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рд╕рдореНрдкреВрд░реНрдг рд╕реНрд░реЛрддрд▓рд╛рдИ рдореЗрдЯрд╛рдЙрди рд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ (рдпрд╣рд╛рдБ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдЬрд╛рди рдЖрд╡рд╢реНрдпрдХ рдЫ)ред рдЕрд░реНрдХреЛ рд╕рд╛рдиреЛ - рдпрд╕реНрддреЛ рдмрдЪрдд "рдмреНрдпрд╛рдХрдЕрдк" рдХреЛ рд▓рд╛рдЧреА рдкрд░реНрдпрд╛рдкреНрдд рдорд┐рддрд┐ рдЫреИрдиред

PS

рд╣рд╛рдореНрд░реЛ рдмреНрд▓рдЧрдорд╛ рдкрдирд┐ рдкрдвреНрдиреБрд╣реЛрд╕реН:

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди