k9s рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди - Kubernetes рд╕рд╛рдареА рдкреНрд░рдЧрдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕

k9s рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди - Kubernetes рд╕рд╛рдареА рдкреНрд░рдЧрдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕

K9s Kubernetes рдХреНрд▓рд╕реНрдЯрд░реНрд╕рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рдЯрд░реНрдорд┐рдирд▓ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. K8s рдордзреНтАНрдпреЗ рдиреЕрд╡реНрд╣рд┐рдЧреЗрдЯ рдХрд░рдгреЗ, рджреЗрдЦрд░реЗрдЦ рдХрд░рдгреЗ рдЖрдгрд┐ ре▓рдкреНрд▓рд┐рдХреЗрд╢рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рд╕реЛрдкреЗ рдХрд░рдгреЗ рд╣реЗ рдпрд╛ рдореБрдХреНрдд рд╕реНрд░реЛрдд рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рдЙрджреНрджрд┐рд╖реНрдЯ рдЖрд╣реЗ. K9s рд╕рддрдд Kubernetes рдордзреАрд▓ рдмрджрд▓рд╛рдВрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рддреЗ рдЖрдгрд┐ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреНрд░реБрдд рдЖрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддреЗ.

рдкреНрд░рдХрд▓реНрдк рдЧреЛ рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рджреАрдб рд╡рд░реНрд╖рд╛рдВрд╣реВрди рдЕрдзрд┐рдХ рдХрд╛рд│ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЖрд╣реЗ: рдкрд╣рд┐рд▓реА рдХрдорд┐рдЯ 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 рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рддреЗ рддреБрдореНрд╣реА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реВ рд╢рдХрддрд╛ - рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕реНрдЯреЗрдЯрдлреБрд▓рд╕реЗрдЯрдЪреА рд╕реВрдЪреА рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА (рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдиреЗрдорд╕реНрдкреЗрд╕рдордзреНрдпреЗ) рддреБрдореНрд╣реА рдПрдВрдЯрд░ рдХрд░реВ рд╢рдХрддрд╛. :sts.

k9s рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди - Kubernetes рд╕рд╛рдареА рдкреНрд░рдЧрдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕

рдХрд╛рд╣реА рдЗрддрд░ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕рдВрд╕рд╛рдзрдирд╛рдВрд╕рд╛рдареА:

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

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

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

k9s рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди - Kubernetes рд╕рд╛рдареА рдкреНрд░рдЧрдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕

k9s рдордзреНрдпреЗ рджреЗрдЦреАрд▓ рдЖрд╣реЗ рд╢реЛрдз рдореЛрдб, рдЬреНрдпрд╛рд╡рд░ рдЬрд╛рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд "/" рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рд╡рд░реНрддрдорд╛рди "рд╡рд┐рдВрдбреЛ" рдЪреНрдпрд╛ рд╕рд╛рдордЧреНрд░реАрдордзреВрди рд╢реЛрдзрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдкрдг рдпрд╛рдкреВрд░реНрд╡реА рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕ :ns, рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдиреЗрдорд╕реНрдкреЗрд╕реЗрд╕рдЪреА рд╕реВрдЪреА рдЙрдШрдбрд▓реА рдЖрд╣реЗ. рдЬрд░ рддреНрдпрд╛рдкреИрдХреА рдмрд░реЗрдЪ рдЕрд╕рддреАрд▓, рддрд░ рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рд╕рд╛рдареА рдЦрд╛рд▓реА рд╕реНрдХреНрд░реЛрд▓ рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдлрдХреНрдд рдиреЗрдорд╕реНрдкреЗрд╕рд╕рд╣ рд╡рд┐рдВрдбреЛрдордзреНрдпреЗ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛ /mynamespace.

рд▓реЗрдмрд▓рд╛рдВрджреНрд╡рд╛рд░реЗ рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдЗрдЪреНрдЫрд┐рдд рдиреЗрдорд╕реНрдкреЗрд╕рдордзреАрд▓ рд╕рд░реНрд╡ рдкреЙрдбреНрд╕ рдирд┐рд╡рдбреВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдирдВрддрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, / -l app=whoami. рдЖрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рд▓реЗрдмрд▓рд╕рд╣ рд╢реЗрдВрдЧрд╛рдВрдЪреА рдпрд╛рджреА рдорд┐рд│реЗрд▓:

k9s рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди - Kubernetes рд╕рд╛рдареА рдкреНрд░рдЧрдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕

