Outils pour utilisateurs

Outils du site


informatique:kebernetes:kube_service

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:kebernetes:kube_service [2023/12/15 14:48]
benoit [ClusterIP]
informatique:kebernetes:kube_service [2023/12/18 08:23] (Version actuelle)
benoit [LoadBalancer]
Ligne 12: Ligne 12:
 C'est le mode par défaut de Kubernetes lorsque l'on crée un service. Il permet d'​exposer un port au sein du cluster uniquement. ​ C'est le mode par défaut de Kubernetes lorsque l'on crée un service. Il permet d'​exposer un port au sein du cluster uniquement. ​
  
-**Remarque** :!: L'IP n'est pas publiée en dehors du cluster. L'IP allouée ne sera accessible que par les nodes du cluster. A noter aussi que les ClusterIP sont assignées par des règles Iptables.+**Remarque** :!: L'IP n'est pas publiée en dehors du cluster. L'IP allouée ne sera accessible que par les nodes du cluster. A noter aussi que les ClusterIP sont assignées par des règles Iptables ​dans la table NAT.
  
 Ci-dessous un fichier YAML pour démarrer un Pod nginx et son service : Ci-dessous un fichier YAML pour démarrer un Pod nginx et son service :
Ligne 129: Ligne 129:
 ===== NodePort =====  ===== NodePort ===== 
  
-La création d'un service de type **NodePort** ​permet de publier ​un port à l'​extérieur du cluster. Un port sera ouvert ​au niveau de l'​hôte ​(le serveur virtuel ou physique). Les ports qui peuvent être utilisés sont supérieur à 30000.+La création d'un service de type **NodePort** ​créé aussi un service **ClusterIP** mais en plus un port sera publié ​à l'​extérieur du cluster. Un port sera ouvert ​sur chacun des nodes (le serveur virtuel ou physique). Les ports qui peuvent être utilisés sont supérieur à 30000.
  
 Comme pour la création d'un service ClusterIP plus haut, nous allons créer un service et lancer un Pod : Comme pour la création d'un service ClusterIP plus haut, nous allons créer un service et lancer un Pod :
Ligne 192: Ligne 192:
   k8s-node ​    ​Ready ​   <​none> ​         11d   ​v1.28.2 ​  ​10.0.4.248 ​   <​none> ​       Debian GNU/Linux 12 (bookworm) ​  ​6.1.0-15-cloud-amd64 ​  ​docker://​24.0.7   k8s-node ​    ​Ready ​   <​none> ​         11d   ​v1.28.2 ​  ​10.0.4.248 ​   <​none> ​       Debian GNU/Linux 12 (bookworm) ​  ​6.1.0-15-cloud-amd64 ​  ​docker://​24.0.7
  
-  ​+===== LoadBalancer ===== 
 + 
 +:!: A approfondir :!: 
 + 
 +La création d'un service de type **LoadBalancer** créé aussi les services **NodePort** et **ClusterIP**. En revanche, il permet d'​équilibrer la charge vers les nodes avec l'​utilisation d'un service de LoadBalancer externe ou cloud. 
 + 
 +Fichier YAML correspond (identique à NodePort mais le type change) :  
 +  apiVersion: v1 
 +  kind: Pod 
 +  metadata: 
 +    name: nginx 
 +    labels: 
 +      app: mywebapp 
 +  spec: 
 +    containers:​ 
 +    - name: nginx 
 +      image: nginx:​stable 
 +      ports: 
 +        - containerPort:​ 80 
 +  --- 
 +  apiVersion: v1 
 +  kind: Service 
 +  metadata: 
 +    name: nginx-service 
 +  spec: 
 +    type: LoadBalancer 
 +    selector: 
 +      app: mywebapp 
 +    ports: 
 +    - name: mywebport 
 +      protocol: TCP 
 +      port: 8080 
 +      targetPort: 80 
 +      nodePort: 31000 
 + 
 +===== ExternalName =====
 ===== Ingress ===== ===== Ingress =====
informatique/kebernetes/kube_service.1702648115.txt.gz · Dernière modification: 2023/12/15 14:48 par benoit