Giaosucan's blog - Chia sẻ kiến thức theo cách bá đạo

Ticker

20/recent/ticker-posts

Continous Development with HarnessIO

Dự án DevOps bên mình bắt đầu triển khai HarnessIO cho phần CD nên viết 1 bài tutorial về công cụ này

HarnessIO là gì

Harness - XebiaLabs

HarnessIO là một dạng Continuous Delivery-as-a-Service. Một dạng dịch vụ cloud để automate toàn bộ quy trình CD, deployment, verification… Chỉ cần đăng kí dịch vụ là có thể dùng ngay không cần phải mất công cài đặt phức tạp như các CD platform khác như Spinnaker


HarnessIO Architect

Architect của HarnessIO tương đối đơn giản, quan trọng nhất là Harness Delegate. Nó là một software được cài đặt trên môi trường, connect tới Harness Manager để thực hiện các task CD

Harness Manager là nơi deployment configuration của bạn được lưu trữ.

Nói một cách nông dân thì Harness Manager giống như anh giám đốc ra chỉ thị, Harness Delegate là nhân viên thực thi.

Một số concept cơ bản cần biết

Harness có thể deploy trên các cloud provider khác nhau như AWS, GCP, K8S. Connectors dùng để integrate các artifact, repos, các công cụ monitoring 

Ví dụ như muốn Harness có thể connect tới Jfrog artifactory, hay Docker Hub để get các bản build thì sẽ config qua connector.

Đại loại lý thuyết thì tra Google, bài này muốn hướng dẫn trực tiếp thực hành

Đó là dùng harness để deploy một service lên ECS của AWS, mô hình như sau 

Step 1) Setup ECS Delegate 

Để Harness có thể access vào ECS của AWS thì bạn cần tạo AWS IAM role với các quyền trên ECS tương ứng. 

Tạo 1 ECS Cluster for Delegate, nên chọn loại EC2 Linux + Networking

Tạo 1 ECS cluster target để Harness có thể deploy image lên đó

Set up 1 Task definition với content lấy từ Harness Delegate 

Sau khi setup thành công

Step 2: Add AWS Cloud Provider

Step 3: Add a Docker Registry Artifact Server

Tạo 1 services trên HarnessIO. Nếu cấn deploy nhiều microservice thì tạo nhiều service 

Cấu hình để harness có thể get artifact từ artifactory hoặc docker hub, ECR … Ở đây mình chọn là Docker Hub cho gọn

Step 4: Setup Environment

Đây là môi trường deploy có thể chọn là QA, Prod, Dev…  trong Infra definition

Lựa chọn ECS cluster cần deploy, VPC, Security Group …

Step 5: Tạo workflow

Define các step mà harness cần thực hiện. Kiểu như trước khi deploy thì cần làm gì, trong và sau khi thì cần làm gì

Sau đó click deploy 🡪 Done

Sau đó truy cập vào ECS sẽ thấy các service được deploy ngon lành cành đào

Đăng nhận xét

0 Nhận xét