1.7. GitOps CLI를 사용하여 기본 모드에서 애플리케이션 생성
GitOps argocd
CLI를 사용하여 기본 모드에서 애플리케이션을 생성할 수 있습니다.
이 샘플 워크플로에서는 Argo CD를 구성하여 cluster
디렉터리의 콘텐츠를 cluster-configs
애플리케이션과 반복적으로 동기화하는 프로세스를 보여줍니다. 디렉터리는 OpenShift Container Platform 클러스터 구성과 클러스터의 spring-petclinic
네임스페이스를 정의합니다.
사전 요구 사항
- OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps Operator를 설치했습니다.
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
Red Hat OpenShift GitOps
argocd
CLI를 설치했습니다. - Argo CD 인스턴스에 로그인했습니다.
프로세스
Argo CD 서버의
관리자
계정 암호를 가져옵니다.$ ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d)
Argo CD 서버 URL을 가져옵니다.
$ SERVER_URL=$(oc get routes openshift-gitops-server -n openshift-gitops -o jsonpath='{.status.ingress[0].host}')
admin
계정 암호를 사용하여 Argo CD 서버에 로그인하고 작은따옴표로 전달합니다.중요암호를 작은따옴표로 포함하면 쉘에 의해
$
와 같은 특수 문자가 잘못 해석되지 않습니다. 항상 작은 따옴표를 사용하여 암호의 리터럴 값을 묶습니다.$ argocd login --username admin --password ${ADMIN_PASSWD} ${SERVER_URL}
예
$ argocd login --username admin --password '<password>' openshift-gitops.openshift-gitops.apps-crc.testing
모든 애플리케이션을 나열하여 기본 모드에서
argocd
명령을 실행할 수 있는지 확인합니다.$ argocd app list
구성이 올바르면 다음 헤더를 사용하여 기존 애플리케이션이 나열됩니다.
샘플 출력
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET
기본 모드에서 애플리케이션을 생성합니다.
$ argocd app create app-cluster-configs \ --repo https://github.com/redhat-developer/openshift-gitops-getting-started.git \ --path cluster \ --revision main \ --dest-server https://kubernetes.default.svc \ --dest-namespace spring-petclinic \ --directory-recurse \ --sync-policy none \ --sync-option Prune=true \ --sync-option CreateNamespace=true
openshif-gitops
Argo CD 인스턴스에서 관리할spring-petclinic
대상 네임스페이스에 레이블을 지정합니다.$ oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"
사용 가능한 애플리케이션을 나열하여 애플리케이션이 성공적으로 생성되었는지 확인합니다.
$ argocd app list
cluster-configs
Argo CD 애플리케이션의 상태가Healthy
이지만none
동기화 정책으로 인해 자동으로 동기화되지 않아OutOfSync
상태가 유지됩니다.