Installer kubectl
Avec chocolatey (en powershell admin)
choco install kubernetes-cli
Manuellement
- Télécharger kubectl
https://storage.googleapis.com/kubernetes-release/release/v1.11.0/bin/windows/amd64/kubectl.exe
- L'installer dans un des répertoires du PATH (
echo %PATH%)
Commandes de base
Aide
- Afficher la liste des commandes
kubectl
- Afficher l'aide pour une commande
kubectl run --help
- Afficher la documentation d'un type de ressource
kubectl explain pod
Utiliser les namespaces
Remplacer <trigramme> par votre trigramme dans les commandes ci-dessous.
- Créer un namespace
kubectl create namespace <trigramme>
- Afficher les ressources d'un namespace
kubectl get all --namespace <trigramme>
kubectl get all -n <trigramme>
Pour ne pas avoir à spécifier le namespace à chaque commande, il est possible de configurer un contexte kubectl qui utilisera un namespace donné pour chaque commande
kubectl config set-context dtl-kube-training --namespace=<trigramme> --cluster=dtl-kube-training --user=dtl-kube-training
Il est également possible de lister les ressources dans tous les namespaces
kubectl get pods --all-namespaces
- Exemple, lister toutes les ressources de tous les namespaces
kubectl get all --all-namespaces
Déployer une image
Kubectl propose un certain nombre de commandes "simplifiées" qui permettent par exemple de créer des déploiements d'un coup. - Créer un déploiement
kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.10
- Afficher les ressources crées par la commande précédente
kubectl get all
- Afficher le manifeste correspondant à un ressource (essayer différents formats de sortie)
kubectl get pods hello-minikube -o yaml
kubectl get pods hello-minikube -o json
kubectl get pods hello-minikube -o wide
- Afficher les détails de la ressource
kubectl describe pods/hello-minikube
Lister les ressources du cluster
Les ressources crées dans kubernetes ont chacune un type, un nom et un namespace. Pour lister les ressources,
il faut à minima spécifier le type voulu (ou all)
- Exemple, lister les pods
kubectl get pods
Il est possible d'obtenir la liste des ressources disponible dans le cluster (Sauf sous windows)
kubectl api-resources
NAME SHORTNAMES APIGROUP NAMESPACED KIND
bindings true Binding
componentstatuses cs false ComponentStatus
configmaps cm true ConfigMap
endpoints ep true Endpoints
events ev true Event
limitranges limits true LimitRange
namespaces ns false Namespace
nodes no false Node
...
services svc true Service
La liste nous donne également un nom raccourci qu'il est possible d'utiliser à la place du nom complet
- Exemple, lister les services avec raccourci
kubectl get svc
Obtenir les informations du cluster
- Afficher la liste des noeuds du cluster
kubectl get node
kubectl get node -o yaml
- Afficher les informations générales du cluster
kubectl cluster-info
- Afficher les informations détaillées du cluster
kubectl cluster-info dump