Argo CD 애플리케이션


Red Hat OpenShift GitOps 1.14

Argo CD 대시보드, oc 툴 또는 GitOps CLI를 사용하여 OpenShift 클러스터에서 애플리케이션 생성 및 배포

Red Hat OpenShift Documentation Team

초록

이 문서에서는 Argo CD 대시보드, oc 툴 또는 GitOps CLI를 사용하여 OpenShift 클러스터에 애플리케이션을 생성하고 배포하는 방법을 설명합니다. 또한 Argo CD에서 자동 복구 동작을 확인하는 방법과 비컨트롤 플레인 네임스페이스에서 애플리케이션 리소스를 활성화하고 관리하는 방법에 대해 설명합니다.

1장. Argo CD로 Spring Boot 애플리케이션 배포

Argo CD를 사용하면 Argo CD 대시보드를 사용하거나 oc 툴을 사용하여 애플리케이션을 OpenShift Container Platform 클러스터에 배포할 수 있습니다.

1.1. Argo CD 대시보드를 사용하여 애플리케이션 생성

Argo CD는 애플리케이션을 만들 수 있는 대시보드를 제공합니다.

사전 요구 사항

  • 관리자로 OpenShift Container Platform 클러스터에 로그인했습니다.
  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps Operator를 설치했습니다.
  • Argo CD 인스턴스에 로그인했습니다.

프로세스

  1. Argo CD 대시보드에서 새 APP를 클릭하여 새 Argo CD 애플리케이션을 추가합니다.
  2. 이 워크플로의 경우 다음 구성을 사용하여 Spring-petclinic 애플리케이션을 생성합니다.

    애플리케이션 이름
    spring-petclinic
    프로젝트
    default
    동기화 정책
    자동
    리포지터리 URL
    https://github.com/redhat-developer/openshift-gitops-getting-started
    버전
    HEAD
    경로
    app
    대상
    https://kubernetes.default.svc
    네임스페이스
    spring-petclinic
  3. 만들기 클릭하여 애플리케이션을 생성합니다.
  4. 웹 콘솔의 관리자 화면을 열고 관리네임스페이스를 확장합니다.
  5. 네임스페이스를 검색하고 선택한 다음 레이블 필드에 argocd.argoproj.io/managed-by=openshift-gitops 를 입력하여 openshift-gitops 네임스페이스의 Argo CD 인스턴스가 네임스페이스를 관리할 수 있도록 합니다.

1.2. oc 툴을 사용하여 애플리케이션 생성

oc 툴을 사용하여 터미널에서 Argo CD 애플리케이션을 생성할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps Operator를 설치했습니다.
  • Argo CD 인스턴스에 로그인했습니다.

프로세스

  1. 샘플 애플리케이션을 다운로드합니다.

    $ git clone git@github.com:redhat-developer/openshift-gitops-getting-started.git
  2. 애플리케이션을 생성합니다.

    $ oc create -f openshift-gitops-getting-started/argo/app.yaml
  3. oc get 명령을 실행하여 생성된 애플리케이션을 검토합니다.

    $ oc get application -n openshift-gitops
  4. openshift-gitops 네임스페이스의 Argo CD 인스턴스에서 관리할 수 있도록 애플리케이션이 배포되는 네임스페이스에 레이블을 추가합니다.

    $ oc label namespace spring-petclinic argocd.argoproj.io/managed-by=openshift-gitops

1.3. Argo CD 자동 복구 동작 확인

Argo CD는 배포된 애플리케이션의 상태를 지속적으로 모니터링하고, Git에서 지정된 매니페스트와 클러스터의 실시간 변경 사항 간의 차이점을 감지한 다음 자동으로 수정합니다. 이 동작을 자동 복구라고 합니다.

Argo CD에서 자동 복구 동작을 테스트하고 관찰할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps Operator를 설치했습니다.
  • Argo CD 인스턴스에 로그인했습니다.
  • 샘플 app-spring-petclinic 애플리케이션이 배포 및 구성되어 있습니다.

프로세스

  1. Argo CD 대시보드에서 애플리케이션에 Synced 상태가 있는지 확인합니다.
  2. Argo CD 대시보드에서 app-spring-petclinic 타일을 클릭하여 클러스터에 배포된 애플리케이션 리소스를 확인합니다.
  3. OpenShift Container Platform 웹 콘솔에서 개발자 화면으로 이동합니다.
  4. Spring PetClinic 배포를 수정하고 Git 리포지토리의 app/ 디렉터리에 대한 변경 사항을 커밋합니다. Argo CD는 클러스터에 변경 사항을 자동으로 배포합니다.

    1. OpenShift GitOps에 시작 리포지토리를 분기합니다.
    2. deployment.yaml 파일에서 failureThreshold 값을 5 로 변경합니다.
    3. 배포 클러스터에서 다음 명령을 실행하여 failureThreshold 필드의 변경된 값을 확인합니다.

      $ oc edit deployment spring-petclinic -n spring-petclinic
  5. OpenShift Container Platform 웹 콘솔에서 애플리케이션을 모니터링하면서 클러스터에서 배포를 수정하고 2개의 pod로 확장하여 자동 복구 동작을 테스트합니다.

    1. 다음 명령을 실행하여 배포 상태를 확인합니다.

      $ oc scale deployment spring-petclinic --replicas 2  -n spring-petclinic
    2. OpenShift Container Platform 웹 콘솔에서 배포는 두 개의 pod로 확장되었다가 즉시 하나의 pod로 축소됩니다. Argo CD는 Git 리포지토리와 차이점을 감지하고 OpenShift Container Platform 클러스터에서 애플리케이션을 자동 복구했습니다.
  6. Argo CD 대시보드에서 app-spring-petclinic 타일 → APP DETAILS → CryostatENT S를 클릭합니다. Cryo statENTS 탭에는 다음 이벤트가 표시됩니다. Argo CD에서 클러스터의 동기화되지 않은 배포 리소스를 감지한 다음 Git 리포지토리를 다시 동기화하여 수정합니다.

2장. GitOps CLI를 사용하여 애플리케이션 생성

Argo CD를 사용하면 GitOps argocd CLI를 사용하여 OpenShift Container Platform 클러스터에서 애플리케이션을 생성할 수 있습니다.

2.1. GitOps CLI를 사용하여 기본 모드에서 애플리케이션 생성

GitOps argocd CLI를 사용하여 기본 모드에서 애플리케이션을 생성할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps Operator를 설치했습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.
  • Red Hat OpenShift GitOps argocd CLI를 설치했습니다.
  • Argo CD 인스턴스에 로그인했습니다.

프로세스

  1. Argo CD 서버의 관리자 계정 암호를 가져옵니다.

    $ ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d)
  2. Argo CD 서버 URL을 가져옵니다.

    $ SERVER_URL=$(oc get routes openshift-gitops-server -n openshift-gitops -o jsonpath='{.status.ingress[0].host}')
  3. 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

  4. 모든 애플리케이션을 나열하여 기본 모드에서 argocd 명령을 실행할 수 있는지 확인합니다.

    $ argocd app list

    구성이 올바르면 다음 헤더를 사용하여 기존 애플리케이션이 나열됩니다.

    샘플 출력

    NAME CLUSTER NAMESPACE  PROJECT  STATUS  HEALTH   SYNCPOLICY  CONDITIONS  REPO PATH TARGET

  5. 기본 모드에서 애플리케이션을 생성합니다.

    $ argocd app create app-spring-petclinic \
        --repo https://github.com/redhat-developer/openshift-gitops-getting-started.git \
        --path app \
        --revision main \
        --dest-server  https://kubernetes.default.svc \
        --dest-namespace spring-petclinic \
        --directory-recurse \
        --sync-policy automated \
        --self-heal \
        --sync-option Prune=true \
        --sync-option CreateNamespace=true
  6. openshif-gitops Argo CD 인스턴스에서 관리할 spring-petclinic 대상 네임스페이스에 레이블을 지정합니다.

    $ oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"
  7. 사용 가능한 애플리케이션을 나열하여 애플리케이션이 생성되었는지 확인하고 애플리케이션에 HealthySynced 상태가 될 때까지 명령을 반복합니다.

    $ argocd app list

2.2. GitOps CLI를 사용하여 코어 모드에서 애플리케이션 생성

