0Pricing
Cloud & IT Cert Prep · บทเรียน

ระนาบควบคุมและโหนดผู้ปฏิบัติงานของ EKS

ทำความเข้าใจสิ่งที่ AWS จัดการในระนาบควบคุม EKS จัดเตรียมกลุ่มโหนดที่มีการจัดการ และเชื่อมต่อ kubectl กับคลัสเตอร์ของคุณ

ระนาบควบคุมและโหนดผู้ปฏิบัติงานของ EKS เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน

Amazon EKS คืออะไร

บริการ Kubernetes แบบจัดการเต็มรูปแบบของ Amazon (EKS)ช่วยขจัดภาระในการติดตั้ง ดำเนินการ และดูแลระนาบควบคุมของ Kubernetes AWS จะดำเนินการ ปรับขนาด และอัปเกรดระนาบควบคุมข้าม Availability Zone หลายแห่ง พร้อมมอบปลายทางคลัสเตอร์ที่มีความพร้อมใช้งานสูง คุณจึงมุ่งเน้นไปที่การนำไปใช้งานและจัดการภาระงานของแอปพลิเคชันได้อย่างเต็มที่

ระนาบควบคุมของ EKS

ระนาบควบคุมของ EKSประกอบด้วยเซิร์ฟเวอร์ API, etcd, ตัวจัดการคอนโทรลเลอร์ และตัวจัดตาราง ซึ่งทั้งหมดได้รับการจัดการโดย AWS องค์ประกอบเหล่านี้ทำงานอยู่ในบัญชีที่ AWS เป็นเจ้าของ ซึ่งหมายความว่าคุณจะไม่ต้อง SSH เข้าไป องค์ประกอบปลายทาง API ของ EKS มี SLA 99.95% และ AWS จะเปลี่ยนโหนดระนาบควบคุมที่ไม่สมบูรณ์โดยอัตโนมัติ คุณจะชำระค่าบริการระนาบควบคุมแบบคงที่ต่อคลัสเตอร์ต่อชั่วโมง

การสร้างคลัสเตอร์ EKS

คุณสามารถสร้างคลัสเตอร์ EKS ได้โดยใช้ AWS Console, eksctl หรือ CloudFormation คลัสเตอร์ต้องมี VPC ที่มีซับเน็ตกระจายอยู่ใน AZ อย่างน้อยสองแห่ง และบทบาท IAM ที่ให้สิทธิ์ระนาบควบคุม Kubernetes ในการเรียกใช้ API ของ AWS เมื่อสร้างเสร็จแล้ว ปลายทางคลัสเตอร์จะเป็น URL แบบ HTTPS ที่คุณกำหนดค่าไว้ใน kubeconfig

# Create a cluster with eksctl (recommended for getting started)
eksctl create cluster \
  --name my-cluster \
  --region us-east-1 \
  --version 1.29 \
  --nodegroup-name standard-nodes \
  --node-type m5.large \
  --nodes 3 \
  --nodes-min 1 \
  --nodes-max 5

การเชื่อมต่อ kubectl กับ EKS

หลังจากสร้างคลัสเตอร์แล้ว ให้อัปเดต kubeconfig ในเครื่องของคุณ เพื่อให้ kubectl ทราบวิธีเข้าถึงเซิร์ฟเวอร์ API ของ EKS AWS CLI จะสร้างรายการที่จำเป็นให้โดยอัตโนมัติ เซิร์ฟเวอร์ API ของ EKS ใช้ AWS IAM สำหรับการยืนยันตัวตน โดยระบบจะจับคู่ผู้ใช้หรือบทบาท IAM ของคุณกับข้อมูลระบุตัวตน RBAC ของ Kubernetes ผ่าน aws-auth ConfigMap

# Update kubeconfig for your EKS cluster
aws eks update-kubeconfig \
  --region us-east-1 \
  --name my-cluster

# Verify connectivity
kubectl get nodes
kubectl get pods --all-namespaces

กลุ่มโหนดที่มีการจัดการ

กลุ่มโหนดที่มีการจัดการช่วยให้ AWS จัดเตรียม ลงทะเบียน และจัดการวงจรการใช้งานของโหนดผู้ปฏิบัติงาน EC2 แทนคุณ เมื่อคุณขอให้อัปเดตหรือเปลี่ยนโหนด EKS จะระบายพ็อด เปลี่ยนอินสแตนซ์ และลงทะเบียนใหม่โดยอัตโนมัติทั้งหมด โดยไม่ต้องดำเนินการด้วยตนเอง กลุ่มโหนดที่มีการจัดการใช้ กลุ่ม Auto Scaling อยู่เบื้องหลัง ทำให้คุณควบคุมความจุขั้นต่ำ สูงสุด และที่ต้องการได้ รวมถึงผสานการทำงานกับ Cluster Autoscaler

