2022.04. ์ด์žฅ์žฌ ๐Ÿ“ง [email protected] ๐Ÿ“‚ https://github.com/jangjaelee ๐Ÿ“’ http://www.awx.kr



Prerequisites


Step 1. Argo Rollouts Installation

Manifest์™€ Helm์„ ์‚ฌ์šฉํ•œ ๋‘ ๊ฐ€์ง€ ์„ค์น˜ ๋ฐฉ๋ฒ•์ด ์žˆ์œผ๋ฉฐ, ์ถ”๊ฐ€๋กœ Argo CD Operator๋ฅผ ์‚ฌ์šฉํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•๋„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Step 1.1. using Manifest

$ kubectl create namespace argo-rollouts
namespace/argo-rollouts created

$ kubectl apply -n argo-rollouts -f <https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml>
customresourcedefinition.apiextensions.k8s.io/analysisruns.argoproj.io created
customresourcedefinition.apiextensions.k8s.io/analysistemplates.argoproj.io created
customresourcedefinition.apiextensions.k8s.io/clusteranalysistemplates.argoproj.io created
customresourcedefinition.apiextensions.k8s.io/experiments.argoproj.io created
customresourcedefinition.apiextensions.k8s.io/rollouts.argoproj.io created
serviceaccount/argo-rollouts created
clusterrole.rbac.authorization.k8s.io/argo-rollouts created
clusterrole.rbac.authorization.k8s.io/argo-rollouts-aggregate-to-admin created
clusterrole.rbac.authorization.k8s.io/argo-rollouts-aggregate-to-edit created
clusterrole.rbac.authorization.k8s.io/argo-rollouts-aggregate-to-view created
clusterrolebinding.rbac.authorization.k8s.io/argo-rollouts created
secret/argo-rollouts-notification-secret created
service/argo-rollouts-metrics created
deployment.apps/argo-rollouts created

Web UI Dashboard๋ฅผ ์œ„ํ•œ argo-rollouts-dashboard Deployment resource๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฏธํฌํ•จ์œผ๋กœ, ์„ค์น˜๊ฐ€ ํ•„์š”ํ•˜๋ฉด dashboard-install.yaml๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜ ์ง„ํ–‰ ํ•ฉ๋‹ˆ๋‹ค.

$ kubectl apply -n argo-rollouts -f <https://github.com/argoproj/argo-rollouts/releases/latest/download/dashboard-install.yaml>
serviceaccount/argo-rollouts-dashboard created
clusterrole.rbac.authorization.k8s.io/argo-rollouts-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/argo-rollouts-dashboard created
service/argo-rollouts-dashboard created
deployment.apps/argo-rollouts-dashboard created

$ kubectl get pod,deployment,svc -n argo-rollouts | egrep "NAME|argo-rollouts-dashboard"
NAME                                          READY   STATUS    RESTARTS   AGE
pod/argo-rollouts-dashboard-ff9668f57-hbg9m   1/1     Running   0          5m46s

NAME                                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/argo-rollouts-dashboard   1/1     1            1           5m46s

NAME                              TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/argo-rollouts-dashboard   ClusterIP   10.111.151.159   <none>        3100/TCP   5m46s

Step 1.2. using Helm