Các tính năng của Amazon EKS

Tổng quan

Dịch vụ Kubernetes linh hoạt Amazon (Amazon EKS) là một dịch vụ Kubernetes được quản lý giúp bạn dễ dàng chạy Kubernetes trên AWS và tại chỗ. Kubernetes là một hệ thống nguồn mở để tự động hóa việc triển khai, thay đổi quy mô và quản lý ứng dụng trong bộ chứa. Amazon EKS được chứng nhận tuân thủ Kubernetes, vì vậy các ứng dụng hiện có chạy trên Kubernetes thượng nguồn tương thích với Amazon EKS.

Amazon EKS tự động quản lý tính sẵn sàng và khả năng mở rộng của các nút tầng điều khiển Kubernetes chịu trách nhiệm lên lịch trình cho bộ chứa, quản lý tính sẵn sàng của các ứng dụng, lưu trữ dữ liệu cụm và các tác vụ chính khác.

Amazon EKS cho phép bạn chạy các ứng dụng Kubernetes của mình trên cả Amazon Elastic Compute Cloud (Amazon EC2) và AWS Fargate. Với Amazon EKS, bạn có thể tận dụng tất cả hiệu suất, quy mô, độ tin cậy và tính sẵn sàng của cơ sở hạ tầng AWS cũng như tiện ích tích hợp với các dịch vụ mạng và bảo mật AWS, chẳng hạn như các Application Load Balancer (ALB) để phân phối tải, tiện ích tích hợp AWS Identity and Access Management (IAM) với khả năng kiểm soát truy cập dựa trên vai trò (RBAC) và Đám mây riêng ảo (VPC) AWS để hỗ trợ mạng nhóm.

ảnh dữ liệu máy tính

Cụm Kubernetes được quản lý

Amazon EKS cung cấp một tầng điều khiển Kubernetes có khả năng mở rộng và độ sẵn sàng cao, chạy trên nhiều Vùng sẵn sàng (AZ) của AWS. Amazon EKS tự động quản lý tính sẵn sàng và khả năng mở rộng của các máy chủ API Kubernetes và lớp bền vững etcd. Amazon EKS chạy tầng điều khiển Kubernetes trên ba Vùng sẵn sàng để đảm bảo tính sẵn sàng cao và tự động phát hiện cũng như thay thế các nút tầng điều khiển không hoạt động tốt.

AWS Controllers for Kubernetes (ACK) cung cấp cho bạn quyền kiểm soát quản lý trực tiếp đối với các dịch vụ AWS từ bên trong môi trường Kubernetes của mình. ACK khiến việc xây dựng các ứng dụng Kubernetes có khả năng mở rộng và độ sẵn sàng cao sử dụng dịch vụ AWS trở nên đơn giản.

EKS cung cấp một bảng điều khiển tích hợp cho các cụm Kubernetes. Những người vận hành cụm và nhà phát triển ứng dụng có thể sử dụng EKS như một nơi duy nhất để tổ chức, trực quan hóa và khắc phục sự cố cho các ứng dụng Kubernetes của bạn đang chạy trên Amazon EKS. Bảng điều khiển EKS được AWS lưu trữ và tự động được cung cấp cho tất cả các cụm EKS.

Tiện ích bổ sung EKS là phần mềm vận hành phổ biến dành cho việc mở rộng chức năng vận hành của Kubernetes. Bạn có thể sử dụng EKS để cài đặt và cập nhật phần mềm tiện ích này. Khi bạn bắt đầu một cụm Amazon EKS, chọn các tiện ích bổ sung mà bạn muốn chạy trong cụm, bao gồm các công cụ Kubernetes cho khả năng quan sát, kết nối mạng, tự động thay đổi quy mô và tích hợp dịch vụ AWS.

Amazon EKS cho phép bạn tạo, cập nhật, thay đổi quy mô và kết thúc các nút cho cụm chỉ bằng một lệnh duy nhất. Những nút này có thể tận dụng các Amazon EC2 Phiên bản dùng ngay để giảm chi phí. Các nhóm nút được quản lý chạy các phiên bản Amazon EC2 bằng cách sử dụng những Hình ảnh máy Amazon (AMI) tùy chỉnh hoặc được tối ưu hóa EKS mới nhất trong tài khoản AWS của bạn, còn các bản cập nhật và kết thúc rút các nút một cách phù hợp để đảm bảo những ứng dụng của bạn luôn sẵn sàng.

Triển khai theo hình thức kết hợp

Bạn có thể sử dụng EKS trên AWS Outposts để chạy các ứng dụng được gói trong bộ chứa yêu cầu độ trễ cực kỳ thấp cho hệ thống tại chỗ. AWS Outposts là một dịch vụ được quản lý hoàn toàn có tác dụng mở rộng cơ sở hạ tầng AWS, dịch vụ AWS, API và công cụ cho hầu như mọi trang web được kết nối. Với EKS trên Outposts, bạn có thể quản lý bộ chứa tại chỗ một cách dễ dàng giống như khi quản lý bộ chứa trên đám mây.

Bạn có thể đính kèm các nút đang chạy trong Vùng địa phương AWS hoặc AWS Wavelength vào EKS, giúp mang lại cho bạn nhiều lựa chọn hơn về cơ sở hạ tầng do AWS quản lý tại biên.

Amazon EKS Distro đóng gói cùng một bản phân phối phần mềm Kubernetes nguồn mở được sử dụng trong Amazon EKS trên AWS để sử dụng trên cơ sở hạ tầng tại chỗ của riêng bạn. Quản lý các cụm EKS Distro bằng công cụ của riêng bạn hoặc bằng Amazon EKS Anywhere.

Với Amazon EKS Anywhere, bạn có thể dễ dàng tạo và vận hành các cụm Kubernetes (xây dựng bằng phần mềm trong Amazon EKS Distro) tại chỗ, kể cả trên các máy ảo (VM) và máy chủ bare metal của riêng bạn. EKS Anywhere giúp bạn không phải thực hiện việc xây dựng phức tạp và hỗ trợ công cụ của riêng bạn để quản lý các cụm Kubernetes. EKS Anywhere cung cấp công cụ tự động giúp đơn giản hóa việc tạo cụm, quản trị và vận hành trên cơ sở hạ tầng như các máy vật lý, VMware vSphere và máy ảo chạy trên đám mây. Điều này bao gồm cả những máy ảo chạy trên đám mây với cấu hình mặc định để ghi nhật ký, giám sát, kết nối mạng và lưu trữ. EKS Anywhere mang đến các công cụ và thành phần bổ sung mà bạn sẽ cần để chạy Kubernetes trong sản xuất, chẳng hạn như cài đặt cụm và quản lý vòng đời, khả năng quan sát, sao lưu cụm và quản lý chính sách.

Sử dụng eksctl để khởi chạy các nút và quản lý dòng đơn

Sử dụng công cụ dòng lệnh eksctl để thiết lập và khởi chạy Amazon EKS chỉ trong vài phút. Chỉ cần chạy lệnh "eksctl create cluster" để tạo cụm EKS của bạn. Bạn có thể sử dụng eksctl để đơn giản hóa việc quản lý và vận hành cụm bao gồm quản lý các nút và tiện ích bổ sung.

Amazon EKS hỗ trợ các nút thực thi Windows và tạo lịch cho các bộ chứa Windows. EKS hỗ trợ chạy các nút thực thi Windows cùng với các nút thực thi Linux, cho phép bạn sử dụng cùng một cụm để quản lý các ứng dụng trên một trong hai hệ điều hành.

