Les services
Qu’est-ce qu’un Service (SVC) dans Kubernetes ?
Un Service dans Kubernetes est une abstraction qui permet d’exposer un ou plusieurs Pods via une adresse IP stable et un nom DNS. Cela permet de gérer le routage du trafic vers un ensemble de Pods sans se soucier de leurs adresses IP, qui peuvent changer à chaque redémarrage ou mise à jour.
Les commandes service
Lister les services
kubectl get svc
kubectl get svc -n <nom_du_namespace>
Obtenir les Endpoints d’un Service
Pour obtenir les endpoints associés à un Service donné :
kubectl get endpoints svc my-service
Supprimer un service
kubectl get delete svc my-service
Exemple d’un Service ClusterIP
Voici un exemple de Service de type ClusterIP, qui expose une application en interne dans le cluster :
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIP
Explication :
- selector : Sélectionne les Pods qui correspondent au label app: my-app.
- ports : Le Service écoute sur le port 80 et redirige le trafic vers le port 8080 des Pods.
Exemple d’un Service NodePort
Voici un exemple de Service de type NodePort, qui expose l’application sur un port spécifique sur chaque nœud du cluster :
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
nodePort: 30007
type: NodePort
Explication :
- nodePort: 30007 : Le Service sera exposé sur le port 30007 de chaque nœud du cluster, ce qui permet d’y accéder depuis l’extérieur du cluster.
Exemple d’un Service LoadBalancer
Voici un exemple de Service de type LoadBalancer, utilisé pour exposer un service via un Load Balancer externe :
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: LoadBalancer
Explication :
- type: LoadBalancer : Le Service sera exposé à l’extérieur via un Load Balancer (si le cluster est hébergé dans un fournisseur cloud qui supporte cette fonctionnalité).
Dernière modification