GitOps argocd CLI를 사용하여 코어 모드에서 애플리케이션을 생성할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps Operator를 설치했습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.
  • Red Hat OpenShift GitOps argocd CLI를 설치했습니다.

프로세스

  1. oc CLI 툴을 사용하여 OpenShift Container Platform 클러스터에 로그인합니다.

    $ oc login -u <username> -p <password> <server_url>

    $ oc login -u kubeadmin -p '<password>' https://api.crc.testing:6443

  2. kubeconfig 파일에서 컨텍스트가 올바르게 설정되었는지 확인합니다.

    $ oc config current-context
  3. 현재 컨텍스트의 기본 네임스페이스를 openshift-gitops:로 설정합니다.

    $ oc config set-context --current --namespace openshift-gitops
  4. Argo CD 구성 요소 이름을 덮어쓰려면 다음 환경 변수를 설정합니다.

    $ export ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server
  5. 모든 애플리케이션을 나열하여 코어 모드에서 argocd 명령을 실행할 수 있는지 확인합니다.

    $ argocd app list --core

    구성이 올바르면 다음 헤더를 사용하여 기존 애플리케이션이 나열됩니다.

    샘플 출력

    NAME CLUSTER NAMESPACE  PROJECT  STATUS  HEALTH   SYNCPOLICY  CONDITIONS  REPO PATH TARGET

  6. 코어 모드로 애플리케이션을 생성합니다.

    $ argocd app create app-spring-petclinic --core \
        --repo https://github.com/redhat-developer/openshift-gitops-getting-started.git \
        --path app \
        --revision main \
        --dest-server  https://kubernetes.default.svc \
        --dest-namespace spring-petclinic \
        --directory-recurse \
        --sync-policy automated \
        --self-heal \
        --sync-option Prune=true \
        --sync-option CreateNamespace=true
  7. openshif-gitops Argo CD 인스턴스에서 관리할 spring-petclinic 대상 네임스페이스에 레이블을 지정합니다.

    $ oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"
  8. 사용 가능한 애플리케이션을 나열하여 애플리케이션이 생성되었는지 확인하고 애플리케이션에 HealthySynced 상태가 될 때까지 명령을 반복합니다.

    $ argocd app list --core

2.3. 추가 리소스

3장. 비컨트롤 플레인 네임스페이스에서 애플리케이션 리소스 관리

클러스터 관리자는 openshift-gitops 컨트롤 플레인 네임스페이스 이외의 선언적으로 비컨트롤 플레인 네임스페이스에서 애플리케이션 리소스를 생성하고 관리할 수 있습니다. 이 기능을 Argo CD 오픈 소스 프로젝트 의 모든 네임스페이스 기능의 애플리케이션 이라고 합니다.

참고

개발자는 openshift-gitops 컨트롤 플레인 네임스페이스 이외의 비컨트롤 플레인 네임스페이스에 Argo CD 애플리케이션을 생성하는 경우 클러스터 관리자가 필요한 권한을 부여해야 합니다.

그러지 않으면 Argo CD 조정 후 다음 예와 유사한 오류 메시지가 표시됩니다.

오류 메시지의 예

error while validating and normalizing app: error getting application's project: application 'app' in namespace 'dev' is not allowed to use project 'default'

이 기능을 사용하려면 다음 오브젝트에서 대상 네임스페이스를 명시적으로 활성화하고 구성해야 합니다.

  • 사용자 정의 클러스터 범위 Argo CD 인스턴스의 ArgoCD CR(사용자 정의 리소스)
  • AppProject CR(사용자 정의 리소스)
  • 애플리케이션 CR

비컨트롤 플레인 네임스페이스에서 애플리케이션 리소스를 생성하고 관리하는 프로세스는 다음 절차로 구성됩니다.

이 기능은 분리된 팀을 위한 Argo CD 애플리케이션 배포를 관리하려는 경우 멀티 테넌시 환경에서 유용합니다.

중요

