GitOps CLI(argocd) 참조


Red Hat OpenShift GitOps 1.13

GitOps CLI 구성 및 기본 모드에서 Argo CD 서버에 로그인

Red Hat OpenShift Documentation Team

초록

이 문서에서는 GitOps CLI를 구성하고 기본 모드에서 Argo CD 서버에 로그인하는 방법에 대한 정보를 제공합니다. 또한 기본 GitOps argocd 명령에 대해 설명합니다.

1장. GitOps CLI 구성

중요

Red Hat OpenShift GitOps argocd CLI 툴은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

GitOps argocd CLI를 구성하여 탭 완료를 활성화할 수 있습니다.

1.1. 탭 완료 활성화

GitOps argocd CLI를 설치한 후 탭 완료를 활성화하여 자동으로 인수된 명령을 완료하거나 탭을 누를 때 옵션을 제안할 수 있습니다.

참고

탭 완료는 Bash 쉘에만 존재합니다.

사전 요구 사항

  • GitOps argocd CLI 툴이 설치되어 있어야 합니다.
  • 로컬 시스템에 bash-completion이 설치되어 있어야 합니다.

프로세스

Bash 쉘에 대한 탭 완료를 활성화하는 절차는 다음과 같습니다.

  1. Bash 완료 코드를 파일에 저장합니다.

    $ argocd completion bash > argocd_bash_completion
  2. 파일을 /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.
  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

    로그인에 성공하면 세션 컨텍스트가 다음과 같이 표시됩니다.

    출력 예

    '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 환경 변수를 사용하여 이 파일을 사용자 지정할 수 있습니다. 코어 모드에서 명령을 실행하려면 -- core 인수를 사용할 수 있으며 사용자 인증을 위해 Argo CD 서버에 로그인할 필요가 없습니다.

< 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 의 모든 하위 명령에 적용됩니다.

표 3.1. 글로벌 옵션
옵션인수 유형설명

--auth-token

string

인증 토큰:

--client-crt

string

클라이언트 인증서 파일.

--client-crt-key

string

클라이언트 인증서 키 파일.

--config

string

Argo CD 구성 파일의 경로입니다. 기본값은 /home/user/.config/argocd/config 경로입니다.

--controller-name

string

argocd-application-controller 를 기본 레이블로 사용하는 Argo CD 애플리케이션 컨트롤러 구성 요소의 이름입니다.

이 구성 요소의 이름의 레이블이 기본값과 다른 경우 예를 들어 Helm 차트를 통해 설치하는 경우 --controller-name 옵션 또는 ARGOCD_APPLICATION_CONTROLLER_NAME 환경 변수를 설정하여 구성 요소의 이름을 지정합니다.

--core

해당 없음

true 로 설정하면 CLI가 Argo CD API 서버를 사용하는 대신 Kubernetes API 서버와 직접 통신합니다.

--grpc-web

해당 없음

Argo CD 서버의 gRPC-Web 프로토콜을 활성화합니다. 예를 들어 서버가 HTTP/2 프로토콜을 지원하지 않는 프록시 뒤에 있는 경우 유용합니다.

--grpc-web-root-path

string

Argo CD 서버의 gRPC-Web 프로토콜을 활성화합니다. 예를 들어 서버가 HTTP/2 프로토콜을 지원하지 않는 프록시 뒤에 있는 경우 유용합니다. 웹 루트를 설정합니다.

-H, --header

string

GitOps argocd CLI에서 수행한 모든 요청에 대해 추가 헤더를 구성합니다. 이 옵션을 여러 번 설정하여 헤더를 여러 개 추가할 수 있습니다. 이 옵션은 쉼표로 구분된 헤더도 지원합니다.

-h, --help

해당 없음

GitOps argocd CLI에 대한 도움말입니다.

--http-retry-max

integer

Argo CD 서버에 대한 HTTP 연결을 설정하기 위해 최대 재시도 횟수를 설정합니다.

--insecure

해당 없음

서버 인증서 및 도메인 확인을 건너뜁니다.

--kube-context

string

명령을 지정된 kube 컨텍스트로 전달합니다.

--logformat

string

로깅 형식을 텍스트 또는 JSON으로 설정합니다. 기본값은 text 입니다.

--loglevel

string

로깅 수준을 설정합니다. 기본값은 info 입니다. 디버그,info,warn오류 수준을 사용할 수 있습니다. 로깅 수준은 상세 정보 표시 순서에 따라 나열됩니다.

--plaintext

해당 없음

TLS(Transport Layer Security) 프로토콜을 비활성화합니다.

--port-forward

해당 없음

포트 전달을 사용하여 임의의 Argo CD 서버 포트에 연결합니다.

--port-forward-namespace

string

포트 전달에 사용할 네임스페이스 이름입니다.

--redis-haproxy-name

string

argocd-redis-ha-haproxy 를 기본 레이블로 사용하는 Redis HA 프록시 배포의 이름입니다.

이 배포 이름의 레이블이 기본값과 다른 경우(예: Helm 차트를 통해 HAProxy를 설치하는 경우 --redis-haproxy-name 옵션 또는 ARGOCD_REDIS_HAPROXY_NAME 환경 변수를 설정하여 배포 이름을 지정합니다.

--redis-name

string

argocd-redis 를 기본 레이블로 사용하는 Redis 배포의 이름입니다.

이 배포 이름의 레이블이 기본값과 다른 경우(예: Helm 차트를 통해 설치하는 경우 --redis-name 옵션 또는 ARGOCD_REDIS_NAME 환경 변수를 설정하여 배포 이름을 지정합니다.

--repo-server-name

string

argocd-repo-server 가 기본 레이블인 Argo CD Repo 서버의 이름입니다.

이 Repo 서버 이름의 레이블이 기본값과 다른 경우 예를 들어 Helm 차트를 통해 설치할 때 --repo-server-name 옵션 또는 ARGOCD_REPO_SERVER_NAME 환경 변수를 설정하여 배포 이름을 지정합니다.

--server

string

Argo CD 서버 주소입니다.

--server-crt

string

서버 인증서 파일.

--server-name

string

argocd-server 가 기본 레이블인 Argo CD API 서버의 이름입니다.

이 Argo CD API 서버의 이름이 기본값과 다른 경우(예: Helm 차트를 통해 설치하는 경우 --server-name 옵션 또는 ARGOCD_SERVER_NAME 환경 변수를 설정하여 배포 이름을 지정합니다.

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

3.4. 추가 리소스

법적 공지

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.