Série d'articles:
Index général du catalogue: neuf analyses vous permettent de réaliser facilement le didacticiel de la série de grilles de services Istio
Annuaire
1 Introduction
2 Invitation
3 Échantillon NodePort
4 Flux d'accès
5 Démo
6 Inconvénients
1 Introduction
Si vous avez des questions sur le blog, faites-le moi savoir.
2 Invitation
Vous pouvez rechercher «Neuf analyses» à partir de la station b pour obtenir du matériel vidéo gratuit et plus vivant:
3 Échantillon NodePort
Contrairement à hostNetwork et hostPort, NodePort est l'un des types de service. L'objet cible de hostPort et hostNetwork est Pod, et l'objet cible de NodePort est service.
Le fichier pod est le suivant:
Le fichier de service est le suivant:
Lors de la création d'un service NodePort, l'utilisateur peut spécifier un port dans la plage 30000 ~ 32767, ou modifier le type de service en corrigeant, afin que le port NodePort soit automatiquement alloué dans la plage 30000 ~ 32767.
kubectl patch svc svc_name -n ns_name -p '{"type": "NodePort"}'
4 Flux d'accès
La figure suivante montre les changements survenus dans le cluster k8s après la création de svc k8s.
Lorsque le client envoie une instruction kubectl apply à APIServer, il génère des objets de service associés et tous les nœuds (maître et nœud) du cluster k8s exécutent le processus kube-proxy, comme indiqué dans la capture d'écran suivante:
Le rôle de ce processus est d'être responsable de la communication avec APIServer et de la gestion du cycle de vie des pods sur le nœud. Si le service k8s est créé, kube-proxy créera les règles iptables correspondantes et transmettra le trafic envoyé au service nodePort au port correspondant du pod fourni par le backend du service.
5 Démo
Après avoir exécuté le fichier de ressources jiuxi-svc.yaml, comme indiqué dans la capture d'écran suivante:
En regardant l'interface de surveillance du réseau, nous pouvons voir que le processus de service correspondant à 30088 est kube-proxy, comme le montre la figure suivante:
Lorsque nous accédons à hostIP: 30088 via curl, le paquet sera envoyé au processus kube-proxy via le port 30088, et le processus kube-proxy acheminera le paquet vers l'IP du pod réel et le port correspondant en fonction du point de terminaison du service k8s. Voir la capture d'écran ci-dessous pour afficher les points de terminaison de service correspondants.
6 Inconvénients
En utilisant la méthode NodePort, dans le cluster k8s, le processus kube-proxy sur chaque nœud (maître ou nœud) ouvrira le port approprié. Si les services sont utilisés de cette manière, il existe un risque de conflits de port. Par conséquent, il est recommandé de faire preuve de prudence.