애플리케이션 팀의 권한 에스컬레이션을 방지하려면 다음 요구 사항을 충족해야 합니다.

  • 권한이 있는 AppProject 인스턴스의 .spec.sourceNamespaces 필드에 비컨트롤 플레인 네임스페이스를 구성하지 마십시오(예: openshift-gitops 컨트롤 플레인 네임스페이스 또는 정의된 네임스페이스에 설치된 AppProject CR의 기본 인스턴스).
  • AppProject CRD 내에서 openshift-gitops 컨트롤 플레인 네임스페이스에 대한 액세스 권한을 부여하지 마십시오.
  • 항상 openshift-gitops 컨트롤 플레인 네임스페이스에서 사용자 정의 AppProject 인스턴스를 생성하고 구성한 다음 해당 사용자 정의 AppProject 인스턴스 내에서 .spec.sourceNamespaces 필드에 비컨트롤 플레인 네임스페이스를 구성합니다.

3.1. 사전 요구 사항

  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps 1.13.0 이상을 설치했습니다.
  • 정의된 네임스페이스에 사용자 정의 클러스터 범위 Argo CD 인스턴스가 있습니다(예: spring-petclinic ).

3.2. 대상 네임스페이스를 사용하여 사용자 정의 클러스터 범위 Argo CD 인스턴스의 Argo CD CR 구성

클러스터 관리자는 사용자가 애플리케이션 리소스를 생성, 업데이트 및 조정할 수 있는 특정 비컨트롤 플레인 네임스페이스 세트를 정의할 수 있습니다. 먼저 요구 사항에 따라 사용자 정의 클러스터 범위 Argo CD 인스턴스의 ArgoCD CR(사용자 정의 리소스)에서 대상 네임스페이스를 명시적으로 구성해야 합니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에 관리자로 로그인되어 있습니다.
  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps 1.13.0 이상을 설치했습니다.
  • 정의된 네임스페이스에 사용자 정의 클러스터 범위 Argo CD 인스턴스가 있습니다(예: spring-petclinic ).

