VPN பின்னால் உள்ள தனியார் registry-இல் இருந்து AKS image இழுக்க முடியாது
kubelet node-இன் நெட்வொர்க் வழியாக இழுக்கிறது, pod-இன் VPN வழியாக அல்ல. node வழிகள், node DNS, இழுப்பு தொடும் ஒவ்வொரு endpoint, பின்னர் TLS மற்றும் அடையாளம் மூலம் முடிவு செய்யுங்கள்.
உங்கள் மடிக்கணினி image-ஐ எளிதாக இழுக்கிறது, ஆனால் pod ImagePullBackOff-இல் நிற்கிறது. நிறுவன VPN client-ஐ sidecar ஆக இயக்கும் பரிந்துரை உதவாது, ஏனெனில் இழுப்பு உங்கள் container இருப்பதற்கு முன்பே நடக்கிறது: kubelet node-இல் உள்ள container runtime-ஐ image கொண்டு வரச் சொல்கிறது, runtime node-இன் நெட்வொர்க் namespace-ஐ பயன்படுத்துகிறது.
செயல்களின் வரிசையே அடுக்கை தீர்மானிக்கிறது
முதலில் பெயர் தீர்வு, பிறகு இணைப்பு, அங்கீகாரம், அடுக்குகள் பதிவிறக்கம், அதன் பிறகே container தொடங்குகிறது. pod VPN-உடன் செய்வதெல்லாம் இதற்குப் பிறகே, எனவே cluster-இல் இயங்கும் tunnel இழுப்புக்கான சான்று அல்ல.
அதனால் cache-இல் உள்ள image நம்பகமான பொய்: வாரங்களுக்கு முன் image இழுத்த node அதைத் தொடர்ந்து வழங்குகிறது, deployment ஆரோக்கியமாகத் தெரிகிறது, புதிய node-இல் replica வைத்தபோதே தோல்வி தெரிகிறது. scale-up அல்லது node மாற்றம் காரணம் அல்ல, தூண்டுதல்.
மூன்று நிபந்தனைகள் சரிசெய்தலை தீர்மானிக்கின்றன
அணுகல் routing, பெயர் தீர்வு, endpoint தொகுப்பைச் சார்ந்தது. node-இன் subnet registry நெட்வொர்க்குக்கு route செய்ய முடியாவிட்டால் எந்த credential-உம் உதவாது. node DNS வழியாக பெயர் தீராதிருந்தால் இணைப்பு தொடங்காது. manifest மட்டும் கிடைத்து blob கிடைக்காவிட்டால் இழுப்பு நடுவில் தோல்வியடையும்.
| Condition | Typical symptom | Where to look |
|---|---|---|
| Node subnet has no route to the registry network | Timeout, no connection | Effective routes on the node NIC, gateway transit, return path on-premises |
| Node resolver cannot see the private zone | Name resolution failure in events | VNet DNS settings and the resolver the node actually uses |
| Only the manifest endpoint is reachable | Auth succeeds, layer download fails | Every hostname the registry hands out during the pull |
| TLS or identity is wrong | Certificate error, 401 or 403 | Server certificate name and trust, scoped pull identity |
VNet peering மட்டும் அனைத்து gateway transit அமைப்புகளையும் தராது, ஒரு திசை வழி செயல்படும் வழி அல்ல. node-க்கு VPN gateway வழியாக ஆதரிக்கப்பட்ட பாதை, registry பக்கத்திற்கு node-இன் subnet-க்கு திரும்பும் வழி தேவை.
சரிசெய்தலைத் தேர்ந்தெடுக்கும் முன் தோல்வியைப் படியுங்கள்
pod-இன் நிகழ்வுகள் மற்றும் அது தரையிறங்கிய node-இலிருந்து தொடங்குங்கள், உங்கள் உண்மையான பெயர்களுடன்: kubectl describe pod app-example -n team-example மற்றும் kubectl get pod app-example -n team-example -o wide. நிகழ்வு உரை தீர்க்கப்படாத hostname-ஐ timeout-இலிருந்தும், certificate மறுப்பை image இல்லாததிலிருந்தும், அனுமதி தோல்வியை அவை அனைத்திலிருந்தும் பிரிக்கிறது.
அங்கீகாரம் மிக அதிகமாக மதிப்பிடப்பட்ட கருவி. imagePullSecret runtime-க்கு registry credential தருகிறது; அது வழி அமைக்காது, resolver மாற்றாது, நம்பமுடியாத certificate-ஐ செல்லுபடியாக்காது. இழுப்பு அனுமதிக்கப்படவில்லை என நிகழ்வு சொன்னால் அடையாளத்தின் வரம்பைப் பாருங்கள்; இணைப்பு timeout ஆனது எனில் credential பொருந்தாது.
Kubernetes image ஆவணம் இழுப்பு நடத்தை மற்றும் தனியார் registry credential-க்கான மூலம், நெட்வொர்க்கை மாற்றும் முன் ஒருமுறை படிக்கத் தகும், ஏனெனில் அங்கீகாரத்திற்கும் கடத்தலுக்கும் இடையிலான எல்லையை தெளிவாக்குகிறது.
pod-க்கு கீழே பாதையை உருவாக்குங்கள்
இந்த வரிசையில் வேலை செய்யுங்கள். முதலில் node நெட்வொர்க்கை route செய்யுங்கள்: subnet-க்கு registry நெட்வொர்க்குக்கு ஆதரிக்கப்பட்ட பாதை உள்ளதா என்பதை உறுதி செய்யுங்கள், node-இல் உள்ள பயனுள்ள வழிகள், இரு முனைகளின் பாதுகாப்பு விதிகள், registry பக்கத்தின் திரும்பும் வழி ஆகியவற்றைச் சரிபார்க்கவும்.
பிறகு node-இன் சூழலில் இருந்து பெயரைத் தீர்க்கவும். node-இன் resolver pod-இன் DNS அமைப்பு அல்ல, pod-க்குள் வெற்றி host runtime-க்கு சான்று அல்ல. நிரந்தர hosts பதிவுக்கு பதிலாக நிர்வகிக்கப்படும் தனியார் DNS பயன்படுத்துங்கள்; பதிவு node மாற்றப்படும்வரை இருக்கும், பிறகு அமைதியாக மறையும்.
பிறகு ஒவ்வொரு endpoint-ஐயும் நிரூபியுங்கள். registry வாடிக்கையாளருக்கு தனி அங்கீகார சேவை மற்றும் தனி blob சேமிப்பை தரலாம். manifest-ஐ அடைவது அடுக்குகளைப் பற்றி கிட்டத்தட்ட எதையும் நிரூபிக்காது. இறுதியில் TLS மற்றும் அனுமதியை முடிக்கவும்: registry பெயருக்கு செல்லுபடியான, ஆதரிக்கப்பட்ட node கட்டமைப்பால் நம்பப்படும் certificate, மேலும் அந்த repository-ஐ படிக்க மட்டுமே வரம்பிட்ட இழுப்பு அடையாளம்.
கையால் சரிசெய்யாத node-இல் சரிபார்க்கவும்
முக்கிய சோதனை பொருத்தமான node-இல் புதிய இழுப்பு மற்றும் அனைத்து அடுக்குகளின் முழு பதிவிறக்கம், scale அல்லது மாற்றத்தால் உருவான node ஆனால் சிறந்தது. இது workload வைக்கக்கூடிய அனைத்து pool-ஐயும் உள்ளடக்கும், மறந்தவை உட்பட. ஒரு node-இல் கையால் செய்யும் சரிசெய்தல் deployment மாதிரி அல்ல, அடுத்த autoscale நிகழ்வு இடைவெளியைக் கண்டுபிடிக்கும்.
வேறு VNet-இல் cluster-ஐ மீண்டும் உருவாக்குவது பாதையை மாற்றலாம், ஆனால் அது முதல் கண்டறியும் படி அல்ல, இறுதி வழி. இடம்பெயர்வை பரிந்துரைக்கும் முன் தற்போதைய node நெட்வொர்க்கை தேவையான தனியார் வழி மற்றும் ஆதரிக்கப்பட்ட AKS நெட்வொர்க் கட்டுப்பாடுகளுடன் ஒப்பிடுங்கள், தொடங்கியபின் application இணைப்பை தனி சரிபார்ப்பாக வைத்திருங்கள்: pod மற்றும் backend உரையாடல் node-இன் image பதிவிறக்கத்திலிருந்து வேறுபட்ட சரிபார்ப்பு.