Overview
Argo Workflows adalah tools open source yang biasa di sebut workflow engine untuk orkestrasi tugas secara pararel di atas kubernetes.
Untuk implementasi nya argo workflows bisa digunakan untuk otomasi dan proses CI/CD, mirip seperti Github Actions, Gitlab CI/CD, dan Bitbucket Pipelines.
Pre-requisites
- Install helm (package manager untuk kubernetes).
Getting Started
Install Argo Workflows
Untuk meng-install Argo Workflows saya akan pakai helm.
untuk penyebutan sebuah packages / resources / library kalau di helm biasanya di kenal sebagai charts
.
Untuk alamat resmi charts bisa cek disini https://artifacthub.io/.
Kunjungi halaman charts kemudian cukup ketik keyword “argo-workflows”.
Untuk meng-install biasanya perlu menambahkan charts tersebut ke lokal repository, perintah nya seperti di bawah ini.
Kemudian install.
Perintah di atas akan meng-install argo-workflows
di dalam sebuah namespace argo
dengan setup tanpa custom CRDs
https://artifacthub.io/packages/helm/argo/argo-workflows#custom-resource-definitions.
Jika hasil install berhasil bisa di pastikan dengan perintah di bawah ini.
Hasilnya:
Kemudian untuk melihat dashboard ui argo workflows teman - teman bisa melakukan port-forward
service argo-workflows-server
yang running di port 2746.
Dengan port-forward
otomatis service argo-workflow-server
bisa di akses di lokal dengan port 2746
.
Setup RBAC & Secret
Selanjutnya perlu untuk membuat serviceaccount dan juga menetapkan role akses pada account tersebut.
roles.yaml
Selanjutnya jalankan perintah kubectl apply -f roles.yaml
.
Jika berhasil kemudian perlu untuk verifikasi roles tersebut, memastikan akses dan lain sebagainya.
Jika hasil nya yes
artinya roles tersebut punya akses create
dan list
untuk resources pods dan deployments.
Generate TOKEN
Kemudian copy hasil token di atas dan paste di halaman dashboard argo workflows bagian login client authentication
.
Submit workflow
steps.yaml
Jalankan perintah argo submit steps.yaml --watch
jika sukses akan tampil seperti di bawah.