De gefaarlike ferzje fan dizze feroaring is ien opdracht dy’t it einpunt omdraait en alle behearders tagelyk bûten slút. De feilige ferzje hâldt beide paden iepen, bewist dat it privee fanút de VPN wurket, en lûkt pas dêrnei it iepenbiere einpunt werom. Nim in besteand cluster, in goedkarde tunnel nei syn VPC en in kubeconfig oan dy’t al wurket; it wurk is privee tagong ta de Kubernetes-API, net privee nodes en net in nij tagongsrjochtmode. Eltse stap hjirûnder hat in kontrôle wêr’t jo feilich op misse kinne.

1. Ynventarisearje it einpunt en hâld in wei werom

Registrearje de hjoeddeistige tastân foar’t jo him feroarje, ynklusyf de iepenbiere CIDR-tastiene list en de befeiligingsgroep fan it cluster. Krekt dy twa sille jo ferlykje as eat ophâldt te wurkjen, en de tastiene list is ek jo weromsetwei as de privee rûte ferkeard blykt te wêzen.

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

REGION en CLUSTER binne hjir plakferfangers. Merk op wat de privee flag no lêst, want in cluster oanmakke mei privee tagong al ynskeakele hat in oare earste stap nedich as ien dy’t dy nea hân hat. Hâld teminsten ien goedkarde behearwei iepen by de oergong; in VPN dy’t ôfhinget fan de berikberens fan itselde cluster is gjin weromsetwei.

2. Skeakel privee tagong yn mei it netwurkpaad klear

De flag oansette is de maklike helte. De tunnel hat in rûte nedich nei de privee adressen fan it einpunt, en de befeiligingsgroep fan it cluster hat TCP 443 nedich fan de boarne dy’t de VPN eins presintearret. In Client VPN-assosjaasje, in site-to-site-poarte en in peerde VPC kinne allegear ferskate boarnekoadressen presintearje, brûk dus it model dat jo útrôle hawwe yn stee fan in generyk privee berik.

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

De fernijing is asynkroan. Freegje it fernijings-id oant it sukses meldt yn stee fan in fêst oantal sekonden te wachtsjen en oan te nimmen. Lit it ferkear fan nodes en it kontrôleflak gewurde wylst jo dit dogge: it ferfangen fan de hiele befeiligingsgroep fan it cluster troch in regel foar jo laptop is de manier wêrop in wurkjend gegevensflak in twadde ynsidint wurdt.

De dokumintaasje oer EKS-einpunten is ien kear folslein lêzen wurdich, want dêr stiet dat tagong allinnich privee komme kin fan ’e VPC of in ferbûn netwurk. Dy sin is de hiele reden wêrom’t dizze migraasje mooglik is, en it is ek de reden wêrom’t de folgjende stap bestiet.

3. Bewiis dat it wurkstasjon it privee paad brûkt hat

Mei beide einpunten ynskeakele bewist in slagge kubectl get ns neat oer hokker fan de twa antwurde. Los de hostnamme fan it einpunt op en kontrolearje oft it adres dat jo krigen hawwe by it privee as it iepenbiere berik heart. As jo ferbûne netwurk it privee byld net fia DNS kriget, sil de opdracht slagje fia it iepenbiere einpunt en sille jo it iepenbiere paad op falsk bewiis weromlûke. Dat is de ienige meast foarkommende manier wêrop dizze migraasje misgiet, en it liket krekt op sukses.

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

Hâld de hostnamme en de sertifikaatfalidaasje krekt sa’t se binne. It ferfangen troch in privee IP yn de kubeconfig en it oerslaan fan TLS-ferifikaasje is net de migraasje dy’t jo yn it feroaringsregister beskreau, en it sil wer misse op it momint dat it einpunt draait.

4. Lûk iepenbiere tagong bewust werom

Sadree’t it privee paad oantoand is en de weromsetwurkstream goedkard is, slút it iepenbiere einpunt. Dit is in echte feroaring en gjin foarbyld, fiere it dus út tsjin it akkount en de ynstellingen dy’t jo echt bedoele.

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

Yn de modus allinnich privee lost de iepenbiere DNS-namme op nei de privee adressen fan it einpunt fanút de VPC, sadat oplossing en berikberens ophâlde itselde ding te wêzen. Alles dat op it iepenbiere adres fertroude, ynklusyf CI-rinners of in laptop op in oar netwurk, hat no syn eigen paad nei binnen nedich.

5. Hâld netwurkbelied en identiteitsbelied skieden

De CIDR-list foar iepenbiere tagong regelet allinnich it iepenbiere einpunt. It beheint it privee einpunt net, dat ynstee begrinze wurdt troch de befeiligingsgroep fan it cluster en it belied fan it ferbûne netwurk. As jo it iepenbiere einpunt hâlde, moat syn tastiene list oerienkomme mei de iepenbiere útgong dy’t jo API-klanten en nodes eins brûke; in adres út in VPN-pool is selden dy boarne.

Neat hjirfan feroaret IAM of Kubernetes RBAC. Einpuntynstellingen binne in bestjoerlike aksje, en gewoane brûkers soene gjin tastimming krije moatte om de grins te fersêftsjen allinnich om de API te berikken. Skriuw de einstân, de datum en it weromsetpaad yn de runbook, en test dan it weromsetpaad ien kear wylst it noch maklik is.

Relatearre artikelen