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
argocdCLI를 설치했습니다. - 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=trueopenshif-gitopsArgo CD 인스턴스에서 관리할spring-petclinic대상 네임스페이스에 레이블을 지정합니다.$ oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"사용 가능한 애플리케이션을 나열하여 애플리케이션이 성공적으로 생성되었는지 확인합니다.
$ argocd app listcluster-configsArgo CD 애플리케이션의 상태가Healthy이지만none동기화 정책으로 인해 자동으로 동기화되지 않아OutOfSync상태가 유지됩니다.