1.8. 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를 설치했습니다.
프로세스
ocCLI 툴을 사용하여 OpenShift Container Platform 클러스터에 로그인합니다.$ oc login -u <username> -p <password> <server_url>예
$ oc login -u kubeadmin -p '<password>' https://api.crc.testing:6443kubeconfig파일에서 컨텍스트가 올바르게 설정되었는지 확인합니다.$ oc config current-context현재 컨텍스트의 기본 네임스페이스를
openshift-gitops:로 설정합니다.$ oc config set-context --current --namespace openshift-gitopsArgo CD 구성 요소 이름을 덮어쓰려면 다음 환경 변수를 설정합니다.
$ export ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server모든 애플리케이션을 나열하여
코어모드에서argocd명령을 실행할 수 있는지 확인합니다.$ argocd app list --core구성이 올바르면 다음 헤더를 사용하여 기존 애플리케이션이 나열됩니다.
샘플 출력
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET코어모드로 애플리케이션을 생성합니다.$ argocd app create app-cluster-configs --core \ --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 list --corecluster-configsArgo CD 애플리케이션의 상태가Healthy이지만none동기화 정책으로 인해 자동으로 동기화되지 않아OutOfSync상태가 유지됩니다.