Bộ xử lý AWS Graviton2 hỗ trợ các phiên bản EC2 dựa trên Arm có bước nhảy vọt về hiệu suất và chức năng cũng như tiết kiệm chi phí đáng kể. Cải thiện hiệu quả chi phí ứng dụng là mục tiêu chính của việc sử dụng các bộ chứa. Kết hợp cả hai và bạn có thể tối ưu hóa chi phí. Ví dụ: việc kiểm thử khối lượng công việc cho thấy các loại phiên bản dựa trên bộ xử lý Graviton2 mang lại tỷ lệ giá/hiệu năng tốt hơn lên tới 40% so với các dòng M5, C5 và R5 dựa trên x86 tương đương. Amazon EKS trên AWS Graviton2 thường khả dụng khi cả hai dịch vụ đều có sẵn theo Khu vực.

Kết nối mạng và bảo mật

Amazon EKS giúp bạn dễ dàng cung cấp khả năng bảo mật cho các cụm Kubernetes của mình với các tính năng nâng cao và tích hợp với các dịch vụ AWS cùng giải pháp của đối tác công nghệ. Ví dụ: IAM cung cấp quyền kiểm soát truy cập chi tiết, còn Amazon VPC cô lập các cụm Kubernetes của bạn với các khách hàng khác.

Amazon Elastic Kubernetes Service (EKS) hỗ trợ IPv6, cho phép khách hàng mở rộng quy mô các ứng dụng trong bộ chứa trên Kubernetes vượt ngoài những giới hạn về không gian địa chỉ IPv4 riêng. Với việc EKS hỗ trợ IPv6, các pod sẽ chỉ được gán một địa chỉ IPv6 có thể định tuyến toàn cầu, cho phép bạn điều chỉnh quy mô ứng dụng trong cụm của mình mà không cần dùng tới không gian địa chỉ IPv4 riêng có hạn. Bạn có thể dùng địa chỉ IPv6 có thể định tuyến toàn cầu này để giao tiếp trực tiếp với mọi điểm cuối IPv6 trong Amazon VPC, mạng tại chỗ của bạn hoặc Internet công cộng. Thêm nữa, EKS sẽ cấu hình mạng để các pod vẫn có thể giao tiếp với các điểm cuối dùng IPv4 nằm ngoài cụm, giúp bạn tiếp nhận những lợi ích từ IPv6 thông qua Kubernetes mà không cần phải di chuyển mọi dịch vụ phụ thuộc đã triển khai trên khắp tổ chức sang IPv6.

EKS Pod Identity đơn giản hóa công việc mà khách hàng cần làm để thiết lập ứng dụng trên các cụm EKS để truy cập các dịch vụ AWS. Quản trị viên cụm EKS có quy trình làm việc đơn giản hóa để lấy thông tin chứng thực IAM cần thiết để xác thực các ứng dụng Kubernetes để truy cập các tài nguyên AWS như vùng lưu trữ S3, bảng DynamoDB, v.v. EKS Pod Identity giúp dễ dàng sử dụng các vai trò IAM trên nhiều cụm và đơn giản hóa việc quản lý chính sách IAM bằng cách hỗ trợ tái sử dụng các chính sách trên các vai trò IAM.

AWS Cloud Map là một dịch vụ khám phá tài nguyên đám mây. Với Cloud Map, bạn có thể xác định tên tùy chỉnh và duy trì cập nhật vị trí của những tài nguyên ứng dụng thay đổi linh hoạt đó. Điều này làm tăng tính sẵn sàng của ứng dụng vì dịch vụ web của bạn luôn tìm ra các vị trí mới nhất của nguồn tài nguyên. Cloud Map hoạt động với dns bên ngoài, một trình kết nối Kubernetes nguồn mở tự động truyền các vị trí dịch vụ nội bộ đến cơ quan đăng ký dịch vụ Cloud Map khi các dịch vụ Kubernetes khởi chạy và xóa chúng khi ngừng chạy. Các dịch vụ dựa trên Kubernete có thể được khám phá thông qua Cloud Map, dịch vụ này cung cấp một cơ sở dữ liệu dịch vụ thống nhất cho tất cả khối lượng công việc bộ chứa.

Mạng lưới dịch vụ chuẩn hóa cách giao tiếp của mỗi vi dịch vụ trong ứng dụng của bạn, giúp dễ dàng xây dựng và chạy các ứng dụng vi dịch vụ phức tạp. AWS App Mesh cấu hình ứng dụng của bạn để có khả năng hiển thị hoàn chỉnh và độ sẵn sàng cao. Bạn có thể sử dụng bộ điều khiển AWS App Mesh cho Kubernetes để tạo các dịch vụ mới được kết nối với mạng lưới, xác định định tuyến lưu lượng và định cấu hình các tính năng bảo mật như mã hóa. Ngoài ra, App Mesh cho phép bạn tự động đăng ký các nhóm Kubernetes của mình trong AWS Cloud Map để khám phá dịch vụ. App Mesh xuất các chỉ số, nhật ký và dấu vết đến các điểm cuối được chỉ định trong cấu hình bootstrap Envoy được cung cấp. App Mesh cung cấp một API để định cấu hình các tuyến đường lưu lượng, ngắt mạch, thử lại và những cách thức điều khiển khác giữa các vi dịch vụ hỗ trợ mạng lưới. App Mesh Mutual TLS giúp mã hóa tất cả các yêu cầu giữa các dịch vụ ngay cả khi chúng xảy ra trong mạng riêng của bạn. Ngoài ra, bạn có thể thêm các biện pháp điều khiển xác thực để chỉ kích hoạt giao tiếp giữa các dịch vụ mà bạn cho phép.

Các cụm EKS của bạn chạy trên một Amazon VPC, cho phép bạn sử dụng các nhóm bảo mật VPC và danh sách kiểm soát truy cập (ACL) mạng của riêng mình. Không có tài nguyên điện toán nào được chia sẻ với các khách hàng khác, điều này cung cấp cho bạn mức độ cách ly cao để xây dựng các ứng dụng an toàn và đáng tin cậy. EKS dùng Giao diện mạng bộ chứa (CNI) của Amazon VPC, cho phép các pod của Kubernetes nhận địa chỉ IP từ VPC. Amazon EKS làm việc với công cụ chính sách mạng của Project Calico để cung cấp các chính sách kết nối mạng chi tiết cho khối lượng công việc Kubernetes của bạn. Sử dụng API chính sách mạng Kubernetes để kiểm soát quyền truy cập trên cơ sở từng dịch vụ.

Amazon EKS tích hợp Kubernetes RBAC (hệ thống kiểm soát truy cập dựa trên vai trò gốc cho Kubernetes) với AWS IAM. Bạn có thể trực tiếp chỉ định vai trò RBAC cho từng thực thể IAM, cho phép kiểm soát chi tiết quyền truy cập vào các nút tầng điều khiển Kubernetes của bạn.

Amazon EKS cho phép bạn gán quyền IAM cho các tài khoản dịch vụ Kubernetes của mình. Vai trò IAM có thể kiểm soát quyền truy cập vào những dịch vụ có trong bộ chứa khác, các tài nguyên AWS bên ngoài cụm như cơ sở dữ liệu và bí mật hoặc các dịch vụ và ứng dụng của bên thứ ba chạy bên ngoài AWS. Điều này mang đến cho bạn khả năng kiểm soát truy cập chi tiết ở cấp độ nhóm khi chạy các cụm với nhiều dịch vụ được đồng định vị, đồng thời đơn giản hóa việc tối ưu hóa chi phí và độ sẵn sàng cho cụm.

Amazon EKS được chứng nhận bởi nhiều chương trình tuân thủ cho các ứng dụng được quản lý và nhạy cảm. Amazon EKS tuân thủSOC, PCI, ISO, FedRAMP-Moderate, IRAP, C5, K-ISMS, ENS High, OSPAR, HITRUST CSF và là một dịch vụ đủ điều kiện tuân thủ HIPAA.

Amazon EKS tương thích với khả năng xác minh chữ ký hình ảnh bộ chứa để cho phép triển khai khối lượng công việc bộ chứa với các hình ảnh và tạo tác đã được phê duyệt. Bạn có thể xác minh các hình ảnh (hoặc bất kỳ tạo tác OCI nào khác như Hóa đơn nguyên vật liệu phần mềm) được ký bởi AWS Signer, một giải pháp ký số được quản lý toàn phần, trước khi triển khai hình ảnh trong cụm Amazon EKS của bạn. AWS hỗ trợ các giải pháp xác minh và ký số hình ảnh dựa trên nguồn mở để bạn có thể dễ dàng ký các tạo tác được lưu trữ trong sổ đăng ký của mình và xác minh chúng bằng cách sử dụng chính sách dưới dạng mã dạng nguồn mở hoặc trình điều khiển tiếp nhận.

Cân bằng tải

Amazon EKS hỗ trợ sử dụng Cân bằng tải linh hoạt bao gồm Trình cân bằng tải ứng dụng (ALB), Bộ cân bằng tải mạng (NLB) và Bộ cân bằng tải cổ điển.

Bạn có thể chạy cân bằng tải cụm Kubernetes tiêu chuẩn hoặc bất kỳ bộ điều khiển xâm nhập nào được Kubernetes hỗ trợ với cụm Amazon EKS.

Điện toán Serverless

EKS hỗ trợ AWS Fargate để chạy các ứng dụng Kubernetes của bạn bằng điện toán phi máy chủ. Fargate loại bỏ nhu cầu cung cấp và quản lý máy chủ, giúp bạn chỉ định và chi trả cho tài nguyên theo ứng dụng, đồng thời chủ động cải thiện mức độ bảo mật thông qua khả năng cách ly ứng dụng.

Theo dõi chi phí

Amazon EKS đơn giản hóa quy trình phân tích các chi phí liên quan đến mức sử dụng Kubernetes của bạn, cả tại cấp độ cụm cũng như cấp độ ứng dụng riêng biệt.

Amazon EKS tự động gắn một thẻ phân bổ chi phí AWS cho mỗi phiên bản EC2 gia nhập một cụm. Điều này giúp bạn không cần phải triển khai một chính sách gắn thẻ tùy chỉnh trên toàn bộ tổ chức để thu được thông tin chuyên sâu về những chi phí cấp độ cụm. Sau khi kích hoạt thẻ phân bổ chi phí theo tên cụm EKS trong Bảng điều khiển thanh toán AWS, bạn có thể sử dụng Báo cáo chi phí và mức sử dụng AWS để theo dõi những chi phí EC2 liên quan đến các cụm EKS.

Amazon EKS hỗ trợ Kubecost, cho phép bạn theo dõi các chi phí được phân tích chi tiết theo những tài nguyên Kubernetes bao gồm pod, nút, vùng tên và nhãn. Các quản trị viên của nền tảng Kubernetes và những nhà lãnh đạo tài chính có thể sử dụng Kubecost để trực quan hóa thông tin phân tích chi tiết về các khoản phí liên quan đến Amazon EKS, phân bổ chi phí và bồi hoàn cho các đơn vị trong tổ chức, chẳng hạn như đội ngũ ứng dụng. Bạn có thể cung cấp cho các đội ngũ nội bộ và đơn vị tổ chức của mình dữ liệu chi phí chính xác và minh bạch dựa trên hóa đơn AWS của chính họ, đồng thời nhận được những đề xuất tối ưu hóa chi phí tùy chỉnh dựa trên môi trường cơ sở hạ tầng và mô hình sử dụng trong cụm của họ.

Ghi nhật ký

Amazon EKS được tích hợp với AWS CloudTrail để cung cấp khả năng hiển thị các hoạt động quản lý EKS, bao gồm lịch sử kiểm tra. Bạn có thể sử dụng CloudTrail để xem các lệnh gọi API tới API Amazon EKS. Amazon EKS cũng gửi các bản ghi mặt phẳng điều khiển Kubernetes tới Amazon CloudWatch để phân tích, gỡ lỗi và kiểm tra.

Tuân thủ được chứng nhận

Amazon EKS chạy Kubernetes thượng nguồn và được chứng nhận tuân thủ Kubernetes, vì vậy bạn có thể sử dụng mọi phần bổ trợ và công cụ từ cộng đồng Kubernetes. Các ứng dụng chạy trên Amazon EKS hoàn toàn tương thích với các ứng dụng chạy trên bất kỳ môi trường Kubernetes tiêu chuẩn nào, cho dù chạy trong trung tâm dữ liệu tại chỗ hay các đám mây công cộng. Điều này có nghĩa bạn cũng có thể dễ dàng di chuyển bất kỳ ứng dụng Kubernetes tiêu chuẩn nào lên Amazon EKS mà không phải cải tiến mã của mình.

Cập nhật cụm được quản lý

Amazon EKS giúp việc cập nhật các cụm đang chạy lên phiên bản Kubernetes mới nhất trở nên dễ dàng mà không phải quản lý quá trình cập nhật. Việc cập nhật phiên bản Kubernetes được thực hiện tại chỗ, không cần phải tạo cụm mới hoặc di chuyển ứng dụng sang một cụm mới.

Khi các phiên bản Kubernetes mới được phát hành và xác thực để sử dụng với Amazon EKS, chúng tôi sẽ hỗ trợ ba phiên bản Kubernetes ổn định tại bất kỳ thời điểm nào như một phần của quá trình cập nhật. Bạn có thể bắt đầu cài đặt các phiên bản mới và xem thông tin chi tiết về trạng thái của những bản cập nhật đang tiến hành qua SDK, CLI hoặc Bảng điều khiển AWS.

Hỗ trợ khối lượng công việc nâng cao

Amazon EKS cung cấp một Hình ảnh máy Amazon (AMI) được tối ưu hóa bao gồm các trình điều khiển NVIDIA được cấu hình cho các phiên bản Amazon EC2 P2P3 có hỗ trợ GPU. Điều này giúp bạn dễ dàng sử dụng Amazon EKS để chạy các khối lượng công việc nâng cao về mặt tính toán, bao gồm máy học (ML), Kubeflow, bộ chứa deep learning (DL), máy tính hiệu suất cao (HPC), phân tích tài chính và chuyển mã video.

Khả năng tương thích nguồn mở

Amazon EKS hoàn toàn tương thích với các công cụ cộng đồng Kubernetes và hỗ trợ các tiện ích bổ sung Kubernetes phổ biến. Chúng bao gồm CoreDNS để tạo dịch vụ DNS cho cụm của bạn và cả giao diện người dùng dựa trên web của Bảng điều khiển Kubernetes lẫn công cụ dòng lệnh kubectl để giúp truy cập và quản lý cụm của bạn trên Amazon EKS.

Để biết thêm thông tin, hãy xem trang GitHub về các công cụ của cộng đồng Kubernetes.

Bộ kết nối EKS

Amazon EKS cho phép bạn kết nối bất kỳ cụm Kubernetes nào tuân thủ AWS và hiển thị trực quan cụm trong bảng điều khiển Amazon EKS. Bạn có thể kết nối bất kỳ cụm Kubernetes phù hợp, bao gồm các cụm Amazon EKS Anywhere chạy tại chỗ, các cụm tự quản lý trên Amazon Elastic Compute Cloud (Amazon EC2) và những cụm Kubernetes khác chạy bên ngoài AWS. Bất kể cụm của bạn đang chạy ở đâu, bạn có thể sử dụng bảng điều khiển Amazon EKS để xem tất cả các cụm được kết nối và tài nguyên Kubernetes chạy trên các cụm đó.