Le chapitre 26 Nine Analysis vous permet d'exploser facilement le trafic Istio-k8s dans le NodePort du cluster

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.1.png


2 Invitation

        Vous pouvez rechercher «Neuf analyses» à partir de la station b pour obtenir du matériel vidéo gratuit et plus vivant:clipboard2.png


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:clipboard3.png

        Le fichier de service est le suivant:clipboard4.png

        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.clipboard5.png

        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:clipboard6.png

        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:clipboard7.png

        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:clipboard8.png

        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.clipboard9.png


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.

Je suppose que tu aimes

Origine blog.51cto.com/14625168/2489488
conseillé
Classement