Ceci est une ancienne révision du document !
Les services permettent de publier l'accès aux Pods au sein du cluster ou à l'extérieur. Les conteneurs au sein d'un Pod partagent la même configuration réseau et sont donc accessible par la même IP interne au cluster.
Il y a plusieurs possibilité selon ce que l'on souhaite faire.
C'est le mode par défaut de Kubernetes lorsque l'on crée un service. Il permet d'exposer uniquement un port au sein du cluster uniquement. Il n'est pas publié vers l'extérieur.
Ci-dessous un fichier YAML pour démarrer un Pod nginx et son service :
apiVersion: v1 kind: Pod metadata: name: nginx labels: app: mywebapp spec: containers: - name: nginx image: nginx:stable ports: - containerPort: 80 # Ci-dessous on affecte un nom au port #name: http-web-svc --- apiVersion: v1 kind: Service metadata: name: nginx-service spec: # ClusterIP étant le mode par défaut, il n'est pas obligé de définir le type pour le créer. #type: ClusterIP selector: app: mywebapp ports: - name: mywebport protocol: TCP port: 8080 targetPort: 80 # Si un nom a été donné au port du conteneur on peut cibler le port par son nom. #targetPort: http-web-svc