Créer et appliquer des ressources Kubernetes avec kubectl
Mise à jour :
Ce guide fait partie d’une série dédiée à
kubectl, l’outil en ligne
de commande pour interagir avec
Kubernetes. Dans ce guide, nous
explorons deux commandes essentielles : kubectl create
et kubectl apply
.
Pourquoi utiliser kubectl create
et kubectl apply
?
Ces commandes permettent de gérer les ressources Kubernetes :
kubectl create
: crée une ressource Kubernetes depuis zéro.kubectl apply
: applique des modifications déclaratives à une ressource existante.
Elles sont particulièrement utiles pour déployer et gérer les objets Kubernetes de manière efficace.
kubectl create
: Créer des ressources Kubernetes
La commande kubectl create
permet de créer une nouvelle ressource
directement depuis la ligne de commande ou un fichier manifeste YAML.
Syntaxe de base
kubectl create -f <fichier.yaml>
Cas d’usage
-
Créer une ressource depuis un fichier :
Terminal window kubectl create -f pod.yaml -
Créer un déploiement en ligne de commande :
Terminal window kubectl create deployment nginx --image=nginx -
Créer un service :
Terminal window kubectl create service clusterip my-service --tcp=80:80 -
Créer une configmap :
Terminal window kubectl create configmap my-config --from-literal=key1=value1
Erreurs courantes et solutions
error: resource already exists
: La ressource existe déjà. Utilisezkubectl apply
pour mettre à jour une ressource existante.error: invalid resource type
: Vérifiez que le type de ressource est correct et bien orthographié.
kubectl apply
: Appliquer des modifications déclaratives
La commande kubectl apply
permet d’appliquer des modifications à des
ressources existantes en utilisant une approche déclarative.
Syntaxe de base
kubectl apply -f <fichier.yaml>
Cas d’usage
-
Créer ou mettre à jour une ressource :
Terminal window kubectl apply -f deployment.yaml -
Utiliser
kubectl apply
aveckustomize
:Terminal window kubectl apply -k ./kustomization -
Mettre à jour une configmap :
Terminal window kubectl apply -f configmap.yaml -
Déployer plusieurs ressources en même temps :
Terminal window kubectl apply -f services.yaml -f deployments.yaml
Différences entre kubectl create
et kubectl apply
Fonctionnalité | kubectl create | kubectl apply |
---|---|---|
Créer une ressource | ✅ | ✅ |
Mettre à jour une ressource | ❌ | ✅ |
Approche | Impérative | Déclarative |
Utilisation dans CI/CD | ❌ | ✅ |
Bonnes pratiques avec kubectl create
et kubectl apply
- Utilisez
kubectl create
uniquement pour créer de nouvelles ressources. - Pour les modifications, préférez
kubectl apply
. - Toujours exécuter
kubectl apply
sur des fichiers versionnés pour assurer la traçabilité. - Privilégier
kubectl apply
dans les pipelines CI/CD pour éviter d’écraser des configurations existantes.
Conclusion
kubectl create
et kubectl apply
sont des commandes essentielles pour gérer
les ressources Kubernetes.
kubectl create
permet de créer rapidement des objets Kubernetes.kubectl apply
permet d’appliquer des mises à jour de manière déclarative et contrôlée.
En maîtrisant ces outils, vous optimisez la gestion et la maintenance de vos applications Kubernetes.
Notes importantes
Ce guide fait partie d’une série complète dédiée à l’utilisation de kubectl
,
l’outil en ligne de commande incontournable pour administrer un cluster
Kubernetes. Chaque commande de kubectl
est abordée en détail dans des guides
spécifiques, organisés par thématique pour faciliter l’apprentissage et la
référence rapide.
Pour naviguer efficacement entre les différents chapitres, vous trouverez un tableau récapitulatif listant les commandes et leurs guides associés. N’hésitez pas à explorer ces ressources pour approfondir vos connaissances et optimiser votre gestion des clusters Kubernetes.
Commandes | Documentation |
---|---|
kubectl api-resources , kubectl explain | Exploration de l’API |
kubectl create , kubectl apply | Création et mise à jour des ressources |
kubectl edit , kubectl patch , kubectl replace | Modification des ressources |
kubectl get , kubectl describe , kubectl logs , kubectl top | Récupération d’informations sur les ressources |
kubectl exec , kubectl attach , kubectl debug , kubectl cp | Gestion et Debug des Pods |
kubectl delete , kubectl annotate , kubectl label | Suppression et annotation |
kubectl expose , kubectl port-forward , kubectl proxy | Exposition et accès aux applications |
kubectl scale , kubectl autoscale , kubectl rollout , kubectl set | Mise à l’échelle et gestion des déploiements |
kubectl wait , kubectl diff | Attente et validation des ressources |