# K9S
#### Partage de connaissances du 13/05/2022
---
# Objectif
- Installer K9S
- Prendre en main de K9S
- Cas d'usage : voir dans les pods
- Cas d'usage : faire un port-forward
- Cas d'usage : rebalancer un cluster
---
# Description
- K9S est une interface utilisateur pour Kubernetes
- Site web : https://k9scli.io/ - https://github.com/derailed/k9s
---
# Installation
```
$ toolbox update
$ toolbox install k9s
```
---
# Lancement
Deux façons assez communes de le lancer :
- `k9s`
- `k9s -n <namespace>`
---
# Comment faire pour...
- <span>quitter : `:q`</span><!-- .element: style="font-size: smaller" -->
- <span>changer de namespace : `:ns` puis choisir le namespace puis `<enter>`</span><!-- .element: style="font-size: smaller" -->
- <span>voir les configmaps : `:cm`</span><!-- .element: style="font-size: smaller" -->
- <span>voir un autre objet : `:<objet>`</span><!-- .element: style="font-size: smaller" -->
- <span>rechercher dans la liste : `/<recherche>` puis `<enter>`</span><!-- .element: style="font-size: smaller" -->
- <span>revenir en arrière : `<escape>`</span><!-- .element: style="font-size: smaller" -->
---
# Cas d'usage : voir les pods
Choisir le namespace (`:ns` puis choisir le namespace puis `<enter>`)</span><!-- .element: style="font-size: smaller" -->
La liste des pods apparaît. On peut
- `d` : describe (`kubectl describe`)
- `y` : yaml (`kubectl get -o yaml`)
- `<enter>` : voir les containers
- `<enter>` : voir les logs d'un containers (taper ensuite `0` pour "tail")
- `s` : lancer un shell dans un container
---
# Cas d'usage : port-forward
- `:ns` pour choisir le namespace
- choisir le pod. `<enter>` pour voir ses containers
- `<shift>-f` pour lancer le port-forward
Pour abandonner un port-forward :
- soit quitter k9s
- soit `f` pour voir les port-forwards, puis `<ctrl>-d`
---
# Cas d'usage : rebalancer un cluster
Documentation : https://docs-internal.corp.caascad.com/Op%C3%A9rations/Kubernetes/rebalance_clusters/
Voir les noeuds : `:node`
Identifier les noeuds surchargés. On peut classer les noeuds par utilisation CPU (`<shift>-c`) ou mémoire (`<shift>-m`).
---
# Cas d'usage : rebalancer un cluster (suite)
Le principe consiste à
- cordon (touche `c`) le noeud surchargé
- supprimer des pods tournant sur ce noeud (touche `<ctrl>-d`)
- uncordon (touche `u`) le noeud lorsqu'il est moins chargé
---
# Conclusion
- k9s ne remplace pas kubectl
- k9s est un excellent complément à kubectl lorsqu'on commence à lancer beaucoup de commandes kubectl
- k9s n'est pas facile à prendre en main au début
- k9s, une fois apprivoisé, est super cool !
<style type="text/css">
p {
font-size: smaller;
}
.reveal ul ul li {
font-size: smaller;
}
.reveal section {
text-align: left;
}
.reveal h3 {
color: orange;
text-align: center;
border-bottom: 1px solid orange;
}
.reveal h1 {
color: orange;
text-align: center;
border-bottom: 1px solid orange;
margin-bottom: 0.4em;
font-size: 1.5em;
}
.reveal code {
color: aquamarine;
font-size: smaller;
}
.reveal pre code {
border: 1px solid aquamarine;
}
</style>
{"type":"slide","slideOptions":{"transition":"slide","center":true}}