рд▓реЙрдЧ, YAML рдореЕрдирд┐рдлреЗрд╕реНрдЯ рдкрд╛рд╣рдгреЗ рдЖрдгрд┐ рдпрд╛рд╕рд╣ рд╕рд░реНрд╡ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╡рд┐рдВрдбреЛрдордзреНрдпреЗ рд╢реЛрдз рдХрд╛рд░реНрдп рдХрд░рддреЗ describe рд╕рдВрд╕рд╛рдзрдирд╛рдВрд╕рд╛рдареА - рдпрд╛ рдХреНрд╖рдорддрд╛рдВрдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреАрд╕рд╛рдареА рдЦрд╛рд▓реА рдкрд╣рд╛.

рдПрдХреВрдг рдиреЗрд╡реНрд╣рд┐рдЧреЗрд╢рди рдкреНрд░рд╡рд╛рд╣ рдХрд╕рд╛ рджрд┐рд╕рддреЛ?

рдЖрдЬреНрдЮреЗрдиреЗ :ctx рдЖрдкрдг рд╕рдВрджрд░реНрдн рдирд┐рд╡рдбреВ рд╢рдХрддрд╛:

k9s рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди - Kubernetes рд╕рд╛рдареА рдкреНрд░рдЧрдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕

рдиреЗрдорд╕реНрдкреЗрд╕ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдзреАрдЪ рдирдореВрдж рдХреЗрд▓реЗрд▓реА рдХрдорд╛рдВрдб рдЖрд╣реЗ :ns, рдЖрдгрд┐ рдирдВрддрд░ рдЖрдкрдг рдЗрдЪреНрдЫрд┐рдд рдЬрд╛рдЧреЗрд╕рд╛рдареА рд╢реЛрдз рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛: /test.

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

k9s рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди - Kubernetes рд╕рд╛рдареА рдкреНрд░рдЧрдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕

рдлрдХреНрдд рд╢реЗрдВрдЧрд╛ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕реВ рд╢рдХрддрд╛рдд - рдирдВрддрд░ рдлрдХреНрдд рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛ :pod. ConfigMaps рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд (:cm - рдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рд╕реВрдЪреАрд╕рд╛рдареА) рддреБрдореНрд╣реА рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕рд▓реЗрд▓реА рд╡рд╕реНрддреВ рдирд┐рд╡рдбреВ рд╢рдХрддрд╛ рдЖрдгрд┐ "u" рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░реВ рд╢рдХрддрд╛, рддреНрдпрд╛рдирдВрддрд░ K9s рддреБрдореНрд╣рд╛рд▓рд╛ рдирдХреНрдХреА рдХреЛрдг (рд╣рд╛ рдореБрдЦреНрдпрдордВрддреНрд░реА) рд╡рд╛рдкрд░рдд рдЖрд╣реЗ рд╣реЗ рд╕рд╛рдВрдЧреЗрд▓.

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

k9s рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди - Kubernetes рд╕рд╛рдареА рдкреНрд░рдЧрдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕
(рдпрд╛рдкреИрдХреА рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕рд╛рдзрди рд╕рдВрдкрд╛рджрд┐рдд, рдмрджрд▓рд▓реЗ, рдмрдирд╡рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ describe.)

рдЖрдгрд┐ рдпреЗрдереЗ рдкреНрд░рд╡реЗрд╢рд╛рд╕рд╣ рддреИрдирд╛рдд рдЖрд╣реЗ:

k9s рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди - Kubernetes рд╕рд╛рдареА рдкреНрд░рдЧрдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕

рд╕рдВрд╕рд╛рдзрдирд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ

рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕рд╛рдзрдирд╛рд╡рд┐рд╖рдпреА рдорд╛рд╣рд┐рддреА YAML рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдЪреНрдпрд╛рдордзреНрдпреЗ рдорд┐рд│реВ рд╢рдХрддреЗ describe рдпреЛрдЧреНрдп рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ (рдЕрдиреБрдХреНрд░рдореЗ тАЬyтАЭ рдЖрдгрд┐ тАЬdтАЭ) рджрд╛рдмреВрди. рдЕрд░реНрдерд╛рдд, рдЖрдгрдЦреА рдореВрд▓рднреВрдд рдСрдкрд░реЗрд╢рдиреНрд╕ рдЖрд╣реЗрдд: рдЗрдВрдЯрд░рдлреЗрд╕рдордзреАрд▓ рд╕реЛрдпреАрд╕реНрдХрд░ тАЬрд╣реЗрдбрд░тАЭ (Ctrl + e рджрд╛рдмреВрди рд▓рдкрд▓реЗрд▓реЗ) рдЕрд╕рд▓реНрдпрд╛рдореБрд│реЗ рддреНрдпрд╛рдВрдЪреА рд╕реВрдЪреА рдЖрдгрд┐ рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рдиреЗрд╣рдореА рджреГрд╢реНрдпрдорд╛рди рдЕрд╕рддрд╛рдд.

