Bases & syntaxe
Définir un Pod
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx
Utiliser pour déployer une unité de travail exécutable.
Structures de données
Définir un Service
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
Créer un point d'accès pour les Pods.
Définir une ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configmap
data:
config.properties: |
property1=value1
property2=value2
Stocker des paramètres de configuration.
Fonctions & methodes essentielles
Lister les Pods
kubectl get pods
Afficher la liste des Pods en cours d'exécution.
Créer un Deployment
kubectl apply -f deployment.yaml
Déployer une application avec Kubernetes.
Patterns courants
Déploiement avec Rollout
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: MyApp
template:
metadata:
labels:
app: MyApp
spec:
containers:
- name: my-container
image: nginx
Gérer des mises à jour de manière progressive.
Operations avancées
Utiliser un DaemonSet
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: my-daemonset
spec:
selector:
matchLabels:
app: MyApp
template:
metadata:
labels:
app: MyApp
spec:
containers:
- name: my-container
image: nginx
S'assurer que une copie du Pod est exécutée sur chaque nœud.
Debugging & outils
Utiliser kubectl describe
kubectl describe pod my-pod
Obtenir des informations détaillées sur un Pod.
Exécuter des commandes dans un conteneur
kubectl exec -it my-pod -- /bin/sh
Exécuter une commande dans le conteneur d'un Pod.