Zasebni API odgovarja s tvojega prenosnika, Pod v minikube pa ga ne doseže. Preden na gostitelju kar koli spremeniš, poimenuj gonilnik za aktivnim profilom, ker to eno dejstvo odloča, iz katerega omrežja zahteva v resnici odide. Nato preizkusi isto končno točko z gostitelja, z vozlišča in s Poda. Le eden od teh treh je tisti, ki je odpovedal, in napačna domneva stane popoldne.

Korak 0: poimenuj gonilnik in izvor

Vprašaj minikube, kateri profil je aktiven in kako deluje. Gonilnik za vsebnike postavi vozlišče v vsebnik na tvojem računalniku, gonilnik za VM ga postavi v navidezni stroj, oddaljeni gonilnik pa ga postavi povsem drugam.

minikube profile list
minikube status
kubectl config current-context

Iz tega zapiši, od kod zahteva izvira. Odgovor določa, čigav resolver in katere poti štejejo, in to ni vedno gostiteljev. Dva profila na istem prenosniku se lahko za isti URL obnašata povsem različno.

ContextWhat has to work
Host processHost resolver and host route to the private destination
minikube nodeThe node's own resolver and its outbound path
PodPod DNS through cluster services plus the cluster network path

Korak 1: preizkusi isto končno točko trikrat

Uporabi eno neškodljivo končno točko in ohrani isto ime gostitelja, vrata in družino naslovov v vseh treh preizkusih. Če katero od tega med izvajanji spremeniš, rezultati ne bodo primerljivi.

curl -sS -o /dev/null -w '%{http_code}\n' https://api.corp.example/health
minikube ssh -- curl -sS -o /dev/null -w '%{http_code}\n' https://api.corp.example/health
kubectl run probe --rm -it --image=curlimages/curl --restart=Never -- \
  curl -sS -o /dev/null -w '%{http_code}\n' https://api.corp.example/health

Uspešen pull slike z vozlišča ne dokazuje ničesar o razreševanju imen za zasebnega gostitelja. Uspešna javna zahteva dokazuje še manj. Rezultate hrani ločeno po kontekstu, ker je vzorec v treh vrsticah diagnoza, posamezna napaka pa namig.

Če tudi vrstica gostitelja odpove, se ustavi. Imaš težavo z omrežjem gostitelja in gruča je motnja.

Korak 2: ohrani pot gostitelja do gruče

Obstaja druga smer, ki jo ljudje pozabijo: gostitelj mora še naprej dosegati lastni API in storitve gruče. Odjemalec VPN lahko namesti poti, ki tekmujejo s predponami, ki jih minikube uporablja za svoje omrežje vozlišč, obseg storitev in obseg podov.

Ko se to zgodi, je simptom zmeden, ker tunel deluje, kubectl pa preneha odgovarjati ali NodePort zavrača povezave. Videti je kot okvara gruče, v resnici pa je okvara usmerjanja na prenosniku.

Preveri usmerjevalno tabelo gostitelja glede na obsege minikube, preden za kar koli drugega okriviš tunel. Prekrivanje je običajno vidno kot bolj specifična pot, ki kaže na vmesnik tunela za predpono, ki jo gruča pričakuje kot svojo.

Korak 3: razreši prekrivanje brez izklopa VPN

Lastni priročnik za VPN in proxy v minikube obravnava te konflikte in svoje primerne obsege obravnava kot stvari, ki jih je treba pregledati, ne kot univerzalni seznam. Preberi ga skupaj s profilom, ki ga dejansko imaš.

Kjer obstaja resnično prekrivanje, je podprt odgovor obseg brez prekrivanja ali namerna politika lokalnega dostopa, ki jo odobri lastnik VPN. Spreminjanje obsega storitev ni isto kot spreminjanje obsega podov in nobeno od tega ni isto kot spreminjanje omrežja vozlišč.

Izklop korporativnega tunela, da bi lokalna gruča delovala, ni obhod; to je odločitev o politiki, ki jo mora sprejeti nekdo drug. Prinesi jo k tej osebi, namesto da bi to storil tiho, potem ko so vsi drugi odšli domov. Če si to že storil, vrni nazaj, preden vprašaš.

Korak 4: loči proxy, DNS in štiri oblike odpovedi

Če je potreben proxy, ugotovi, kateri kontekst ga potrebuje. Nastavitev brskalnika na gostitelju ne konfigurira procesa znotraj vozlišča, Pod pa potrebuje okoljske spremenljivke ali konfiguracijo proxy na ravni gruče.

Nato napako razvrsti, namesto da bi jo opisoval. Ime, ki se ne razreši, je DNS. Ime, ki se razreši in zavrne povezavo, je usmerjanje ali poslušalec. Povezava, ki se vzpostavi in odpove pri identiteti, je TLS. Uspešna povezava z vsebino napake je aplikacija.

Vsaka od teh štirih spada k drugi popravki in le ena od njih se nanaša na VPN. Zapiši, katero si opazil v vsakem kontekstu, in naslednja oseba podeduje dokaze namesto zgodbe.

Sorodni članki