프로세스

  1. 웹 콘솔의 관리자 화면에서 Operator설치된 Operator 를 클릭합니다.
  2. 프로젝트 목록에서 사용자 정의 클러스터 범위 Argo CD 인스턴스가 설치된 프로젝트를 선택합니다.
  3. 설치된 Operator 목록에서 Red Hat OpenShift GitOps 를 선택하고 Argo CD 탭으로 이동합니다.
  4. 사용자 정의 클러스터 범위 Argo CD 인스턴스를 클릭합니다.
  5. 대상 네임스페이스를 사용하여 사용자 정의 클러스터 범위 Argo CD 인스턴스의 ArgoCD CR을 구성합니다.

    1. YAML 탭을 클릭하고 ArgoCD CR의 YAML 파일을 편집합니다.
    2. ArgoCD CR에서 sourceNamespaces 매개변수 값을 설정하여 비컨트롤 플레인 네임스페이스를 포함합니다.

      ArgoCD CR의 예

      apiVersion: argoproj.io/v1beta1
      kind: ArgoCD
      metadata:
        name: example 1
        namespace: spring-petclinic 2
      spec:
        sourceNamespaces: 3
          - dev 4
          - app-team-* 5

      1
      사용자 정의 클러스터 범위 Argo CD 인스턴스의 이름입니다.
      2
      사용자 정의 클러스터 범위 Argo CD 인스턴스를 실행하려는 네임스페이스입니다.
      3
      애플리케이션 리소스를 생성하고 관리하기 위한 비컨트롤 플레인 네임스페이스 목록입니다.
      4
      애플리케이션 리소스를 생성하고 관리할 Argo CD 서버의 대상 네임스페이스 이름입니다.
      5
      와일드카드(*)를 사용하면 Argo CD 서버에서 애플리케이션 리소스를 생성하고 관리하는 데 사용할 app-team-1app-team-2 와 같은 패턴 app-team-* 과 일치하는 대상 네임스페이스의 이름을 지정합니다.
    3. 저장다시 로드 를 클릭합니다.

      참고

      대상 네임스페이스가 sourceNamespaces 필드 아래에 지정되면 Operator는 argocd.argoproj.io/managed-by-cluster-argocd 레이블을 지정된 네임스페이스에 추가합니다.

      dev 대상 네임스페이스의 예

      apiVersion: v1
      kind: Namespace
      metadata:
        name: dev
        labels:
          argocd.argoproj.io/managed-by-cluster-argocd: spring-petclinic 1
          kubernetes.io/metadata.name: dev 2

      1
      사용자 정의 클러스터 범위 Argo CD 인스턴스의 네임스페이스입니다.
      2
      애플리케이션 리소스를 생성하고 관리하는 Argo CD 서버의 대상 네임스페이스입니다.
  6. Operator가 argocd.argoproj.io/managed-by-cluster-argocd 라벨을 지정된 네임스페이스에 추가하는지 확인합니다.

    1. 관리네임스페이스 로 이동하여 네임스페이스 생성을 클릭합니다.
    2. 네임스페이스 생성 대화 상자에서 이름을 지정하고 생성 을 클릭합니다.

      예를 들어 dev 대상 네임스페이스를 만들려면 Name 필드에 dev 를 입력합니다. 이전 단계를 반복하여 app-team-1app-team-2 대상 네임스페이스를 생성할 수 있습니다.

      네임스페이스 페이지에 생성된 대상 네임스페이스가 표시됩니다.

    3. 대상 네임스페이스를 클릭하고 YAML 탭으로 이동하여 Operator에서 추가한 argocd.argoproj.io/managed-by-cluster-argocd 레이블을 확인합니다.
  7. 클러스터 범위 리소스를 관리하기 위해 사용자 정의 클러스터 범위 Argo CD 인스턴스가 클러스터 역할로 구성되었는지 확인합니다.

    1. 사용자 관리역할로 이동하고 필터 목록에서 클러스터 전체 역할을 선택합니다.
    2. 이름으로 검색 필드를 사용하여 생성된 클러스터 역할을 검색합니다. 예를 들어, example-spring-petclinic-argocd-application-controllerexample-spring-petclinic-argocd-server.

      역할 페이지에는 생성된 클러스터 역할이 표시됩니다.

    3. GitOps Operator에서 다음 RBAC(역할 기반 액세스 제어) 리소스가 생성되었는지 확인합니다.

      이름유형목적

      <argocd_name>-<argocd_namespace>-argocd-application-controller

      ClusterRoleClusterRoleBinding

      Argo CD 애플리케이션 컨트롤러가 클러스터 수준에서 애플리케이션 리소스를 감시하고 나열하려는 경우

      <argocd_name>-<argocd_namespace>-argocd-server

      ClusterRoleClusterRoleBinding

      Argo CD Server가 클러스터 수준에서 애플리케이션 리소스를 감시하고 나열하려면

      <argocd_name>-<target_namespace>

      RoleRoleBinding

      Argo CD 서버가 UI, API 또는 CLI를 통해 대상 네임스페이스에서 애플리케이션 리소스를 관리하는 경우

3.3. 대상 네임스페이스를 사용하여 사용자 정의 AppProject 인스턴스 생성 및 구성

클러스터 관리자는 사용자가 애플리케이션 리소스를 생성, 업데이트 및 조정할 수 있는 특정 비컨트롤 플레인 네임스페이스 세트를 정의할 수 있습니다. 대상 네임스페이스를 사용하여 사용자 정의 클러스터 범위 Argo CD 인스턴스를 구성한 후 openshift-gitops 컨트롤 플레인 네임스페이스에서 사용자 정의 AppProject 인스턴스를 생성하고 구성해야 합니다. 또한 사용자 정의 AppProject 인스턴스의 .spec.sourceNamespaces 필드에서 대상 네임스페이스를 명시적으로 구성해야 합니다.

참고

GitOps 컨트롤 플레인 네임스페이스의 애플리케이션은 AppProject CR(사용자 정의 리소스)의 .spec.sourceNamespaces 필드에 의해 배치된 제한 사항에 관계없이 .spec.project 필드를 참조하도록 .spec.project 필드를 설정할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에 관리자로 로그인되어 있습니다.
  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps 1.13.0 이상을 설치했습니다.

