இந்த மாற்றத்தின் ஆபத்தான பதிப்பு, endpoint-ஐ திருப்பி அதே நேரத்தில் அனைத்து நிர்வாகிகளையும் பூட்டும் ஒரே கட்டளை. பாதுகாப்பான பதிப்பு இரண்டு பாதைகளையும் திறந்து வைத்து, தனியுரிமை பாதை VPN-இலிருந்து வேலை செய்கிறது என்பதை நிரூபித்து, அதன் பின்னரே பொது endpoint-ஐ நீக்குகிறது. ஏற்கனவே உள்ள cluster, அதன் VPC-க்கு அனுமதிக்கப்பட்ட tunnel மற்றும் ஏற்கனவே வேலை செய்யும் kubeconfig இருப்பதாகக் கொள்ளுங்கள்; பணி Kubernetes API-க்கு தனியுரிமை அணுகல், தனியுரிமை nodes அல்ல, புதிய அனுமதி மாதிரியும் அல்ல. கீழே ஒவ்வொரு படியிலும் பாதுகாப்பாக தோல்வியடையக்கூடிய சரிபார்ப்பு உள்ளது.

1. Endpoint-ஐ பட்டியலிட்டு திரும்பும் வழியை வைத்திருங்கள்

மாற்றுவதற்கு முன் தற்போதைய நிலையைப் பதிவு செய்யுங்கள், பொது CIDR அனுமதிப் பட்டியல் மற்றும் cluster பாதுகாப்புக் குழு உட்பட. ஏதாவது வேலை செய்வதை நிறுத்தும்போது நீங்கள் ஒப்பிடுவது இந்த இரண்டையுமே, தனியுரிமை பாதை தவறு எனத் தெரிந்தால் அனுமதிப் பட்டியலே உங்கள் rollback வழி.

aws eks describe-cluster --region REGION --name CLUSTER \
  --query 'cluster.{endpoint:endpoint,public:resourcesVpcConfig.endpointPublicAccess,private:resourcesVpcConfig.endpointPrivateAccess,cidrs:resourcesVpcConfig.publicAccessCidrs}'

இங்கே REGION மற்றும் CLUSTER இடமாற்றங்கள். தனியுரிமைக் கொடி இப்போது என்ன காட்டுகிறது என்பதைக் கவனியுங்கள், ஏனெனில் ஏற்கனவே தனியுரிமை அணுகல் இயக்கப்பட்ட cluster-க்கு ஒருபோதும் அது இல்லாத cluster-ஐ விட வேறு முதல் படி தேவை. மாற்றத்தின் போது குறைந்தது ஒரு அனுமதிக்கப்பட்ட நிர்வாக வழியைத் திறந்து வைக்கவும்; அதே cluster அணுகக்கூடியதைச் சார்ந்திருக்கும் VPN மீட்பு வழி அல்ல.

2. பிணைய வழி தயாராக இருக்கும்போது தனியுரிமை அணுகலை இயக்குங்கள்

கொடியை இயக்குவது எளிதான பாதி. Tunnel-க்கு endpoint-இன் தனியுரிமை முகவரிகளுக்கு வழி தேவை, cluster பாதுகாப்புக் குழுவுக்கு VPN உண்மையில் வழங்கும் மூலத்திலிருந்து TCP 443 தேவை. Client VPN இணைப்பு, site-to-site நுழைவாயில் மற்றும் peer செய்யப்பட்ட VPC அனைத்தும் வெவ்வேறு மூல முகவரிகளை வழங்கலாம், எனவே பொதுவான தனியுரிமை வரம்புக்குப் பதிலாக நீங்கள் பயன்படுத்திய மாதிரியைப் பயன்படுத்துங்கள்.

aws eks update-cluster-config --region REGION --name CLUSTER \
  --resources-vpc-config endpointPublicAccess=true,endpointPrivateAccess=true

aws eks describe-update --region REGION --name CLUSTER --update-id UPDATE_ID

புதுப்பிப்பு ஒத்திசைவற்றது. நிர்ணயிக்கப்பட்ட வினாடிகள் காத்திருந்து ஊகிப்பதற்குப் பதிலாக புதுப்பிப்பு id வெற்றியைத் தெரிவிக்கும் வரை கேளுங்கள். இதைச் செய்யும்போது node மற்றும் கட்டுப்பாட்டுத் தளப் போக்குவரத்தைத் தனியாக விடுங்கள்: cluster-இன் முழு பாதுகாப்புக் குழுவையும் உங்கள் மடிக்கணினிக்கான விதியால் மாற்றுவதே வேலை செய்யும் தரவுத் தளம் இரண்டாவது சம்பவமாக மாறும் வழி.

