Recherche de site Web

Comment gérer des clusters Kubernetes avec kubectl


La commande kubectl permet aux administrateurs d’interagir avec un cluster Kubernetes et de le gérer sur un système Linux. Il s’agit d’un outil de ligne de commande essentiel qui fonctionne avec tous les environnements de cluster Kubernetes tels qu’Amazon Web Services, Google Cloud Platform ou un cluster sur votre propre matériel (par exemple, kubeadm). La gestion des clusters Kubernetes à grande échelle peut être un défi au début, mais la maîtrise de la commande kubectl la rendra beaucoup plus facile.

Dans ce tutoriel, nous allons apprendre à gérer les clusters Kubernetes à l’aide de la commande kubectl. Nous allons explorer diverses options de commande et voir comment utiliser efficacement kubectl, ainsi que quelques trucs et astuces pour faciliter l’utilisation de kubectl.

Dans ce tutoriel, vous allez apprendre :

  • Comment utiliser les commandes kubectl sur un cluster Kubernetes

Gérer des clusters Kubernetes avec kubectl

Les exemples ci-dessous montrent quelques-unes des commandes kubectl les plus courantes et essentielles à utiliser sur un cluster Kubernetes sous Linux.

REMARQUE
Si vous ne l’avez pas déjà, vous devrez installer kubectl séparément de Kubernetes. La commande kubectl fonctionnera alors avec n’importe quel type de Kubernetes en cours d’exécution, tel que kubeadm ou minikube, etc.

  1. Pour appliquer un fichier manifeste, qui peut également déployer une application dans Kubernetes, nous pouvons utiliser la syntaxe suivante :

    
    kubectl apply -f ./application.yaml 
    

    Cela peut déployer notre application conteneurisée Docker personnalisée ou une application que nous récupérons à partir d’un référentiel central, tel que Docker Hub.

  2. Nous pouvons également supprimer un déploiement avec le paramètre delete. En voici quelques exemples :

    
    kubectl delete deployment my-application
    

    Ou spécifiez le fichier :

    
    kubectl delete -f application.yaml
    
  3. Récupérez des informations sur tous les pods Kubernetes de votre réseau à l’aide des éléments suivants :

    
    kubectl get pods
    

    Ou la version plus détaillée, qui affichera les pods dans tous les espaces de noms :

    
    kubectl get pods --all-namespaces
    

    Notez que l’option de commande --all-namespaces peut également être raccourcie en -A :

    
    kubectl get pods -A
    
  4. Consultez les informations sur tous les nœuds configurés dans votre cluster Kubernetes :

    
    kubectl get nodes
    
  5. Vous pouvez voir une liste en cours d’exécution de tous les services disponibles en cours d’exécution dans votre cluster à l’aide de la commande suivante, émise à partir du nœud maser Kubernetes :

    
    kubectl get svc
    
  6. Obtenez des détails sur un pod spécifique qui a été déployé (dans cet exemple, un pod nommé « Apache ») :

    
    kubectl get pods/apache
    

    Et des informations plus détaillées avec l’argument describe :

    
    kubectl describe pods/apache
    
  7. Consultez les journaux d’un pod spécifique :

    
    kubectl logs my-pod
    
  8. Nous pouvons utiliser le paramètre run pour commencer à exécuter une image. Prenons l’exemple de Nginx :

    
    kubectl run --image=nginx nginx-server --port=80 --env="DOMAIN=cluster"
    

    On peut alors exposer le port 80 :

    
    kubectl expose deployment nginx-deployment --port=80 --name=nginx-http
    
  9. La commande kubectl est également essentielle lors de la mise à l’échelle des ressources. Pour étendre le déploiement 'mysql' à 5 réplicas :

    
    kubectl scale --replicas=5 deployment/mysql  
    

    Ou pour mettre à l’échelle les ressources comme spécifié dans un fichier YAML :

    
    kubectl scale --replicas=5 -f mysql.yaml
    
  10. Pour drainer tous les pods d’un nœud (par exemple, pour effectuer la maintenance du nœud sans que cela n’entraîne d’interruptions du cluster Kubernetes) :

    
    kubectl drain worker-node
    
  11. Pour afficher toutes les informations sur votre cluster Kubernetes :

    
    kubectl cluster-info
    

Réflexions finales

Dans ce tutoriel, nous avons vu comment utiliser la commande kubectl pour gérer un cluster Kubernetes sur un système Linux. Il est essentiel pour les administrateurs d’apprendre à utiliser kubectl pour créer des déploiements, des pods et gérer des nœuds à partir de la ligne de commande. Il nous permet également d’inspecter les journaux et de voir l’état actuel du fonctionnement du cluster et de ses composants individuels à un moment donné.

Articles connexes: