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



Không có nhận xét nào

Được tạo bởi Blogger.