# Add a managed node group to an existing cluster
eksctl create nodegroup \
  --cluster my-cluster \
  --region us-east-1 \
  --name high-mem-nodes \
  --node-type r6i.large \
  --nodes 2 \
  --nodes-min 1 \
  --nodes-max 10 \
  --managed

กลุ่มโหนดที่จัดการด้วยตนเอง

สำหรับ กลุ่มโหนดที่จัดการด้วยตนเอง คุณจะเปิดใช้งานอินสแตนซ์ EC2 เอง (ผ่าน CloudFormation หรือ Terraform) และลงทะเบียนอินสแตนซ์กับคลัสเตอร์ EKS โดยเรียกใช้สคริปต์ Bootstrap วิธีนี้ให้ความยืดหยุ่นสูงสุด คุณสามารถใช้ AMI แบบกำหนดเอง ประเภทอินสแตนซ์ GPU หรือการกำหนดค่าเคอร์เนลที่ปรับแต่งอย่างละเอียดได้ แต่คุณต้องรับผิดชอบทั้งหมดในการติดตั้งแพตช์ การระบายโหนด และการเปลี่ยนโหนด

# Bootstrap script baked into the launch template
/etc/eks/bootstrap.sh my-cluster \
  --apiserver-endpoint 'https://EXAMPLE.gr7.us-east-1.eks.amazonaws.com' \
  --b64-cluster-ca 'BASE64_ENCODED_CA' \
  --kubelet-extra-args '--node-labels=role=custom'

บทบาท IAM ของโหนดและโปรไฟล์อินสแตนซ์

โหนดผู้ปฏิบัติงานทุกโหนดต้องทำงานด้วย โปรไฟล์อินสแตนซ์ EC2 ที่มีนโยบายที่ AWS จัดการสามรายการ ได้แก่ AmazonEKSWorkerNodePolicy, AmazonEKS_CNI_Policy และ AmazonEC2ContainerRegistryReadOnly นโยบายเหล่านี้ช่วยให้โหนดเข้าร่วมคลัสเตอร์ จัดการเครือข่ายของพ็อดด้วยปลั๊กอิน VPC CNI และดึงอิมเมจจาก ECR หากไม่มีนโยบายเหล่านี้ โหนดจะลงทะเบียนไม่สำเร็จ

# Attach required policies to the node role
aws iam attach-role-policy \
  --role-name EKSNodeRole \
  --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy

aws iam attach-role-policy \
  --role-name EKSNodeRole \
  --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy

aws iam attach-role-policy \
  --role-name EKSNodeRole \
  --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly

aws-auth ConfigMap: การจับคู่ IAM กับ RBAC

EKS ใช้ aws-auth ConfigMap ในเนมสเปซ kube-system เพื่อจับคู่ผู้ใช้และบทบาท IAM กับชื่อผู้ใช้และกลุ่มของ Kubernetes เมื่อคุณสร้างคลัสเตอร์ ระบบจะให้สิทธิ์ผู้ดูแลแก่ข้อมูลระบุตัวตน IAM ของผู้สร้างโดยอัตโนมัติเท่านั้น หากต้องการให้ผู้ใช้อื่นหรือบทบาท CI/CD เข้าถึงคลัสเตอร์ คุณต้องเพิ่มรายการลงใน ConfigMap นี้ด้วยคีย์ mapRoles หรือ mapUsers ที่ถูกต้อง

# View and edit the aws-auth ConfigMap
kubectl describe configmap aws-auth -n kube-system

# Add a role mapping (example YAML fragment)
# mapRoles:
# - rolearn: arn:aws:iam::111122223333:role/EKSNodeRole
#   username: system:node:{{EC2PrivateDNSName}}
#   groups:
#     - system:bootstrappers
#     - system:nodes

ส่วนเสริมของ EKS และการอัปเกรดคลัสเตอร์

ส่วนเสริมของ EKSคือองค์ประกอบซอฟต์แวร์ที่คัดสรรและตรวจสอบโดย AWS เช่น VPC CNI, CoreDNS และ kube-proxy ซึ่ง EKS สามารถติดตั้งและดูแลให้เป็นปัจจุบันแทนคุณได้ เมื่อคุณอัปเกรดเวอร์ชัน Kubernetes ของคลัสเตอร์ ให้เริ่มจากอัปเดตระนาบควบคุมก่อน จากนั้นจึงอัปเดตกลุ่มโหนดที่มีการจัดการแต่ละกลุ่มให้เป็นเวอร์ชันเดียวกัน EKS รองรับความแตกต่างของเวอร์ชันย่อย N-1 ระหว่างระนาบควบคุมกับโหนดในช่วงเวลาการทยอยอัปเดต

# List available add-ons and their versions
aws eks describe-addon-versions \
  --kubernetes-version 1.29 \
  --query 'addons[].{Name:addonName,Versions:addonVersions[0].addonVersion}' \
  --output table

# Update the VPC CNI add-on
aws eks update-addon \
  --cluster-name my-cluster \
  --addon-name vpc-cni \
  --addon-version v1.16.0-eksbuild.1

ความปลอดภัยของ EKS: การเข้าถึงปลายทางและการเข้ารหัส

คุณสามารถกำหนดค่าองค์ประกอบปลายทางเซิร์ฟเวอร์ API ของ EKS ให้เป็น สาธารณะเท่านั้น ส่วนตัวเท่านั้น หรือทั้งสองแบบได้ ปลายทางสาธารณะได้รับการรักษาความปลอดภัยด้วยการยืนยันตัวตน IAM ส่วนปลายทางส่วนตัวเท่านั้นกำหนดให้ kubeconfig ของคุณเข้าถึง VPC ผ่าน VPN หรือ Direct Connect นอกจากนี้ คุณยังสามารถเปิดใช้ การเข้ารหัสแบบซองสำหรับข้อมูลลับของ Kubernetes ที่จัดเก็บอยู่ โดยใช้คีย์ AWS KMS เพื่อเพิ่มชั้นการป้องกันให้ข้อมูลการกำหนดค่าที่ละเอียดอ่อน

# Enable private endpoint and envelope encryption at cluster creation
aws eks create-cluster \
  --name secure-cluster \
  --kubernetes-version 1.29 \
  --role-arn arn:aws:iam::111122223333:role/EKSClusterRole \
  --resources-vpc-config subnetIds=subnet-xxx,securityGroupIds=sg-xxx,endpointPublicAccess=false,endpointPrivateAccess=true \
  --encryption-config '[{"provider":{"keyArn":"arn:aws:kms:us-east-1:111122223333:key/KEY_ID"},"resources":["secrets"]}]'

Cluster Autoscaler บน EKS

Cluster Autoscalerคือพ็อด Kubernetes ที่เฝ้าดูพ็อดซึ่งไม่สามารถจัดตารางได้ และปรับขนาดของกลุ่ม Auto Scaling ของกลุ่มโหนดที่มีการจัดการโดยอัตโนมัติ เมื่อไม่สามารถจัดตารางพ็อดได้เนื่องจากทรัพยากรไม่เพียงพอ Cluster Autoscaler จะเพิ่มขนาด เมื่อโหนดมีการใช้งานต่ำและสามารถจัดตารางพ็อดของโหนดนั้นไปยังที่อื่นได้ ระบบจะลดขนาด ความสามารถนี้ต้องใช้สิทธิ์ IAM เพื่อเรียกใช้ API ของ EC2 Auto Scaling ผ่าน IRSA

# Deploy Cluster Autoscaler (abbreviated)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/autoscaler/master/cluster-autoscaler/cloudprovider/aws/examples/cluster-autoscaler-autodiscover.yaml

# Add required annotation so it discovers your cluster ASGs
kubectl annotate serviceaccount cluster-autoscaler \
  -n kube-system \
  eks.amazonaws.com/role-arn=arn:aws:iam::111122223333:role/ClusterAutoscalerRole

ตรวจสอบความเข้าใจ

ทดสอบความเข้าใจแนวคิด AWS Solutions Architect (SAA-C03) จากบทเรียนนี้

สรุปบทเรียน

ในบทเรียนนี้ คุณได้เรียนรู้ว่า AWS manages the EKS control plane ที่ระดับ SLA 99.95%, managed node groups ช่วยให้ AWS จัดการวงจรการใช้งานของโหนด ขณะที่กลุ่มที่จัดการด้วยตนเองให้ความสามารถในการปรับแต่งได้สูงสุด และ the aws-auth ConfigMap จะแมปข้อมูลระบุตัวตนของ IAM กับ Kubernetes RBAC เพื่อควบคุมการเข้าถึงคลัสเตอร์ ต่อไปเราจะสำรวจ Fargate Profiles สำหรับการเรียกใช้พ็อดแบบไร้เซิร์ฟเวอร์

คำถามที่พบบ่อย

บทเรียน “ระนาบควบคุมและโหนดผู้ปฏิบัติงานของ EKS” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ระนาบควบคุมและโหนดผู้ปฏิบัติงานของ EKS” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ระนาบควบคุมและโหนดผู้ปฏิบัติงานของ EKS”

ทำความเข้าใจสิ่งที่ AWS จัดการในระนาบควบคุม EKS จัดเตรียมกลุ่มโหนดที่มีการจัดการ และเชื่อมต่อ kubectl กับคลัสเตอร์ของคุณ คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ระนาบควบคุมและโหนดผู้ปฏิบัติงานของ EKS” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม

ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ระนาบควบคุมและโหนดผู้ปฏิบัติงานของ EKS
  2. โปรไฟล์ Fargate สำหรับพ็อดแบบไร้เซิร์ฟเวอร์
  3. เครือข่าย EKS: VPC CNI และการทำโหลดบาลานซ์
  4. บทบาท IAM สำหรับบัญชีบริการ (IRSA)
← กลับไปที่ Cloud & IT Cert Prep