1. argo를 담을 namespace 생성

kubectl create namespace argo

2. argo를 apply한다(github 주소를 통해)

kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo/stable/manifests/install.yaml

3. namespace argo에서 service 목록을 보면, argo web page에 나온 것 처럼 argo-ui가 아닌, argo-server로 표기되어있다. 현재, external IP가 존재하지 않으므로, Load Balancer를 patch 해줌으로써 해결한다. (patch 또는 edit 둘다 가능할듯)

kubectl patch svc argo-server -n argo -p '{"spec": {"type": "LoadBalancer"}}'

그럼 다음과 같이, 20.194.12.66:2746 으로 인터넷을 통해 접속할 수 있다.

Argo Web 화면 예시

4. argo 권한문제

rolebinding을 통해 해결해준다. (정확한 이유는 잘 모르겠음, service account가 argo 또는 default에 clsuter-admin 권한을 부여시켜서 argo가 kubernetes resource에 접근 가능하도록 하는 느낌)

kubectl create rolebinding default-admin --clusterrole=admin --serviceaccount=argo:default -n argo
# 또는
kubectl create rolebinding argo-admin --clusterrole=admin --serviceaccount=default:default -n argo

5. argo 예제 실행해보기

argo submit -n argo --watch https://raw.githubusercontent.com/argoproj/argo/master/examples/hello-world.yaml

argo submit 명령어를 사용하면 shell에서 볼 수 있고

kubectl create -n argo https://raw.githubusercontent.com/argoproj/argo/master/examples/hello-world.yaml

kubectl 명령어로도 실행 가능하다

 

웹에서도 workflow가 실행됨을 확인할 수 있음.

'IT > Argo' 카테고리의 다른 글

argo role 문제  (0) 2020.08.11
kubectl create rolebinding default-admin --clusterrole=admin --serviceaccount=argo:default -n argo

 

또는 

 

kubectl create rolebinding argo-admin --clusterrole=admin --serviceaccount=default:default -n argo

 

로 해결

 

 

'IT > Argo' 카테고리의 다른 글

argo 설치  (0) 2020.08.11

+ Recent posts