k9s рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди - Kubernetes рд╕рд╛рдареА рдкреНрд░рдЧрдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕

рдХреЛрдгрддреЗрд╣реА рд╕рдВрд╕рд╛рдзрди рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛рдирд╛ ("рдИ" рдирд┐рд╡рдбрд▓реНрдпрд╛рдирдВрддрд░), рдордЬрдХреВрд░ рд╕рдВрдкрд╛рджрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдордзреНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ (export EDITOR=vim).

рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрдирд╛рдЪреЗ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд░реНрдгрди рдХрд╕реЗ рджрд┐рд╕рддреЗ рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ (describe):

k9s рдЪреЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди - Kubernetes рд╕рд╛рдареА рдкреНрд░рдЧрдд рдЯрд░реНрдорд┐рдирд▓ рдЗрдВрдЯрд░рдлреЗрд╕

рд╣реЗ рдЖрдЙрдЯрдкреБрдЯ (рдХрд┐рдВрд╡рд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдЪреЗ YAML рдореЕрдирд┐рдлреЗрд╕реНрдЯ рдкрд╛рд╣рдгреНрдпрд╛рдЪреЗ рдЖрдЙрдЯрдкреБрдЯ) рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ Ctrl + s рд╡рд╛рдкрд░реВрди рдЬрддрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рддреЗ рдХреБрдареЗ рдЬрддрди рдХреЗрд▓реЗ рдЬрд╛рдИрд▓ рд╣реЗ K9s рд╕рдВрджреЗрд╢рд╛рд╡рд░реВрди рдХрд│реЗрд▓:

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

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

рддрд╕реЗ, рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд░рд┐рдкреНрд▓рд┐рдХрд╛рд╕реЗрдЯрдордзреНрдпреЗ рдХрд╛рд╣реА рд╕рдорд╕реНрдпрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕ рддреБрдореНрд╣реА рдХрдзреАрд╣реА рдорд╛рдЧреАрд▓ рдкреНрд░рддрд┐рдХреГрддреА рд╕реЗрдЯрд╡рд░ рдкрд░рдд рдпреЗрдК рд╢рдХрддрд╛. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЗрдЪреНрдЫрд┐рдд 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 рддрд╛рд╕;
  • "0" - рдкреЙрдбрдЪреНрдпрд╛ рд╕рдВрдкреВрд░реНрдг рдЖрдпреБрд╖реНрдпрд╛рд╕рд╛рдареА.

рд╡рд┐рд╢реЗрд╖ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдкрд▓реНрд╕ (рдЖрджреЗрд╢ :pulse) рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдмрджреНрджрд▓ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рд╣рд┐рддреА рджрд░реНрд╢рд╡рд┐рддреЗ:

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 - IP рджреНрд╡рд╛рд░реЗ;
  • Shift + a - рдХрдВрдЯреЗрдирд░ рдЖрдЬреАрд╡рди;
  • рд╢рд┐рдлреНрдЯ + рдЯреА тАФ рд░реАрд╕реНрдЯрд╛рд░реНрдЯрдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреБрд╕рд╛рд░;
  • рд╢рд┐рдлреНрдЯ + рдЖрд░ - рддрдпрд╛рд░реА рд╕реНрдерд┐рддреАрдиреБрд╕рд╛рд░;
  • рд╢рд┐рдлреНрдЯ + рд╕реА - 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 рд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдг рдЖрдгрд┐ рд▓реЙрдЧ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрддрддрд╛ рдЖрд╣реЗ. рдХрдбрдХ.

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

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

* рдЬрд░реА, рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рддреАрд▓ рд▓реЙрдЧрд╕рд╣, рдорд▓рд╛ K9 рдЪреЗ рдзреАрдореЗ рдСрдкрд░реЗрд╢рди рджреЗрдЦреАрд▓ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ. рдЕрд╢рд╛ рдХреНрд╖рдгреА, рдпреБрдЯрд┐рд▓рд┐рдЯреАрдиреЗ рдЗрдВрдЯреЗрд▓ Xeon E2xx рдЪреЗ 312 рдХреЛрд░ тАЬрдЦрд╛рд▓реНрд▓реЗтАЭ рдЖрдгрд┐ рдЕрдЧрджреА рдЧреЛрдард╡реВ рд╢рдХрддрд╛рдд.

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

PS

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

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

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