Puncte:1

VMWare Workstation și Windows 10: nu se poate conecta la un server găzduit pe VM

drapel cn

Am un cluster privat cu 2 noduri Kubernetes configurat pe VMWare Workstation 15. Folosesc MetalLB și Calico. Serviciul de intrare și intrare arată astfel:

xxx@c1-cp1:~/Desktop$ kubectl obține svc -n ingress-controller-2
NUME TIP CLUSTER-IP EXTERN-IP PORT(E) Vârsta
wsnginx-ingress-nginx-controller LoadBalancer 10.109.117.222 192.168.44.136 80:30167/TCP,443:30680/TCP 24h
wsnginx-ingress-nginx-controller-admission ClusterIP 10.105.103.165 <none> 443/TCP 24h
xxx@c1-cp1:~/Desktop$ kubectl primește apollo-ingress
NUME CLASA GAZDE ADRESA PORTURI Vârsta
apollo-ingress wsnginx test.xxx.com 192.168.44.136 80 3h17m

Folosesc adaptorul de rețea Nat și IPS static. Am redirecționarea portului configurată după cum urmează

introduceți descrierea imaginii aici

curl -D- http://192.168.44.136 -H „Gazdă: test.xxx.com” de la VM, returnează starea 200, dar nu reușesc să-l accesez de pe mașina gazdă Win10 127.0.0.1:8080 pe măsură ce primesc o 404 NGINX negăsit.

Ma puteti ajuta va rog? ce fac greșit? Cum altfel l-aș putea expune în rețeaua mea privată? Mulțumesc!


ACTUALIZAȚI Nu sunt sigur dacă acesta este modul corect, dar am reușit să mă conectez de la mașina gazdă, schimbând puțin resursa Ingress. Am pus in comentarii parametrul gazda, ca

apiVersion: networking.k8s.io/v1
fel: Intrare
metadate:
  nume: apollo-ingress
specificație:
  ingressClassName: wsnginx
  reguli:
    #- gazdă: test.xxx.com
    - http:
        trasee:
          - backend:
              serviciu:
                nume: apollo-service
                port: 
                  număr: 80
            cale: /
            pathType: Prefix

iar acum intrarea mea arată așa

NAMESPACE NUME CLASA GAZDE ADRESA PORTURI VÂRSTA
implicit ingress.networking.k8s.io/apollo-ingress wsnginx * 192.168.44.136 80 3h31m

Se pare că îl pot accesa acum și de pe mașina mea gazdă. Am un API Rest, așa că tocmai l-am deschis din browser http://127.0.0.1:8080

drapel in
Bună Oana bine ai venit la S.F. Nu ați inclus comanda de testare reală pentru exemplul dvs. Win10, dar pentru claritate: resursele de intrare sunt în întregime găzduite virtual de antet gazdă, adică (la fel cum ați făcut cu `curl`) _trebuie_ să includeți un antet `gazdă:`, astfel încât controlorul de intrare știe cum să vă direcționeze solicitarea. Noroc
Oana avatar
drapel cn
salut @mdaniel ! mulțumesc :) Ei bine, tocmai încercam să-l deschid în browser (deoarece există un API REST) ​​--> 127.0.0.1:8080; dar am făcut-o să funcționeze între timp eliminând valoarea gazdei din manifestul de intrare `reguli: #- gazdă: test.xxx.com - http: trasee: - backend: serviciu: nume: apollo-service port: număr: 80` E bine?
Puncte:1
drapel us

Aceasta pare o problemă simplă a antetului HTTP lipsă.

În primul rând, scurtă explicație:
Ori de câte ori a Gazdă câmpul este specificat în manifestul Ingress, vor fi acceptate numai conexiunile de la acea gazdă. Aceste informații sunt extrase din formă Gazdă Antet HTTP. Dacă nu specificați Gazdă câmpul din manifestul Ingress, cererile din toate sursele vor fi acceptate.

Ați trimis cererea corect prima dată

curl -D- http://192.168.44.136 -H „Gazdă: test.xxx.com”

Dar am uitat să fac asta a doua oară.
Echivalentul Powershell al celor de mai sus este

Invoke-WebRequest -Uri http://127.0.0.1 -Headers @{"Host"="test.xxx.com"}

Totul este frumos și ușor atunci când se face din linia de comandă, dar trimiterea cererii din browser web este puțin mai dificilă. Browserele web nu vă permit să modificați o solicitare, să o includeți corect Gazdă antet, în mod implicit. Cu toate acestea, o astfel de funcționalitate poate fi realizată cu extensii:

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.