Présentation
Kubectl est un ensemble de commandes permettant de contrôler les clusters Kubernetes. Chaque commande Kubernetes a un point de terminaison d'API, et l'objectif principal de kubectl est d'effectuer des requêtes HTTP à l'API.
Bien qu'il soit possible d'émettre des requêtes HTTP vous-même (par exemple, en utilisant curl), kubectl est conçu pour rendre ce processus plus simple et plus simple.
Ce didacticiel couvrira toutes les opérations kubectl courantes et fournira des exemples pour vous familiariser avec la syntaxe.
Liste des commandes kubectl
Utilisez le kubectl commandes répertoriées ci-dessous comme référence rapide lorsque vous travaillez avec Kubernetes.
Liste des ressources
Pour répertorier un ou plusieurs pods, contrôleurs de réplication, services ou ensembles de démons, utilisez le kubectl get commande.
Générez une liste en texte brut de tous les espaces de noms :
kubectl get namespaces Afficher une liste en texte brut de tous les pods :
kubectl get pods Générez une liste détaillée en texte brut de tous les pods, contenant des informations telles que le nom du nœud :
kubectl get pods -o wide Afficher une liste de tous les pods exécutés sur un serveur de nœud particulier :
kubectl get pods --field-selector=spec.nodeName=[server-name] Répertorier un contrôleur de réplication spécifique en texte brut :
kubectl get replicationcontroller [replication-controller-name] Générez une liste en texte brut de tous les contrôleurs et services de réplication :
kubectl get replicationcontroller,services Afficher une liste en texte brut de tous les ensembles de démons :
kubectl get daemonset Créer une ressource
Créez une ressource telle qu'un service, un déploiement, une tâche ou un espace de noms à l'aide de kubectl create commande.
Par exemple, pour créer un nouvel espace de noms, tapez :
kubectl create namespace [namespace-name] Créez une ressource à partir d'un fichier JSON ou YAML :
kubectl create -f [filename] Appliquer et mettre à jour une ressource
Pour appliquer ou mettre à jour une ressource, utilisez le kubectl apply commande. La source de cette opération peut être soit un fichier, soit l'entrée standard (stdin ).
Créez un nouveau service avec la définition contenue dans un fichier [service-name].yaml :
kubectl apply -f [service-name].yaml Créez un nouveau contrôleur de réplication avec la définition contenue dans un fichier [controller-name].yaml :
kubectl apply -f [controller-name].yaml Créez les objets définis dans n'importe quel fichier .yaml, .yml ou .json dans un répertoire :
kubectl apply -f [directory-name]
Vous pouvez mettre à jour une ressource en la configurant dans un éditeur de texte, à l'aide de kubectl edit commande. Cette commande est une combinaison de kubectl get et kubectl apply .
Par exemple, pour modifier un service, saisissez :
kubectl edit svc/[service-name] Cette commande ouvre le fichier dans votre éditeur par défaut. Pour utiliser un autre éditeur, spécifiez-le devant la commande :
KUBE_EDITOR=”[editor-name]” kubectl edit svc/[service-name] Affichage de l'état des ressources
Pour afficher l'état d'un nombre quelconque de ressources en détail, utilisez le kubectl describe commande. Par défaut, la sortie répertorie également les ressources non initialisées.
Afficher les détails d'un nœud particulier :
kubectl describe nodes [node-name] Afficher les détails d'un pod particulier :
kubectl describe pods [pod-name] Afficher les détails d'un pod dont le nom et le type sont répertoriés dans pod.json :
kubectl describe -f pod.json Consultez les détails de tous les pods gérés par un contrôleur de réplication spécifique :
kubectl describe pods [replication-controller-name] Afficher les détails de tous les pods :
kubectl describe pods Supprimer des ressources
Pour supprimer des ressources d'un fichier ou d'un stdin, utilisez le kubectl delete commande.
Supprimez un pod en utilisant le nom et le type indiqués dans pod.yaml :
kubectl delete -f pod.yaml Supprimez tous les pods et services avec une étiquette spécifique :
kubectl delete pods,services -l [label-key]=[label-value] Supprimer tous les pods (y compris les pods non initialisés) :
kubectl delete pods --all Exécuter une commande
Utilisez kubectl exec pour émettre des commandes dans un conteneur ou pour ouvrir un shell dans un conteneur.
Recevoir la sortie d'une commande exécutée sur le premier conteneur d'un pod :
kubectl exec [pod-name] -- [command] Obtenez le résultat d'une commande exécutée sur un conteneur spécifique dans un pod :
kubectl exec [pod-name] -c [container-name] -- [command] Exécutez /bin/bash d'un pod spécifique. La sortie reçue provient du premier conteneur :
kubectl exec -ti [pod-name] -- /bin/bash Modification des fichiers kubeconfig
kubectl config vous permet d'afficher et de modifier les fichiers kubeconfig. Cette commande est généralement suivie d'une autre sous-commande.
Afficher le contexte courant :
kubectl config current-context Définissez une entrée de cluster dans kubeconfig :
kubectl config set-cluster [cluster-name] --server=[server-name] Annuler la définition d'une entrée dans kubeconfig :
kubectl config unset [property-name] Impression des journaux de conteneurs
Pour imprimer les journaux des conteneurs dans un pod, utilisez les kubectl logs commande.
Journaux d'impression :
kubectl logs [pod-name] Pour diffuser des journaux à partir d'un pod, utilisez :
kubectl logs -f [pod-name] Noms abrégés pour les types de ressources
Certains des kubectl Les commandes listées ci-dessus peuvent sembler gênantes en raison de leur longueur. Pour cette raison, les noms des types de ressources kubectl courants ont également des versions plus courtes.
Considérez la commande mentionnée ci-dessus :
kubectl create namespace [namespace-name] Vous pouvez également exécuter cette commande en tant que :
kubectl create ns [namespace-name] Voici la liste complète des noms abrégés kubectl :
| Nom abrégé | Nom long |
|---|---|
csr | certificatesigningrequests |
cs | componentstatuses |
cm | configmaps |
ds | daemonsets |
deploy | deployments |
ep | endpoints |
ev | events |
hpa | horizontalpodautoscalers |
ing | ingresses |
limits | limitranges |
ns | namespaces |
no | nodes |
pvc | persistentvolumeclaims |
pv | persistentvolumes |
po | pods |
pdb | poddisruptionbudgets |
psp | podsecuritypolicies |
rs | replicasets |
rc | replicationcontrollers |
quota | resourcequotas |
sa | serviceaccounts |
svc | services |
Aide-mémoire kubectl
Vous pouvez trouver toutes les commandes répertoriées dans cet article dans la fiche de référence d'une page ci-dessous. Téléchargez le PDF de la commande kubectl et enregistrez-le pour une utilisation future.
TÉLÉCHARGER la feuille de triche