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 으로 인터넷을 통해 접속할 수 있다.
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 명령어로도 실행 가능하다
'IT > Argo' 카테고리의 다른 글
argo role 문제 (0) | 2020.08.11 |
---|