Cài đặt CodePipeline

Cài đặt CodePipeline

Trong bước này chúng ta sẽ cài đặt CodePipeline sử dụng AWS CloudFormation,

CloudFormation là một công cụ Infrastructure as code (IaC) cung cấp một ngôn ngữ chung để mô tả và khởi tạo các tài nguyên hạ tầng trong môi trường điện toán đam mây. CloudFormation cho phép chúng ta sử dụng một cấu trúc text-base đơn giản để mô tả và khởi tạo tài nguyên trong môi trường tự động hóa một cách bảo mật, hỗ trợ tất cả các tài nguyên mà ứng dụng cần trên tất cả các AWS Regions và AWS Accounts. Mỗi một dịch vụ EKS được triển khai sẽ có CodePipeline riêng cùng với source repository độc lập.

Bạn có thể chỉnh sửa CloudFormation template được sử dụng trong bài lab này để đáp ứng nhu cầu thực tế của bạn. Qua đó dễ dàng triển khai CI/CD pipeline cho EKS cluster.

  1. Tải về file CloudFormation template dưới đây.
  1. Truy cập vào dịch vụ CloudFormation https://console.aws.amazon.com/cloudformation/
    • Click Create stack.
    • Click With new resources(standard).

Pipeline

  1. Tại trang Create stack.
    • Click Template is ready.
    • Click Upload a template file.
    • Chọn file đã download về có tên ci-cd.codepipeline.cfn.yml.
    • Click Next.

Pipeline

  1. Tại trang Specify stack details.
    • Điền Stack name : eksws-codepipeline.
    • Điền Git Hub Username : <Username GitHub của bạn>.
    • Điền GitHub Acess token: <Personal access token bạn tạo ở bước 4>.

Pipeline

  1. Kéo màn hình xuống dưới và click Next.

Nếu bạn tự đặt tên EKS cluster và IAM Role, bạn sẽ cần phải cập nhật lại tên cho Stack trước khi click Next.

Pipeline

  1. Tại trang Configure stack Options, kéo màn hình xuống dưới và click Next.

  2. Tại trang Review eksws-codepipeline, kéo màn hình xuống dưới.

    • Click chọn I acknowledge that AWS CloudFormation might create IAM resources.
    • Click Create stack.
  3. Kiểm tra trạng thái tạo stack eksws-codepipeline thành công như hình.

Pipeline

  1. Truy cập trang dịch vụ CodePipeline, chúng ta sẽ thấy trạng thái tạo CodePipeline thành công.
    • Click vào tên của eksws-codepipeline….

Pipeline

  1. Kiểm tra trạng thái build thành công như hình :

    • Click vào Details. Pipeline
  2. Bạn có thể xem được logs của toàn bộ quá trình build Pipeline

Kiểm tra dịch vụ mẫu

  1. Chạy câu lệnh dưới đây để kiểm tra trạng thái triển khai của dịch vụ mẫu.
kubectl describe deployment hello-k8s

Pipeline

  1. Chạy câu lệnh dưới đây để kiểm tra trạng thái của dịch vụ.
kubectl describe service hello-k8s
  1. Chạy câu lệnh dưới đây để lấy thông tin Elastic Load Balancer (ELB) endpoint và lưu thông tin EXTERNAL-IP lại.
kubectl get services hello-k8s -o wide

Pipeline

  1. Truy cập trên một tab trình duyệt mới. Chúng ta sẽ thấy dịch vụ mẫu gửi lời chào Hello World và cung cấp các thông tin của EKS cluster.

Ở bước tiếp theo chúng ta sẽ thay đổi nội dung lời chào trên GitHub repository và kiểm tra hoạt động của Pipeline. Pipeline