Ce lab vous guide pas à pas dans la découverte des concepts de base de Kubernetes à l'aide de Minikube, dans un environnement local ou cloud (GitHub Codespaces, Gitpod, etc.).
Avant de commencer, assurez-vous que Minikube est démarré :
minikube start
kubectl run nginx-pod --image=nginx
Vérifier la création du pod :
kubectl get pods
kubectl delete pod nginx-pod
Vérifier que le pod est supprimé :
kubectl get pods
Créer un fichier nginx-pod.yaml :
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx
Appliquer le fichier :
kubectl apply -f nginx-pod.yaml
Vérifier :
kubectl get pods
kubectl delete -f nginx-pod.yaml
Les Pods créés manuellement ne sont pas maintenus en cas de panne. Un ReplicaSet permet d'assurer une disponibilité minimale.
Créer un fichier nginx-replicaset.yaml :
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx-replicaset
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
Appliquer le fichier :
kubectl apply -f nginx-replicaset.yaml
Vérifier :
kubectl get pods
kubectl get replicaset
Supprimer un Pod :
kubectl delete pod <nom-du-pod>
Vérifier que le ReplicaSet recrée automatiquement un Pod :
kubectl get pods
Suppression du ReplicaSet
kubectl delete -f nginx-replicaset.yaml
Créer un fichier nginx-deployment.yaml :
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
Appliquer le fichier :
kubectl apply -f nginx-deployment.yaml
Vérifier :
kubectl get deployments
kubectl get replicaset
Supprimer un ReplicaSet associé au déploiement :
kubectl delete replicaset <nom-du-replicaset>
Vérifier la recréation par le déploiement :
kubectl get replicaset
kubectl get pods
Créer un fichier nginx-service.yaml :
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
Appliquer le fichier :
kubectl apply -f nginx-service.yaml
Vérifier le service :
kubectl get svc
Rediriger le port local 8080 vers le service :
kubectl port-forward svc/nginx-service 8080:80
Accédez ensuite à votre pod via :
http://localhost:8080
Dans Gitpod ou Codespaces, utilisez le lien généré pour le port 8080.
