Trong phần này này, mình sẽ chỉ cho bạn cách sử dụng Argo CD để thiết lập triển khai ứng dụng từ Kho lưu trữ Helm.
I. Chúng ta có thể add thử 1 repo bằng cli như sau.
helm repo add stable https://charts.helm.sh/stable
Với stable là tên repo tự đặt theo ý mình, tham khảo thêm https://charts.helm.sh/stable. Verify bằng lệnh dưới.
root@loadbalancer3:~# helm repo list
NAME URL
nginx-stable https://helm.nginx.com/stable
stable https://charts.helm.sh/stable
Theo list trên thì hiện tại mình đang có 2 repo.
Sau khi thêm repo chúng ta có thể thử search các chart có trong repo như sau.
root@loadbalancer3:~# helm search repo stable | grep grafana
stable/grafana 5.5.7 7.1.1 DEPRECATED - The leading tool for querying and ...
Chúng ta có thể server 1 ứng dụng trong kho chứa, ví dụ mình đang search ứng dụng grafana.
II. Phần tiếp theo chúng ta bắt đầu thêm repo vào ArgoCD bằng giao diện.
Lần lượt thực hiện như hình để add repo trong ArgoCD
Bấm vào Connect repo using HTTPS
- 4. Sử dụng type repo là helm
- 5. Đặt tên repo bất kỳ
- 6. Đặt project là default
- 7. Link repo
Sau khi khai báo xong, bấm Connect.
Chúng ta thấy xuất hiện 1 repo mới ở đây. Trạng thái Successful cho ta biết repo đang hoạt động.
Tạo 1 app mới bằng cách bấm vào new app
Với 1 ứng dụng đơn giản chúng ta chỉ cần chú ý đến các tùy chọn sau:
Application Name: tên ứng dụng
Project Name: tên dự án
AUTO-CREATE NAMESPACE: Tùy chọn giúp tạo namespace nếu chúng không tồn tại
Chọn repo của helm đã thêm trước đó và mình sẽ sử dụng ứng dụng là prometheus-pushgateway, nhớ chọn version của prometheus-pushgateway tại mục 4 nhé.
Ở mục 5 chọn địa chỉ Kubernetes mà chúng ta sẽ triển khai ứng dụng lên đó.
Mục 6 chúng ta điền vào namespace để triển khai ứng dụng.
Ở phần chỉnh sửa value này mình sẽ thay đổi chút xíu ở phần service từ ClusterIP thành NodePort và chọn port forward là 30016 để lát chúng ta kiểm tra dịch vụ có hoạt động hay không.
Sau khi khai báo xong thông tin app, bấm create để tạo app, ta sẽ có màn hình như dưới.
Bấm vào app để thấy được sơ đồ tổng quan của app. Biểu tượng màu vàng cho thấy quá trình tạo app vẫn chưa diễn ra vì mình đã tắt tính năng deploy tự động, chúng ta sẽ deploy bằng tay.
Bấm vào sync và Synchronize để quá trình deploy app bắt đầu.
Ứng dụng đã triển khai xong, chúng ta thấy trạng thái có tích xanh Sync OK như hình dưới.
Vào cli kiểm tra lại những gì chúng ta đã triển khai.
1. Ứng dụng được triển khai vào worker1
2. Worker1 có địa chỉ ip là 192.168.13.210
3. NodePort là 31943
4. Namespace của ứng dụng là ns-prometheus-pushgateway
Vậy chúng ta có thể sử dụng trình duyệt ở 1 máy host nào đó truy cập http://192.168.13.210:31943 để kiểm tra dịch vụ có hoạt động hay không. Và dưới đây là kết quả cuối cùng.
III. Điều chỉnh parameters ứng dụng.
Phần tiếp theo chúng ta thử điều chỉnh 1 số thông số parameters của ứng dụng thử nhé.
Vào App details -> parameters -> edit
Ở đây mình sẽ chỉnh sửa thông số replica từ 1 pod thành 34 pod, sau đó lưu lại.
Do đã có 1 thay đổi mới nên trạng thái hiện tại sẽ chuyển thành Out of sync màu vàng.
Chúng ta vào App Diff để kiểm tra thử thay đổi.
Sau khi kiểm tra, nếu không có vấn đề gì chúng ta tiến hành sync ứng dụng.
Hình dưới cho ta thấy có 2 pod mới đang được triển khai.
Chúng ta cũng có thể vào cli để kiểm tra, kết quả đã có đầy đủ 3 pod như đã thay đổi.
Trên đây mình đã hướng dẫn triển khai 1 ứng dụng đơn giản bằng ArgoCD từ kho chứa helm. Chúc các bạn thành công.