GitOps CLI(argocd) 참조
GitOps CLI 구성 및 기본 모드에서 Argo CD 서버에 로그인
초록
1장. GitOps CLI 구성
Red Hat OpenShift GitOps argocd
CLI 툴은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
GitOps argocd
CLI를 구성하여 탭 완료를 활성화할 수 있습니다.
1.1. 탭 완료 활성화
GitOps
CLI를 설치한 후 탭 완료를 활성화하여 자동으로 인수된 명령을 완료하거나 탭을 누를 때 옵션을 제안할 수 있습니다.
argocd
탭 완료는 Bash 쉘에만 존재합니다.
사전 요구 사항
-
GitOps
argocd
CLI 툴이 설치되어 있어야 합니다. -
로컬 시스템에
bash-completion
이 설치되어 있어야 합니다.
프로세스
Bash 쉘에 대한 탭 완료를 활성화하는 절차는 다음과 같습니다.
Bash 완료 코드를 파일에 저장합니다.
$ argocd completion bash > argocd_bash_completion
파일을
/etc/bash_completion.d/
에 복사합니다.$ sudo cp argocd_bash_completion /etc/bash_completion.d/
또는 파일을 로컬 디렉터리에 저장하고
.bash_profile
파일에서 소싱할 수 있습니다.
새 터미널을 열면 탭 완료가 활성화됩니다.
1.2. 추가 리소스
2장. 기본 모드에서 Argo CD 서버에 로그인
Red Hat OpenShift GitOps argocd
CLI 툴은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
GitOps argocd
CLI 및 Argo CD 인증 정보를 사용하여 기본 모드에서 Argo CD 서버에 로그인하여 명령을 실행할 수 있습니다.
2.1. Argo CD 서버에 로그인
GitOps argocd
CLI를 설치하고 구성한 후 Argo CD 서버에 로그인하여 기본 모드에서 명령을 실행해야 합니다.
사전 요구 사항
-
GitOps
argocd
CLI 도구가 설치되어 구성되어 있어야 합니다.
프로세스
인증 정보를 사용하여 로그인하고 세션 전체에서 로그인 상태를 유지해야 합니다.
If the login session times out, you can use the `relogin` command to log in again. When done using the `argocd` commands, you can log out using the `logout` command.
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
로그인에 성공하면 세션 컨텍스트가 다음과 같이 표시됩니다.
출력 예
'admin:login' logged in successfully Context '<server_url>' updated
2.2. 추가 리소스
3장. GitOps argocd CLI 참조
Red Hat OpenShift GitOps argocd
CLI 툴은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
이 섹션에는 기본 GitOps argocd
CLI 명령이 나열됩니다.
3.1. 기본 구문
GitOps argocd
CLI는 명령줄에서 Red Hat OpenShift GitOps 및 Argo CD 리소스를 구성하고 관리하는 툴입니다.
3.1.1. 기본 모드
기본 모드에서 argocd
CLI 클라이언트는 API 요청을 통해 Argo CD 서버 구성 요소와 통신합니다. 명령을 실행하려면 Argo CD 인증 정보를 사용하여 Argo CD 서버에 로그인하고 세션 전체에서 로그인 상태를 유지해야 합니다. 로그인 세션이 시간 초과되면 relogin
명령을 사용하여 다시 로그인할 수 있습니다. argocd
명령을 사용하여 완료되면 logout
명령을 사용하여 로그아웃할 수 있습니다.
명령 구문
argocd [command or options] [arguments…]
3.1.2. 코어 모드
이 모드에서 CLI는 kubeconfig
파일에 설정된 인증 정보를 통해 Kubernetes API 서버와 직접 통신합니다. 기본 kubeconfig
파일은 $HOME/.kube/config
위치에서 사용할 수 있습니다. KUBECONFIG
환경 변수를 사용하여 이 파일을 사용자 지정할 수 있습니다. 코어 모드에서 명령을 실행하려면 --
인수를 사용할 수 있으며 사용자 인증을 위해 Argo CD 서버에 로그인할 필요가 없습니다.
core
< argocd-instance-name>-repo-server 형식으로 Repo 서버 구성 요소 이름을
지정하려면 --repo-server-name
명령줄 옵션을 사용하거나 ARGOCD_REPO_SERVER_NAME
환경 변수를 설정할 수 있습니다.
명령 구문
KUBECONFIG=~/.kube/config argocd --core [command or options] [arguments…]
다음 옵션 중 하나를 선택하여 코어
모드에서 argocd
명령을 실행할 수 있습니다.
여러 Argo CD 인스턴스가 사용 중인 경우 현재 컨텍스트의 기본 네임스페이스를 상호 작용하려는 ArgoCD 인스턴스의 네임스페이스로 설정합니다.
기본 컨텍스트가 있는 기본
kubeconfig
파일입니다.argocd --core [command or options] [arguments…]
예 1: 애플리케이션 목록 표시
$ argocd --core app list --repo-server-name openshift-gitops-repo-server
예 2: 애플리케이션 목록 표시
$ ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server argocd --core app list
사용자 정의 컨텍스트가 있는 기본
kubeconfig
파일입니다.argocd --core --kube-context [context] [command or options] [arguments…]
예 1: 애플리케이션 목록 표시
$ argocd --core --kube-context kubeadmin-local app list --repo-server-name openshift-gitops-repo-server
예 2: 애플리케이션 목록 표시
$ ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server argocd --core --kube-context kubeadmin-local app list
기본 컨텍스트가 있는 사용자 정의
kubeconfig
파일입니다.KUBECONFIG=~/.kube/custom_config argocd --core [command or options] [arguments…]
예: 애플리케이션 목록 표시
$ KUBECONFIG=~/.kube/custom_config argocd --core app list --repo-server-name openshift-gitops-repo-server
사용자 정의 컨텍스트가 있는 사용자 정의
kubeconfig
파일입니다.KUBECONFIG=~/.kube/custom_config argocd --core --kube-context [context] [command or options] [arguments…]
예: 애플리케이션 목록 표시
$ KUBECONFIG=~/.kube/custom_config argocd --kube-context kubeadmin-local --core app list --repo-server-name openshift-gitops-repo-server
3.2. 글로벌 옵션
전역 옵션은 argocd
의 모든 하위 명령에 적용됩니다.
옵션 | 인수 유형 | 설명 |
---|---|---|
|
| 인증 토큰: |
|
| 클라이언트 인증서 파일. |
|
| 클라이언트 인증서 키 파일. |
|
|
Argo CD 구성 파일의 경로입니다. 기본값은 |
|
|
이 구성 요소의 이름의 레이블이 기본값과 다른 경우 예를 들어 Helm 차트를 통해 설치하는 경우 |
| 해당 없음 |
|
| 해당 없음 | Argo CD 서버의 gRPC-Web 프로토콜을 활성화합니다. 예를 들어 서버가 HTTP/2 프로토콜을 지원하지 않는 프록시 뒤에 있는 경우 유용합니다. |
|
| Argo CD 서버의 gRPC-Web 프로토콜을 활성화합니다. 예를 들어 서버가 HTTP/2 프로토콜을 지원하지 않는 프록시 뒤에 있는 경우 유용합니다. 웹 루트를 설정합니다. |
|
|
GitOps |
| 해당 없음 |
GitOps |
|
| Argo CD 서버에 대한 HTTP 연결을 설정하기 위해 최대 재시도 횟수를 설정합니다. |
| 해당 없음 | 서버 인증서 및 도메인 확인을 건너뜁니다. |
|
| 명령을 지정된 kube 컨텍스트로 전달합니다. |
|
|
로깅 형식을 텍스트 또는 JSON으로 설정합니다. 기본값은 |
|
|
로깅 수준을 설정합니다. 기본값은 |
| 해당 없음 | TLS(Transport Layer Security) 프로토콜을 비활성화합니다. |
| 해당 없음 | 포트 전달을 사용하여 임의의 Argo CD 서버 포트에 연결합니다. |
|
| 포트 전달에 사용할 네임스페이스 이름입니다. |
|
|
이 배포 이름의 레이블이 기본값과 다른 경우(예: Helm 차트를 통해 HAProxy를 설치하는 경우 |
|
|
이 배포 이름의 레이블이 기본값과 다른 경우(예: Helm 차트를 통해 설치하는 경우 |
|
|
이 Repo 서버 이름의 레이블이 기본값과 다른 경우 예를 들어 Helm 차트를 통해 설치할 때 |
|
| Argo CD 서버 주소입니다. |
|
| 서버 인증서 파일. |
|
|
이 Argo CD API 서버의 이름이 기본값과 다른 경우(예: Helm 차트를 통해 설치하는 경우 |
3.3. 유틸리티 명령
3.3.1. argocd
GitOps argocd
CLI의 상위 명령입니다.
예: 모든 옵션 표시
$ argocd
3.3.2. version
CLI의 버전 정보를 출력합니다.
명령 구문
argocd version [flags]
예: 클라이언트 및 서버의 전체 버전을 stdout에 출력
$ argocd version
예: 클라이언트의 전체 버전만 출력하고 서버에 연결하지 않습니다.
$ argocd version --client
예: 서버의 전체 버전만 인쇄
$ argocd version --server <server_url>
예: 클라이언트 및 서버의 전체 버전을 JSON 형식으로 인쇄
$ argocd version -o json
예: YAML 형식으로 클라이언트 및 서버 코어 버전 문자열만 인쇄
$ argocd version --short -o yaml
3.3.3. help
애플리케이션의 모든 명령에 대한 도움말 메시지를 출력합니다.
명령 구문
argocd help [command] [flags]
예: 사용 가능한 모든 명령에 대한 도움말 텍스트 가져오기
$ argocd help
예: admin
하위 명령에 대한 도움말 텍스트 가져오기
$ argocd help admin
3.3.4. 완료
bash
또는 zsh
쉘 완료 코드를 표준 출력에 작성합니다.
명령 구문
예상 완료 SHELL [플래그]
bash
의 경우 Bash 완료가 설치되어 활성화되어 있는지 확인합니다. 또는 파일에 작성하고 .bash_profile
에 소싱합니다.
예: 현재 쉘의 완료에 액세스
# source <(argocd completion bash)
zsh
의 경우 Bash 완료가 설치되어 활성화되어 있는지 확인합니다.
예: ~/.zshrc
파일에 추가하고 현재 쉘의 완료에 액세스
source <(argocd completion zsh) compdef _argocd argocd