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ì
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

0 Nhận xét