Outils pour utilisateurs

Outils du site


tech:notes_kubernetes_k8s_-_outils

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tech:notes_kubernetes_k8s_-_outils [2025/10/06 11:48] Jean-Baptistetech:notes_kubernetes_k8s_-_outils [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 +{{tag>Brouillon K8S}}
 +
 +# Notes Kubernetes k8s - Outils
 +
 +Voir :
 +* https://wiki.sfeir.com/kubernetes/outils/k3s/
 +* https://blog.stephane-robert.info/docs/conteneurs/orchestrateurs/outils/kubectl-plugins/
 +
 +Voir aussi :
 +* Octant / Lens
 +
 +
 +## Arkade
 +
 +Gestionnaire de paquets pour installer des outils K8S
 +
 +https://github.com/alexellis/arkade
 +
 +
 +## kubectl
 +
 +Afin d’interagir avec Kubernetes, kubectl - la CLI permettant d'exécuter des commandes sur un cluster - est nécessaire.
 +
 +En outre, pour peu qu'on ait à interagir avec plusieurs clusters, avec différents crédentials, dans plusieurs namespaces, il devient difficile de jongler de l'un à l'autre. Afin de faciliter cela, des programmes existent:
 +
 +
 +## Krew
 +
 +Krew is the plugin manager for kubectl command-line tool.
 +
 +Avec asdf (voir aussi mise.run)
 +~~~bash
 +asdf plugin add krew
 +asdf install krew latest
 +asdf set --home krew latest
 +~~~
 +
 +
 +## Kubetail
 +
 +https://github.com/johanhaleby/kubetail
 +
 +
 +## kubectx / kubens
 +
 +Voir :
 +* `kubectl config`
 +
 +Permet de changer le contexte courant et le namespace courant
 +
 +
 +Voir :
 +* https://wiki.sfeir.com/kubernetes/outils/kubectx/
 +
 +~~~bash
 +apt install kubectx
 +~~~
 +
 +
 +
 +Migrating to Kubectx and Kubens From KUBECONFIG 
 +~~~bash
 +# Reference all your config files so Kubectl load them all
 +$ export KUBECONFIG=~/.kube/cluster-1:~/.kube/cluster-2:~/.kube/cluster-3
 +    
 +
 +# Save a merged version of the current config to a new file
 +$ kubectl config view --flatten > ~/.kube/.config
 +~~~
 +
 +
 +
 +
 +## kube-ps1
 +
 +Permet d'afficher au prompt les contexte et namespace courants
 +
 +
 +## Helm 
 +
 +Templating & package manager
 +
 +Helm est un package manager pour kubernetes, permettant de déployer facilement des composants sous forme de "Charts".
 +
 +
 +Install
 +~~~bash
 +sudo snap install helm --classic
 +~~~
 +
 +Dépôts Bitnami : \\
 +https://github.com/bitnami/charts/tree/main/bitnami
 +
 +Exemple avec OpenEBS
 +~~~bash
 +helm repo add openebs https://openebs.github.io/charts
 +helm repo update
 +helm search repo openebs
 +helm show values openebs/openebs > value-openebs.yml
 +
 +kubectl create ns openebs
 +helm install openebs openebs/openebs -f value-openebs.yml -n openvbs
 +
 +helm upgrade openebs openebs/openebs --namespace openvbs --set legacy.enable=true --reuse-vakues
 +~~~
 +
 +
 +
 +## k9s
 +
 +~~~bash
 +snap install k9s --devmode
 +ln -s /snap/k9s/current/bin/k9s /usr/local/bin/
 +~~~
 +
 +## popeye
 +
 +## stern
 +
 +
 +## nerdctl
 +
 +Équivalent de la commande docker / podman / crictl / ctr mais pour ContainerD
 +
 +
 +Voir [Vidéo Docker vs Containerd: Understanding the Differences and Choosing the Right Containerization Tool](https://www.youtube.com/watch?v=21onkZfL2yM)
 +
 +
 +
 +
 +
 +
 +## LinkerD
 +
 +(Conçurent de Istio)
 +
 +## Istio
 +
 +(Conçurent de LinkerD)
 +
 +
 +## Kubectl (kubernetes-client)
 +
 +Install de kubectl
 +~~~bash
 +sudo apt-get install kubernetes-client
 +~~~
 +
 +ou
 +~~~bash
 +VERSION=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)
 +curl -LO https://storage.googleapis.com/kubernetes-release/release/$VERSION/bin/linux/amd64/kubectl
 +chmod +x ./kubectl
 +sudo mv ./kubectl /usr/local/bin/kubectl
 +~~~
 +
 +
 +### Config
 +
 +~~~bash
 +mkdir $HOME/.config/
 +kubectl completion bash >> $HOME/.config/bash_completion
 +~~~
 +
 +### Conf
 +
 +`${HOME}/.kube/config`
 +ou `$KUBECONFIG`
 +
 +`~/.bashrc`
 +~~~bash
 +alias k=kubectl
 +complete -F __start_kubectl k
 + 
 +alias kall="kubectl api-resources --namespaced=true -o name | xargs -i kubectl get {} -o name"
 +alias kapp="kubectl apply -f"
 +alias kdel="kubectl delete -f"
 +alias ksys="kubectl -n kube-system"
 + 
 +kshow() {
 +    kubectl get "$@" -o yaml | vim -c "set ft=yaml" -c "g/ managedFields:/;/ name/-1d" -c "noh" -
 +}
 +
 +alias kports='kubectl get pods -o custom-columns="POD:.metadata.name,PORTS:.spec.containers[*].ports[*].containerPort"'
 +
 +alias kcc='kubectl config current-context'
 +alias kg='kubectl get'
 +alias kga='kubectl get all --all-namespaces'
 +alias kgp='kubectl get pods'
 +alias kgs='kubectl get services'
 +
 +~~~
 +
 +
 +
 +
 +## Dashboard
 +
 +Voir : 
 +  * https://github.com/kubernetes/dashboard
 +  * https://komodor.com/learn/kubernetes-dashboard/
 +
 +Remplacé par https://headlamp.dev
 +
 +
 +### Installation
 +
 +~~~bash
 +helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard
 +~~~
 +
 +
 +
 +`dashboard-admin.yaml`
 +~~~yaml
 +apiVersion: v1
 +kind: ServiceAccount
 +metadata:
 +  name: admin-user
 +  namespace: kubernetes-dashboard
 +---
 +apiVersion: rbac.authorization.k8s.io/v1
 +kind: ClusterRoleBinding
 +metadata:
 +  name: admin-user
 +roleRef:
 +  apiGroup: rbac.authorization.k8s.io
 +  kind: ClusterRole
 +  name: cluster-admin
 +subjects:
 +- kind: ServiceAccount
 +  name: admin-user
 +  namespace: kubernetes-dashboard
 +~~~
 +
 +~~~bash
 +kubectl apply -f dashboard-admin.yaml
 +~~~
 +
 +
 +
 +### Accès
 +
 +~~~bash
 +kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard-kong-proxy 8443:443
 +~~~
 +
 +~~~bash
 +# kubectl -n NAMESPACE create token SERVICE_ACCOUNT
 +kubectl -n kubernetes-dashboard create token admin-user
 +~~~
 +
 +Source : https://upcloud.com/resources/tutorials/deploy-kubernetes-dashboard
 +
 +
 +Pour avoir les graphiques il faut installer **Metrics-server**
 +
 +
 +## Stockage
 +
 +https://github.com/utkuozdemir/pv-migrate?
 +
 +
 +### Old
 +
 +
 +~~~bash
 +kubectl apply  -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml
 +#kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended.yaml
 +~~~
 +
 +~~~
 +# kubectl proxy
 +Starting to serve on 127.0.0.1:8001
 +~~~
 +
 +
 +
 +## Notes WebUI Rancher
 +
 +~~~bash
 +docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest
 +~~~
 +
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki