0
0
Lập trình
Harry Tran
Harry Tran106580903228332612117

Hướng Dẫn Di Chuyển từ AL2 AMIs sang AL2023 trên Amazon EKS

Đăng vào 6 tháng trước

• 4 phút đọc

Chủ đề:

#aws#eks

Giới thiệu

Amazon Elastic Kubernetes Service (EKS) vừa thông báo một thay đổi quan trọng: Sau ngày 26 tháng 11 năm 2025, Amazon EKS sẽ không còn phát hành EKS-optimized Amazon Linux 2 (AL2) AMIs. Điều này có nghĩa rằng các tổ chức đang chạy các cụm EKS với các nút AL2 phải di chuyển trước khi nâng cấp lên phiên bản Kubernetes 1.33 trở lên. Trong bài viết này, chúng ta sẽ tìm hiểu về lý do, cách di chuyển và các thực tiễn tốt nhất trong quá trình này.

Tại sao Amazon EKS ngừng hỗ trợ AL2 AMIs?

Amazon Linux 2 đã là hệ điều hành mặc định cho nhiều khối lượng công việc trên AWS trong nhiều năm. Tuy nhiên, AWS hiện đang chuyển sang các hệ điều hành hiện đại hơn:

  • Amazon Linux 2023 (AL2023): Người kế nhiệm AL2, cung cấp hỗ trợ lâu dài, chu trình phát hành đáng tin cậy và cải thiện khả năng vá lỗi bảo mật.
  • Bottlerocket: Một hệ điều hành tối ưu cho container với hệ thống tệp gốc không thay đổi và bề mặt tấn công giảm thiểu.

Cả hai đều cung cấp:

  • Cải thiện an ninh (cập nhật dự đoán, mặc định được bảo mật).
  • Tối ưu hiệu suất cho các khối lượng công việc cloud-native.
  • Tương lai hóa cho các phiên bản Kubernetes vượt qua 1.32.

Điều này có nghĩa gì đối với người dùng EKS?

  1. Nếu cụm của bạn đang chạy các nhóm nút Amazon Linux 2, bạn có thể tiếp tục sử dụng chúng cho đến Kubernetes 1.32.
  2. Khi bạn có kế hoạch nâng cấp lên Kubernetes 1.33 hoặc mới hơn, bạn phải di chuyển các nút của mình sang AL2023 hoặc Bottlerocket.
  3. Sau ngày 26 tháng 11 năm 2025, sẽ không có AMIs AL2 mới hoặc bản vá bảo mật, ngay cả khi bạn vẫn sử dụng các phiên bản Kubernetes cũ hơn.

Chiến lược di chuyển với eksctl

Tin tốt là: bạn không cần phải xây dựng lại cụm của mình. Với eksctl, bạn có thể thay thế các nhóm nút hoặc nâng cấp chúng tại chỗ trong khi vẫn giữ nguyên kế hoạch điều khiển và khối lượng công việc của mình.

🔹 Tùy chọn 1: Tạo một Nhóm Nút AL2023 Mới

Bạn có thể thêm một nhóm nút mới chạy AL2023 bên cạnh nhóm AL2 hiện tại của bạn.

bash Copy
eksctl create nodegroup \
  --cluster my-cluster \
  --name al2023-ng \
  --node-type t3.medium \
  --nodes 3 \
  --nodes-min 2 \
  --nodes-max 5 \
  --managed \
  --ami-family AmazonLinux2023

Sau đó:

  1. Drain các nút cũ:
bash Copy
   kubectl drain <old-node-name> --ignore-daemonsets --delete-local-data
  1. Xóa nhóm nút cũ sau khi khối lượng công việc đã được di chuyển:
bash Copy
   eksctl delete nodegroup --cluster my-cluster --name al2-ng

🔹 Tùy chọn 2: Cập nhật Nhóm Nút hiện tại sang AL2023

Nếu bạn muốn nâng cấp tại chỗ:

cluster.yaml (mẫu):

yaml Copy
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: my-cluster
  region: ap-southeast-1

nodeGroups:
  - name: al2023-ng
    instanceType: t3.medium
    desiredCapacity: 3
    amiFamily: AmazonLinux2023

Áp dụng nâng cấp:

bash Copy
eksctl upgrade nodegroup --config-file=cluster.yaml --name=al2023-ng

Điều này sẽ cordon, drain và thay thế các nút bằng các nút dựa trên AL2023.

🔹 Tùy chọn 3: Chuyển sang Bottlerocket

Đối với các khối lượng công việc tập trung vào bảo mật hoặc chỉ container, Bottlerocket là một lựa chọn mạnh mẽ:

bash Copy
eksctl create nodegroup \
  --cluster my-cluster \
  --name bottlerocket-ng \
  --node-type t3.medium \
  --nodes 3 \
  --nodes-min 2 \
  --nodes-max 5 \
  --managed \
  --ami-family Bottlerocket

Xác minh di chuyển

Sau khi di chuyển, xác nhận rằng các nút đang chạy hệ điều hành mới:

bash Copy
kubectl get nodes -o wide
kubectl describe node <node-name> | grep "OS Image"

Kết quả mong đợi:

  • AL2023: Amazon Linux 2023
  • Bottlerocket: Bottlerocket OS

Thực tiễn tốt nhất

  • Kiểm tra trước trong môi trường staging trước khi đưa vào sản xuất.
  • Sử dụng nâng cấp cuộn: không bao giờ drain tất cả các nút cùng một lúc.
  • Tự động hóa cấu hình: giữ cluster.yaml dưới sự kiểm soát phiên bản để nâng cấp lặp lại.
  • Giám sát khối lượng công việc: theo dõi CloudWatch và các chỉ số Kubernetes sau khi di chuyển.

Những điểm cần lưu ý

  • Di chuyển sớm: Bắt đầu di chuyển sớm để tránh áp lực vào phút cuối.
  • Lập kế hoạch nâng cấp: Đảm bảo bạn có kế hoạch rõ ràng trước khi nâng cấp lên Kubernetes 1.33.
  • Theo dõi hiệu suất: Theo dõi hiệu suất của các ứng dụng sau khi di chuyển để phát hiện kịp thời các vấn đề.

Kết luận

Việc Amazon EKS ngừng hỗ trợ AL2 AMIs là một thay đổi lớn — nhưng cũng là cơ hội để hiện đại hóa. Hãy bắt đầu di chuyển ngay bây giờ và sử dụng eksctl để quản lý các nâng cấp nhóm nút của bạn, đảm bảo bạn có một quá trình chuyển đổi mượt mà trước thời hạn tháng 11 năm 2025.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào