Amazon EKS Connector với EKS Anywhere trên Dell PowerFlex

Tại sao nên chọn Amazon EKS Anywhere?

 Chuyển đổi số và hiện đại hóa ứng dụng đã đạt đến tầm cao mới trong thời gian gần đây. Khi các doanh nghiệp chuyển đổi số, nhu cầu áp dụng cơ sở hạ tầng hiện đại cũng tăng theo để chạy ứng dụng ở quy mô lớn và cung cấp cơ sở hạ tầng chịu lỗi.

Với bối cảnh công nghệ không ngừng phát triển, điều quan trọng là các ngành công nghiệp phải có vị thế tốt và được trang bị các công cụ và khả năng để mở rộng quy mô khi doanh nghiệp phát triển.

Kubernetes là một nền tảng container hóa hiệu quả khi nói đến việc chạy các dịch vụ vi mô và các ứng dụng hiện đại. Kubernetes có sẵn với mọi nhà cung cấp đám mây lớn dưới dạng dịch vụ và cũng có thể được triển khai trong môi trường đám mây riêng.

Amazon Elastic Kubernetes Service (EKS) Anywhere đã đưa nền tảng container lên một tầm cao mới. Amazon EKS Anywhere cho phép các tổ chức chạy cụm Amazon EKS ở bất kỳ đâu, kể cả trong đám mây riêng tại chỗ.

Amazon EKS Connector là gì?

 Trong blog này, chúng tôi sẽ thảo luận về Amazon EKS Connector cho phép bạn tận dụng Amazon EKS Console để xem toàn bộ cơ sở hạ tầng Kubernetes từ một cửa sổ duy nhất. Amazon EKS Anywhere và Amazon EKS Connector là sự lựa chọn phù hợp nhất về mặt chiến lược cho các doanh nghiệp đang áp dụng môi trường đám mây lai và thiết lập cơ sở hạ tầng riêng.

Amazon EKS Connector là một tính năng mới cho phép quản trị viên kết nối an toàn bất kỳ cụm Kubernetes nào (không giới hạn ở EKS Anywhere) với EKS Console và cung cấp chế độ xem thống nhất của toàn bộ môi trường Kubernetes.

Kết nối cụm Kubernetes tại chỗ của bạn với EKS Console yêu cầu bạn phải đăng ký cụm với EKS và chạy tác nhân EKS Connector trên cụm Kubernetes bên ngoài. Tác nhân EKS Connector được cài đặt trên cụm được kết nối sẽ thiết lập kênh truyền thông an toàn bằng trình quản lý phiên.

Có nhiều cách để đăng ký cụm Kubernetes chạy ở bất kỳ đâu với bảng điều khiển AWS EKS. Bạn có thể sử dụng AWS CLI, eksctl, SDK hoặc bảng điều khiển. Khi đăng ký với tùy chọn eksctl hoặc bảng điều khiển, tệp kê khai YAML sẽ tự động điền các tham số và cài đặt cần thiết. Tuy nhiên, cần thực hiện thêm một số bước thủ công.

Lưu ý: Để đăng ký cụm Kubernetes với bảng điều khiển EKS, bạn phải tạo các vai trò và nhóm IAM sau trong AWS IAM để có thể thực hiện các hoạt động bắt buộc: 

  • Vai trò liên kết dịch vụ cho Amazon EKS
  • Vai trò của EKS-Connector-Agent

Sau khi quá trình kết nối hoàn tất, người quản trị có thể sử dụng Amazon EKS Console để xem tất cả các cụm đã kết nối và các tài nguyên liên quan.

Giao diện người dùng đồ họa, văn bản, ứng dụng Mô tả được tạo tự độngĐầu nối Amazon EKS

 Kết nối cụm Kubernetes đang chạy trên cụm Dell PowerFlex với Bảng điều khiển EKS

 Chúng ta hãy tìm hiểu sâu hơn một chút về cách kết nối cụm Kubernetes chạy trên cụm Dell PowerFlex với Bảng điều khiển EKS.

Quá trình đăng ký cụm bao gồm hai bước:

 1. Đăng ký cụm với Amazon EKS

 2. Áp dụng tệp kê khai YAML của trình kết nối trong cụm mục tiêu để kích hoạt kết nối.

 Bước 1: Đăng ký cụm với Amazon EKS

 Bảng điều khiển EKS bao gồm tùy chọn đăng ký cùng với tùy chọn tạo cụm. Mở bảng điều khiển EKS và đi đến phần Cụm. Từ Thêm cụm, chọn tùy chọn Đăng ký như trong hình ảnh sau:

 

Đăng ký EKS Connector

 

  • Nhập các thông tin sau vào mẫu đăng ký nhóm:
    • Đặt tên cho cụm của bạn.
    • Chọn nhà cung cấp là EKS Anywhere (đây là trường hợp trong ví dụ này).
    • Chọn Vai trò EKS Connector mà bạn đã tạo để cho phép mặt phẳng điều khiển Kubernetes tạo tài nguyên thay mặt bạn.

Đăng ký cụm

  • Nhấp vào Đăng ký cụm .
  • Sau khi cụm được thêm vào, tên Cụm sẽ được hiển thị và trạng thái hiển thị là Hoạt động như trong hình sau:

Trạng thái cụm   

Bước 2: Áp dụng tệp kê khai YAML của trình kết nối trong cụm mục tiêu để kích hoạt kết nối

  • Sau khi đăng ký cụm, bạn sẽ được chuyển hướng đến trang Tổng quan cụm. Nhấp vào Tải xuống tệp YAML và cài đặt tệp trên cụm Kubernetes của bạn để kết nối với bảng điều khiển EKS như trong hình sau:

 

Tổng quan về cụm

  • Áp dụng eks-connector.yaml đã tải xuống như sau: 
kubectl áp dụng -f eks-connector.yaml 

EKS Connector chạy ở chế độ StatefulSet trên cụm Kubernetes của bạn. Connector thiết lập kết nối và ủy quyền giao tiếp giữa máy chủ API của cụm EKS Anywhere và Amazon Web Services. Connector được sử dụng để hiển thị dữ liệu cụm trong bảng điều khiển Amazon EKS cho đến khi bạn ngắt kết nối cụm khỏi AWS.

Tệp kê khai YAML được tạo trong quá trình đăng ký cụm sẽ tạo ra các vùng chứa sau:

InitContainer : Container này đăng ký tác nhân EKS Connector với dịch vụ mặt phẳng điều khiển Systems Manager và điền thông tin đăng ký vào kho dữ liệu phụ trợ Kubernetes. InitContainer gắn dữ liệu này vào ổ đĩa của tác nhân EKS Connector khi nó được tái chế. Điều này loại bỏ nhu cầu đăng ký bất cứ khi nào một pod được tái chế.

Tác nhân EKS Connector : Đây là tác nhân dựa trên tác nhân SSM, chạy ở chế độ container. Tác nhân này tạo kết nối đi từ cụm Kubernetes đến mạng AWS. Tất cả các yêu cầu tiếp theo từ AWS được thực hiện bằng các kênh kết nối do tác nhân EKS Connector thiết lập.

Proxy kết nối : Tác nhân này hoạt động như một proxy giữa tác nhân kết nối EKS và Kubernetes API Server. Tác nhân proxy này sử dụng tài khoản dịch vụ Kubernetes để mạo danh người dùng IAM truy cập bảng điều khiển và lấy thông tin từ Kubernetes API Server.

Như người ta có thể thấy, tác nhân kết nối EKS liên kết với dịch vụ SSM, sau đó tương tác với dịch vụ EKS thông qua EventBridge. Để tạo điều kiện thuận lợi cho tương tác, vai trò tác nhân kết nối EKS được yêu cầu với các quyền thích hợp để tạo, mở và kiểm soát các kênh SSM. Nếu không có vai trò IAM quan trọng này ở phía AWS, việc tạo và kiểm soát các kênh Systems Manager cuối cùng sẽ không thể thực hiện được dẫn đến việc đăng ký không thành công

Sau khi đăng ký thành công, người ta có thể nhận thấy những thay đổi trong dịch vụ AWS EventBridge. Một quy tắc sự kiện mới với mẫu đăng ký và hủy đăng ký được tạo trong bus sự kiện “mặc định”. 

eks-connector-console-dashboard-full-access-group: Đây là bản kê khai YAML bao gồm các vai trò và ràng buộc cần thiết để có quyền truy cập vào tất cả các không gian tên và tài nguyên được hiển thị trong bảng điều khiển.

Tải xuống và áp dụng eks-connector-console-dashboard-full-access. YAML như sau:

curl -o eks-connector-console-dashboard-full-access-group.yaml https://s3.us-west-2.amazonaws.com/amazon-eks/eks-connector/manifests/eks-connector-console-roles/eks-connector-console-dashboard-full-access-group.yaml

kubectl áp dụng -f eks-connector-console-dashboard-full-access.yaml

eks-connector-clusterrole:  Đây là bản kê khai YAML bao gồm các vai trò và ràng buộc cụm để cụm xác định quyền đối với không gian tên và tài nguyên phạm vi cụm.

Tải xuống apply eks-connector-cluster-role như sau:

curl -o eks-connector-clusterrole.yaml https://s3.us-west-2.amazonaws.com/amazon-eks/eks-connector/manifests/eks-connector-console-roles/eks-connector-clusterrole.yaml

kubectl áp dụng -f eks-connector-clusterrole.yaml

Bảng điều khiển Amazon EKS 

Phần Tổng quan hiển thị tất cả các tài nguyên cụm. Tất cả các đối tượng đều chỉ đọc và người dùng không thể chỉnh sửa hoặc xóa đối tượng trong cụm đã đăng ký như thể hiện trong hình sau:

bảng điều khiển

Phần Tính toán hiển thị tất cả tài nguyên nút Dell PowerFlex trong Cụm Amazon EKS Anywhere.

Tính toán 

Phần  Workloads  hiển thị tất cả các đối tượng của Type: Deployment, DaemonSet và StatefulSet. Người dùng có thể chọn các đối tượng này để chọn tổng quan cấp pod.

Khối lượng công việc

 Phần kết luận

Trong blog này, chúng tôi đã khám phá Amazon EKS Connector và cách kết nối và đăng ký cụm Kubernetes với Amazon console. Sử dụng Amazon EKS Connector, các tổ chức hiện có thể tận dụng Amazon EKS Console để kết hợp cả môi trường đám mây và thiết lập cơ sở hạ tầng riêng tư và xem chúng từ một cửa sổ duy nhất. 

Nếu bạn muốn tìm hiểu thêm về cách sử dụng Amazon EKS Anywhere và Amazon EKS Connector trong môi trường PowerFlex, hãy liên hệ với đại diện Dell của bạn.