EKS APIని VPN వెనుక ఉంచండి: కార్యకలాపాల క్రమం
ప్రైవేట్ endpointని ప్రారంభించండి, kubectl దాన్ని చేరుకున్నట్లు నిరూపించండి, తర్వాత పబ్లిక్ endpointని మూసివేయండి. ప్రతి దశ మధ్య ఆదేశాలు మరియు తనిఖీలతో దశలవారీ రన్బుక్.
ఈ మార్పు యొక్క ప్రమాదకర సంస్కరణ ఏమిటంటే 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ని చేరుకోవడానికి మాత్రమే సరిహద్దును సడలించే అనుమతి పొందకూడదు. తుది స్థితి, తేదీ మరియు రికవరీ మార్గాన్ని రన్బుక్లో రాయండి, తర్వాత ఇంకా సులభంగా ఉన్నప్పుడు రికవరీ మార్గాన్ని ఒకసారి పరీక్షించండి.