프로세스

  1. openshift-gitops 컨트롤 플레인 네임스페이스에서 사용자 정의 AppProject 인스턴스를 생성하고 구성하여 .spec.sourceNamespaces 필드에 대상 네임스페이스를 지정합니다.

    1. 프로젝트 목록에서 openshift-gitops 프로젝트를 선택합니다.
    2. 웹 콘솔의 관리자 화면에서 Operator → 설치된 OperatorRed Hat OpenShift GitOps 를 클릭하고 AppProject 탭으로 이동합니다.
    3. Create AppProject 를 클릭하고 YAML 보기에 다음 구성을 입력합니다.

      사용자 정의 AppProject 인스턴스 예

      kind: AppProject
      apiVersion: argoproj.io/v1alpha1
      metadata:
        name: project-one 1
        namespace: openshift-gitops 2
      spec:
        sourceNamespaces: 3
        - dev 4
        - app-team-* 5
        destinations: 6
          - name: '*'
            namespace: '*'
            server: '*'
         sourceRepos: 7
          - '*'

      1
      사용자 정의 AppProject 인스턴스의 이름입니다.
      2
      사용자 정의 AppProject 인스턴스를 실행하려는 컨트롤 플레인 네임스페이스입니다.
      3
      애플리케이션 리소스를 생성하고 관리하기 위한 비컨트롤 플레인 네임스페이스 목록입니다.
      4
      애플리케이션 리소스를 생성하고 관리할 Argo CD 서버의 대상 네임스페이스 이름입니다.
      5
      와일드카드(*)를 사용하면 Argo CD 서버에서 애플리케이션 리소스를 생성하고 관리하는 데 사용할 app-team-1app-team-2 와 같은 패턴 app-team-* 과 일치하는 대상 네임스페이스의 이름을 지정합니다.
      6
      사용자 정의 AppProject 인스턴스 내의 애플리케이션에서 배포할 수 있는 클러스터 및 네임스페이스에 대한 참조입니다.
      7
      사용자 정의 AppProject 인스턴스 내의 애플리케이션에서 매니페스트를 가져올 수 있는 리포지토리에 대한 참조입니다.
    4. 생성을 클릭합니다.

      AppProjects 페이지에는 생성된 사용자 정의 AppProject 인스턴스가 표시됩니다.

3.4. 대상 네임스페이스 및 사용자 정의 AppProject 인스턴스를 참조하도록 애플리케이션 CR 생성 및 구성

클러스터 관리자는 사용자가 애플리케이션 리소스를 생성, 업데이트 및 조정할 수 있는 특정 비컨트롤 플레인 네임스페이스 세트를 정의할 수 있습니다. 사용자 정의 AppProject 인스턴스의 .spec.sourceNamespaces 필드에 대상 네임스페이스를 구성한 후 대상 네임스페이스 및 사용자 정의 AppProject 인스턴스를 참조하도록 metadata.namespace.spec.project 필드의 매개변수를 사용하여 애플리케이션 사용자 정의 리소스(CR)를 명시적으로 생성해야 합니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터에 관리자로 로그인되어 있습니다.
  • OpenShift Container Platform 클러스터에 Red Hat OpenShift GitOps 1.13.0 이상을 설치했습니다.

프로세스

  1. 대상 네임스페이스 및 사용자 정의 AppProject 인스턴스를 참조하도록 metadata.namespace.spec.project 필드에 대한 매개변수를 사용하여 애플리케이션 CR을 생성하고 구성합니다.

    1. 프로젝트 목록에서 대상 네임스페이스를 선택합니다.
    2. 웹 콘솔의 관리자 화면에서 Operator → 설치된 Operator Red Hat OpenShift GitOps 를 클릭하고 애플리케이션 탭으로 이동합니다.
    3. 애플리케이션 생성 을 클릭하고 YAML 보기에 다음 구성을 입력합니다.

      사용자 정의 AppProject 인스턴스 예

      kind: Application
      apiVersion: argoproj.io/v1alpha1
      metadata:
        name: cluster-configs 1
        namespace: dev 2
      spec:
        project: project-one 3
        # ...

      1
      애플리케이션 이름입니다.
      2
      애플리케이션 리소스를 생성하고 관리할 Argo CD 서버의 대상 네임스페이스 이름입니다.
      3
      사용자 정의 AppProject 인스턴스의 이름입니다.
    4. 생성을 클릭합니다.

      애플리케이션 페이지에 생성된 애플리케이션이 표시됩니다.

      cluster-configs Argo CD 애플리케이션의 상태가 HealthySynced 입니다.

3.5. 추가 리소스

법적 공지

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.