EKS endpoint-களின் ஆவணங்கள் ஒருமுறை முழுமையாகப் படிக்கத் தகுந்தவை, ஏனெனில் தனியுரிமை-மட்டும் அணுகல் VPC அல்லது இணைக்கப்பட்ட பிணையத்திலிருந்து வரலாம் என்று அவை கூறுகின்றன. அந்த வாக்கியமே இந்த இடமாற்றம் சாத்தியமாக இருப்பதற்கான முழுக் காரணம், அடுத்த படி இருப்பதற்கான காரணமும் அதுவே.

3. பணிநிலையம் தனியுரிமை வழியைப் பயன்படுத்தியதை நிரூபியுங்கள்

இரண்டு endpoint-களும் இயக்கப்பட்டிருந்தால், வெற்றிகரமான kubectl get ns எது பதிலளித்தது என்பதை எதுவும் நிரூபிக்காது. Endpoint-இன் hostname-ஐத் தீர்த்து, நீங்கள் பெற்ற முகவரி தனியுரிமை வரம்பா பொது வரம்பா எனச் சரிபார்க்கவும். உங்கள் இணைக்கப்பட்ட பிணையம் DNS வழியாக தனியுரிமைக் காட்சியைப் பெறவில்லை என்றால், கட்டளை பொது endpoint வழியாக வெற்றிபெறும், தவறான சான்றின் அடிப்படையில் பொது வழியை நீக்குவீர்கள். இந்த இடமாற்றம் தவறாகும் மிகவும் பொதுவான வழி இதுவே, அது வெற்றியைப் போலவே தோன்றும்.

nslookup HASH.gr7.REGION.eks.amazonaws.com
kubectl cluster-info
kubectl get ns --request-timeout=10s

Hostname மற்றும் சான்றிதழ் சரிபார்ப்பை இருக்கும் அதே நிலையில் வைத்திருங்கள். kubeconfig-இல் தனியுரிமை IP-ஐ மாற்றுவதும் TLS சரிபார்ப்பைத் தவிர்ப்பதும் நீங்கள் மாற்றப் பதிவில் விவரித்த இடமாற்றம் அல்ல, endpoint சுழலும் தருணத்தில் அது மீண்டும் தோல்வியடையும்.

4. பொது அணுகலை வேண்டுமென்றே நீக்குங்கள்

தனியுரிமை வழி நிரூபிக்கப்பட்டு மீட்பு ஓட்டம் அனுமதிக்கப்பட்ட பிறகு பொது endpoint-ஐ மூடுங்கள். இது முன்னோட்டம் அல்ல, உண்மையான மாற்றம், எனவே நீங்கள் உண்மையில் கருதும் கணக்கு மற்றும் அமைப்புகளில் அதை இயக்குங்கள்.

aws eks update-cluster-config --region REGION --name CLUSTER \
  --resources-vpc-config endpointPublicAccess=false,endpointPrivateAccess=true

தனியுரிமை-மட்டும் பயன்முறையில் பொது DNS பெயர் VPC-க்குள் இருந்து endpoint-இன் தனியுரிமை முகவரிகளுக்குத் தீரும், எனவே தீர்வும் அணுகலும் ஒன்றாக இருப்பது நிற்கிறது. பொது முகவரியைச் சார்ந்த அனைத்தும், CI இயக்கிகள் அல்லது வேறு பிணையத்தில் உள்ள மடிக்கணினி உட்பட, இப்போது அதன் சொந்த நுழைவு வழியைக் கோருகிறது.

5. பிணையக் கொள்கையையும் அடையாளக் கொள்கையையும் தனித்தனியாக வைத்திருங்கள்

பொது அணுகல் CIDR பட்டியல் பொது endpoint-ஐ மட்டுமே கட்டுப்படுத்துகிறது. அது தனியுரிமை endpoint-ஐ கட்டுப்படுத்தாது, அது அதற்குப் பதிலாக cluster பாதுகாப்புக் குழு மற்றும் இணைக்கப்பட்ட பிணையக் கொள்கையால் வரம்பிடப்படுகிறது. நீங்கள் பொது endpoint-ஐ வைத்திருந்தால், அதன் அனுமதிப் பட்டியல் உங்கள் API வாடிக்கையாளர்களும் nodes-உம் உண்மையில் பயன்படுத்தும் பொது வெளியேற்றத்துடன் பொருந்த வேண்டும்; VPN குள முகவரி அந்த மூலமாக அரிதாகவே இருக்கும்.

இவற்றில் எதுவும் IAM அல்லது Kubernetes RBAC-ஐ மாற்றாது. Endpoint அமைப்புகள் நிர்வாகச் செயல், சாதாரண பயனர்கள் API-ஐ அடைய மட்டும் எல்லையைத் தளர்த்த அனுமதி பெறக்கூடாது. இறுதி நிலை, தேதி மற்றும் மீட்பு வழியை ரன்புக்கில் எழுதி, பின்னர் இன்னும் எளிதாக இருக்கும்போது மீட்பு வழியை ஒருமுறை சோதிக்கவும்.

தொடர்புடைய கட்டுரைகள்