એક ખાનગી API તમારા લેપટોપથી જવાબ આપે છે અને minikube ની અંદરનું Pod ત્યાં પહોંચી શકતું નથી. હોસ્ટ પર કંઈપણ બદલતા પહેલા સક્રિય પ્રોફાઇલ પાછળના ડ્રાઇવરનું નામ આપો, કારણ કે આ એક હકીકત જ નક્કી કરે છે કે વિનંતી ખરેખર કયા નેટવર્કમાંથી બહાર નીકળે છે. પછી એ જ endpoint હોસ્ટથી, નોડથી અને Pod થી ચકાસો. તે ત્રણમાંથી ફક્ત એક જ નિષ્ફળ ગયેલી વસ્તુ છે, અને ખોટું અનુમાન એક બપોર વેડફે છે.

પગલું 0: ડ્રાઇવર અને સ્રોતનું નામ આપો

minikube ને પૂછો કે કઈ પ્રોફાઇલ સક્રિય છે અને તે કેવી રીતે ચાલી રહી છે. કન્ટેનર ડ્રાઇવર નોડને તમારા મશીન પરના કન્ટેનરમાં મૂકે છે, VM ડ્રાઇવર તેને વર્ચ્યુઅલ મશીનમાં મૂકે છે, અને રિમોટ ડ્રાઇવર તેને સાવ બીજે જગ્યાએ મૂકે છે.

minikube profile list
minikube status
kubectl config current-context

એમાંથી લખો કે વિનંતી ક્યાંથી આવે છે. જવાબ નક્કી કરે છે કે કોનું resolver અને કયા રૂટ મહત્ત્વના છે, અને તે હંમેશા હોસ્ટનું હોતું નથી. એક જ લેપટોપ પરની બે પ્રોફાઇલ એક જ URL માટે સાવ અલગ વર્તન કરી શકે છે.

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

પગલું 1: એ જ endpoint ત્રણ વાર ચકાસો

એક નિરુપદ્રવી endpoint વાપરો અને ત્રણેય પરીક્ષણોમાં હોસ્ટનામ, પોર્ટ અને એડ્રેસ ફેમિલી એકસરખા રાખો. આમાંથી કંઈપણ રન વચ્ચે બદલશો તો પરિણામો તુલનાત્મક રહેતાં નથી.

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

નોડ દ્વારા સફળ image pull ખાનગી હોસ્ટ માટે નામ ઉકેલવા વિશે કંઈ સાબિત કરતું નથી. સફળ જાહેર વિનંતી તેનાથી પણ ઓછું સાબિત કરે છે. પરિણામોને context પ્રમાણે અલગ રાખો, કારણ કે ત્રણ લાઇનમાં દેખાતી પેટર્ન નિદાન છે અને એકલી નિષ્ફળતા સંકેત છે.

જો હોસ્ટની લાઇન પણ નિષ્ફળ જાય, તો અટકો. તમારી પાસે હોસ્ટની નેટવર્ક સમસ્યા છે અને ક્લસ્ટર ધ્યાન હટાવતી વસ્તુ છે.

પગલું 2: હોસ્ટનો ક્લસ્ટર સુધીનો રસ્તો જાળવો

લોકો ભૂલી જાય છે તેવી બીજી દિશા છે: હોસ્ટે ક્લસ્ટરના પોતાના API અને સેવાઓ સુધી પહોંચવાનું ચાલુ રાખવું જોઈએ. VPN ક્લાયન્ટ એવા રૂટ ઇન્સ્ટોલ કરી શકે છે જે minikube તેના નોડ નેટવર્ક, સર્વિસ રેન્જ અને pod રેન્જ માટે વાપરતા prefixes સાથે સ્પર્ધા કરે છે.

જ્યારે એવું બને ત્યારે લક્ષણ મૂંઝવણભર્યું હોય છે, કારણ કે ટનલ કામ કરે છે અને kubectl જવાબ આપવાનું બંધ કરે છે અથવા NodePort કનેક્શન નકારે છે. તે ક્લસ્ટરની ખામી જેવું લાગે છે અને ખરેખર લેપટોપની રાઉટિંગ ખામી છે.

ટનલને બીજા કંઈપણ માટે દોષ આપતા પહેલા હોસ્ટની રાઉટિંગ ટેબલની minikube ની રેન્જ સાથે તુલના કરો. ઓવરલેપ સામાન્ય રીતે વધુ વિશિષ્ટ રૂટ તરીકે દેખાય છે જે ક્લસ્ટર પોતાનું માનતું હોય તેવા prefix માટે ટનલ ઇન્ટરફેસ તરફ નિર્દેશ કરે છે.

પગલું 3: VPN બંધ કર્યા વિના ઓવરલેપ ઉકેલો

minikube નું પોતાનું VPN અને proxy હેન્ડબુક આ સંઘર્ષોની ચર્ચા કરે છે અને તેની ઉદાહરણ રેન્જોને તપાસવાની વસ્તુઓ ગણે છે, સાર્વત્રિક યાદી નહીં. તેને તમારી પાસે ખરેખર હોય તેવી પ્રોફાઇલ સાથે વાંચો.

જ્યાં સાચો ઓવરલેપ છે, ત્યાં સમર્થિત જવાબ ન-ઓવરલેપિંગ રેન્જ અથવા VPN ના માલિક દ્વારા મંજૂર કરાયેલી જાણી જોઈને બનાવેલી સ્થાનિક ઍક્સેસ નીતિ છે. સર્વિસ રેન્જ બદલવી pod રેન્જ બદલવા જેવી નથી, અને આમાંથી કોઈ પણ નોડ નેટવર્ક બદલવા જેવી નથી.

સ્થાનિક ક્લસ્ટર ચાલે તે માટે કોર્પોરેટ ટનલ બંધ કરવી એ કોઈ શોર્ટકટ નથી; તે નીતિનો નિર્ણય છે જે બીજા કોઈએ લેવાનો છે. બાકીના બધા ઘરે ગયા પછી ચૂપચાપ કરવાને બદલે તે વ્યક્તિ સુધી લઈ જાઓ. જો તમે પહેલેથી કરી લીધું હોય, તો પૂછતા પહેલા પાછું લગાવો.

પગલું 4: proxy, DNS અને નિષ્ફળતાના ચાર સ્વરૂપ અલગ કરો

જો proxy જરૂરી હોય, તો ઓળખો કે કયા context ને તેની જરૂર છે. હોસ્ટ પરની બ્રાઉઝર સેટિંગ નોડની અંદરની પ્રક્રિયાને કન્ફિગર કરતી નથી, અને Pod ને પર્યાવરણ ચલો અથવા ક્લસ્ટર-સ્તરીય proxy કન્ફિગરેશન જોઈએ છે.

પછી નિષ્ફળતાનું વર્ણન કરવાને બદલે વર્ગીકરણ કરો. જે નામ ઉકેલાતું નથી તે DNS છે. જે નામ ઉકેલાય છે અને કનેક્શન નકારે છે તે રાઉટિંગ અથવા listener છે. જે કનેક્શન બને છે અને ઓળખ પર નિષ્ફળ જાય છે તે TLS છે. ભૂલના body સાથે સફળ કનેક્શન એ એપ્લિકેશન છે.

એ ચારમાંથી દરેક અલગ સુધારણા સાથે સંબંધિત છે, અને ફક્ત એક VPN વિશે છે. દરેક context માં તમે કયું જોયું તે લખો, અને આગલી વ્યક્તિને વાર્તાને બદલે પુરાવા વારસામાં મળશે.

સંબંધિત લેખો