GitOps 설치
OpenShift GitOps Operator 설치, Argo CD 인스턴스에 로그인 및 GitOps CLI 설치
초록
1장. Red Hat OpenShift GitOps 설치 준비
OpenShift Container Platform에 Red Hat OpenShift GitOps를 설치하기 전에 크기 조정 요구 사항 및 사전 요구 사항에 대한 다음 정보를 읽으십시오. 크기 조정 요구 사항은 Red Hat OpenShift GitOps Operator에서 인스턴스화하는 기본 ArgoCD 인스턴스의 크기 조정 세부 정보도 제공합니다.
1.1. GitOps의 크기 조정 요구 사항
Red Hat OpenShift GitOps는 클라우드 네이티브 애플리케이션에 대한 연속 배포를 구현하는 선언적 방법입니다. GitOps를 통해 애플리케이션의 CPU 및 메모리 요구 사항을 정의하고 구성할 수 있습니다.
Red Hat OpenShift GitOps Operator를 설치할 때마다 네임스페이스의 리소스가 정의된 제한 내에 설치됩니다. 기본 설치에서 제한 또는 요청을 설정하지 않으면 Operator가 할당량이 있는 네임스페이스 내에서 실패합니다. 리소스가 충분하지 않으면 클러스터가 ArgoCD 관련 Pod를 예약할 수 없습니다. 다음 표에서는 기본 워크로드에 대한 리소스 요청 및 제한을 자세히 설명합니다.
워크로드 | CPU 요청 | CPU 제한 | 메모리 요청 | 메모리 제한 |
---|---|---|---|---|
argocd-application-controller | 1 | 2 | 1024Mi | 2048Mi |
applicationset-controller | 1 | 2 | 512Mi | 1024Mi |
argocd-server | 0.125 | 0.5 | 128Mi | 256Mi |
argocd-repo-server | 0.5 | 1 | 256Mi | 1024Mi |
argocd-redis | 0.25 | 0.5 | 128Mi | 256Mi |
argocd-dex | 0.25 | 0.5 | 128Mi | 256Mi |
HAProxy | 0.25 | 0.5 | 128Mi | 256Mi |
선택적으로 oc
명령과 함께 ArgoCD 사용자 정의 리소스를 사용하여 세부 사항을 확인하고 수정할 수도 있습니다.
oc edit argocd <name of argo cd> -n namespace
1.1.1. argocd-redis의 크기 조정 요구 사항
Red Hat OpenShift GitOps Operator에서 애플리케이션의 용량 계획 단계 중에 메모리, CPU 및 스토리지와 같은 적절한 양의 리소스가 argocd-redis
Pod에 할당되었는지 확인해야 합니다.
Redis 포드의 기본 메모리 제한은 많은 리소스를 관리하기에 충분하지 않을 수 있습니다. 이러한 경우 애플리케이션 배포가 확장되는 동안 메모리 제한을 늘리고 메모리 지표를 모니터링하고 메모리 구성을 변경해야 합니다.
다음 명령은 openshift-gitops
네임스페이스에서 Redis Pod의 메모리 구성 예를 보여줍니다.
$ oc get argocd -n openshift-gitops openshift-gitops -o json | jq '.spec.redis.resources'
출력 예
{ "limits": { 1 "cpu": "500m", "memory": "256Mi" }, "requests": { 2 "cpu": "250m", "memory": "128Mi" } }
다음 예제 명령은 Redis 포드의 메모리 구성을 변경합니다. 가장 높은 리소스 제한 임계값은 8GiB로 설정되고 가장 낮은 값은 256MiB로 설정됩니다.
$ oc patch argocd -n openshift-gitops openshift-gitops --type json -p '[{"op": "replace", "path": \ "/spec/redis/resources/limits/memory", "value": "8Gi"}, {"op": "replace", "path": \ "/spec/redis/resources/requests/memory", "value": "256Mi"}]'
출력 예
argocd.argoproj.io/openshift-gitops patched
2장. Red Hat OpenShift GitOps 설치
Red Hat OpenShift GitOps는 Argo CD를 사용하여 클러스터 Operator, 선택적 OLM(Operator Lifecycle Manager) Operator 및 사용자 관리를 포함한 특정 클러스터 범위 리소스를 관리합니다.
2.1. 사전 요구 사항
- OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
-
cluster-admin
역할의 사용자로 로그인되어 있습니다. - OpenShift Container Platform 클러스터에 관리자로 로그인되어 있습니다.
- 클러스터에 Marketplace 기능이 활성화되어 있거나 Red Hat Operator 카탈로그 소스가 수동으로 구성되어 있습니다.
Argo CD Operator의 커뮤니티 버전을 이미 설치한 경우 Red Hat OpenShift GitOps Operator를 설치하기 전에 Argo CD Community Operator를 제거하십시오.
이 가이드에서는 Red Hat OpenShift GitOps Operator를 OpenShift Container Platform 클러스터에 설치하고 Argo CD 인스턴스에 로그인하는 방법을 설명합니다.
최신
채널을 사용하면 Red Hat OpenShift GitOps Operator의 최신 안정적인 버전을 설치할 수 있습니다. 현재 이 채널은 Red Hat OpenShift GitOps Operator를 설치하는 기본 채널입니다.
특정 버전의 Red Hat OpenShift GitOps Operator를 설치하기 위해 클러스터 관리자는 해당 gitops-<version
> 채널을 사용할 수 있습니다. 예를 들어 Red Hat OpenShift GitOps Operator 버전 1.8.x를 설치하려면 gitops-1.8
채널을 사용할 수 있습니다.
2.2. 웹 콘솔에서 Red Hat OpenShift GitOps Operator 설치
웹 콘솔을 사용하여 OperatorHub에서 Red Hat OpenShift GitOps Operator를 설치할 수 있습니다.
프로세스
- 웹 콘솔의 관리자 화면을 열고 Operator → OperatorHub 로 이동합니다.
-
OpenShift GitOps
를 검색하고 Red Hat OpenShift GitOps 타일을 클릭한 다음 설치를 클릭합니다. Operator 설치 페이지에서 다음을 수행합니다.
- 업데이트 채널을 선택합니다.
- 설치할 GitOps 버전을 선택합니다.
설치된 네임스페이스를 선택합니다. 기본 설치 네임스페이스는
openshift-gitops-operator
입니다.참고GitOps 버전 1.10 이상의 경우 기본 네임스페이스가
openshift-operators
에서openshift-gitops Operator
로 변경되었습니다.이 네임스페이스에서 Operator 권장 클러스터 모니터링 활성화 확인란을 선택하여 클러스터 모니터링을 활성화합니다.
참고openshift.io/cluster-monitoring=true
라벨을 적용하여 모든 네임스페이스에서 클러스터 모니터링을 활성화할 수 있습니다.$ oc label namespace <namespace> openshift.io/cluster-monitoring=true
출력 예
namespace/<namespace> labeled
OpenShift Container Platform 클러스터에서 GitOps Operator를 사용할 수 있도록 설치를 클릭합니다.
Red Hat OpenShift GitOps는 클러스터의 모든 네임스페이스에 설치됩니다.
- Red Hat OpenShift GitOps Operator가 Operator → 설치된 Operator 에 나열되어 있는지 확인합니다. 상태가 성공으로 확인되어야 합니다.
Red Hat OpenShift GitOps Operator를 설치한 후 openshift-gitops
네임스페이스에서 제공되는 즉시 사용 가능한 Argo CD 인스턴스가 자동으로 설정되고 콘솔 도구 모음에 Argo CD 아이콘이 표시됩니다. 프로젝트에서 애플리케이션에 대한 후속 Argo CD 인스턴스를 생성할 수 있습니다.
2.3. CLI를 사용하여 Red Hat OpenShift GitOps Operator 설치
CLI를 사용하여 OperatorHub에서 Red Hat OpenShift GitOps Operator를 설치할 수 있습니다.
GitOps 버전 1.10 이상의 경우 기본 네임스페이스가 openshift-operators
에서 openshift-gitops Operator
로 변경되었습니다.
프로세스
openshift-gitops-operator
네임스페이스를 생성합니다.$ oc create ns openshift-gitops-operator
출력 예
namespace/openshift-gitops-operator created
참고openshift.io/cluster-monitoring=true
라벨을 적용하여openshift-gitops-operator
또는 네임스페이스에서 클러스터 모니터링을 활성화할 수 있습니다.$ oc label namespace <namespace> openshift.io/cluster-monitoring=true
출력 예
namespace/<namespace> labeled
OperatorGroup
오브젝트 YAML 파일을 생성합니다(예:gitops-operator-group.yaml
):OperatorGroup의 예
apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: openshift-gitops-operator namespace: openshift-gitops-operator spec: upgradeStrategy: Default
클러스터에
OperatorGroup
을 적용합니다.$ oc apply -f gitops-operator-group.yaml
출력 예
operatorgroup.operators.coreos.com/openshift-gitops-operator created
서브스크립션
오브젝트 YAML 파일을 생성하여 Red Hat OpenShift GitOps Operator에 네임스페이스를 서브스크립션합니다(예:openshift-gitops-sub.yaml
).서브스크립션의 예
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: openshift-gitops-operator namespace: openshift-gitops-operator spec: channel: latest 1 installPlanApproval: Automatic name: openshift-gitops-operator 2 source: redhat-operators 3 sourceNamespace: openshift-marketplace 4
클러스터에
서브스크립션
을 적용합니다.$ oc apply -f openshift-gitops-sub.yaml
출력 예
subscription.operators.coreos.com/openshift-gitops-operator created
설치가 완료되면
openshift-gitops
네임스페이스의 모든 Pod가 실행 중인지 확인합니다.$ oc get pods -n openshift-gitops
출력 예
NAME READY STATUS RESTARTS AGE cluster-b5798d6f9-zr576 1/1 Running 0 65m kam-69866d7c48-8nsjv 1/1 Running 0 65m openshift-gitops-application-controller-0 1/1 Running 0 53m openshift-gitops-applicationset-controller-6447b8dfdd-5ckgh 1/1 Running 0 65m openshift-gitops-dex-server-569b498bd9-vf6mr 1/1 Running 0 65m openshift-gitops-redis-74bd8d7d96-49bjf 1/1 Running 0 65m openshift-gitops-repo-server-c999f75d5-l4rsg 1/1 Running 0 65m openshift-gitops-server-5785f7668b-wj57t 1/1 Running 0 53m
openshift-gitops-operator
네임스페이스의 Pod가 실행 중인지 확인합니다.$ oc get pods -n openshift-gitops-operator
출력 예
NAME READY STATUS RESTARTS AGE openshift-gitops-operator-controller-manager-664966d547-vr4vb 2/2 Running 0 65m
2.4. Argo CD 관리자 계정을 사용하여 Argo CD 인스턴스에 로그인
Red Hat OpenShift GitOps는 openshift-gitops
네임스페이스에서 사용할 수 있는 즉시 사용 가능한 Argo CD 인스턴스를 자동으로 생성합니다. 선택적으로 새 Argo CD 인스턴스를 생성하여 클러스터 구성을 관리하거나 애플리케이션을 배포할 수 있습니다.
Argo CD 관리자 계정을 사용하여 즉시 사용할 수 있는 기본 Argo CD 인스턴스 또는 새로 설치 및 배포된 Argo CD 인스턴스에 로그인합니다.
사전 요구 사항
- 클러스터에 Red Hat OpenShift GitOps Operator가 설치되어 있습니다.
프로세스
- 웹 콘솔의 관리자 화면에서 Operator → 설치된 Operator로 이동하여 Red Hat OpenShift GitOps Operator가 설치되어 있는지 확인합니다.
-
메뉴 → OpenShift GitOps → 클러스터 Argo CD 로 이동합니다. Argo CD UI의 로그인 페이지가 새 창에 표시됩니다.
선택 사항: OpenShift Container Platform 인증 정보로 로그인하려면
cluster-admins
그룹의 사용자인지 확인한 다음 Argo CD 사용자 인터페이스에서LOG IN VIA OPENSHIFT
옵션을 선택해야 합니다.참고cluster-admins
그룹의 사용자가 되려면oc adm groups new cluster-admins <user
> 명령을 사용합니다. 여기서 <user
>는 클러스터 전체 또는 로컬로 사용자 및 그룹에 바인딩할 수 있는 기본 클러스터 역할입니다.Argo CD 인스턴스의 암호를 가져옵니다.
- 탐색 패널을 사용하여 워크로드 → 시크릿 페이지로 이동합니다.
- 프로젝트 드롭다운 목록을 사용하고 Argo CD 인스턴스가 생성된 네임스페이스를 선택합니다.
- 암호를 표시할 <argo_CD_instance_name>-cluster 인스턴스를 선택합니다.
- 세부 정보 탭에서 데이터 → admin.password 아래에 암호를 복사합니다.
-
admin
을 Username 으로 사용하고 복사한 암호를 Password 로 사용하여 새 창에서 Argo CD UI에 로그인합니다.
동일한 네임스페이스에 두 개의 Argo CD CR을 생성할 수 없습니다.
2.5. 추가 리소스
3장. GitOps CLI 설치
Red Hat OpenShift GitOps argocd
CLI 툴은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
GitOps argocd
CLI 툴을 사용하여 명령줄에서 Red Hat OpenShift GitOps 및 Argo CD 리소스를 구성하고 관리합니다. GitOps argocd
CLI는 GitOps 컴퓨팅 작업을 간단하고 간결하게 만들 수 있도록 설계되었습니다. 다른 플랫폼에 CLI 툴을 설치할 수 있습니다.
압축된 아카이브와 RPM에는 모두 argocd
실행 바이너리 파일이 포함되어 있습니다. Red Hat 계정에 활성 OpenShift Container Platform 서브스크립션이 있는 경우 yum
또는 dnf
와 같은 패키지 관리자를 사용하여 CLI 툴을 RPM으로 설치합니다.
3.1. Linux에서 Red Hat OpenShift GitOps CLI 설치
Linux 배포판의 경우 GitOps argocd
CLI를 tar.gz
아카이브로 다운로드할 수 있습니다.
프로세스
운영 체제 및 아키텍처의 콘텐츠 게이트웨이 에서 최신 버전의 CLI 툴을 다운로드합니다.
운영 체제 아키텍처 Tarball Linux
x86_64, amd64
argocd-linux-amd64.tar.gz
Linux on IBM zSystems and IBM® LinuxONE
s390x
argocd-linux-s390x.tar.gz
Linux on IBM Power
ppc64le
argocd-linux-ppc64le.tar.gz
Linux on ARM
aarch64, arm64
argocd-linux-arm64.tar.gz
참고최신 버전의 CLI 툴은 이전 버전의 Red Hat OpenShift GitOps 서버와 호환되지만 그 반대는 아닙니다.
다음 명령을 실행하여 아카이브의 압축을 풉니다.
$ tar xvzf <file>
다음 명령을 실행하여 바이너리를
PATH
환경 변수의 디렉터리로 이동합니다.$ sudo mv argocd /usr/local/bin/argocd
다음 명령을 실행하여 파일을 실행 가능하게 만듭니다.
$ sudo chmod +x /usr/local/bin/argocd
GitOps
argocd
CLI를 설치한 후 다음 명령을 실행하여 사용할 수 있는지 확인합니다.$ argocd version --client
출력 예
argocd: v2.9.5+f943664 BuildDate: 2024-02-15T05:19:27Z GitCommit: f9436641a616d277ab1f98694e5ce4c986d4ea05 GitTreeState: clean GoVersion: go1.20.10 Compiler: gc Platform: linux/amd64 ExtraBuildInfo: openshift-gitops-version: 1.12.0, release: 0015022024 1
- 1
- Red Hat에서 빌드한 Red Hat OpenShift GitOps의 빌드 정보입니다.
3.2. RPM을 사용하여 Linux에 Red Hat OpenShift GitOps CLI 설치
RHEL(Red Hat Enterprise Linux) 버전 8 이상의 경우 yum
또는 dnf
와 같은 패키지 관리자를 사용하여 GitOps argocd
CLI를 RPM으로 설치할 수 있습니다. 이렇게 하면 시스템에서 GitOps argocd
CLI 버전을 자동으로 관리할 수 있습니다. 예를 들어 dnf upgrade
와 같은 명령을 사용하면 새 버전을 사용할 수 있는 경우 argocd
를 포함한 모든 패키지를 업그레이드합니다.
사전 요구 사항
- Red Hat 계정에 활성 OpenShift Container Platform 서브스크립션이 있어야 합니다.
-
로컬 시스템에 root 또는
sudo
권한이 있어야 합니다.
프로세스
다음 명령을 실행하여 Red Hat Subscription Manager에 등록합니다.
# subscription-manager register
다음 명령을 실행하여 최신 서브스크립션 데이터를 가져옵니다.
# subscription-manager refresh
다음 명령을 실행하여 사용 가능한 서브스크립션을 나열합니다.
# subscription-manager list --available --matches '*gitops*'
이전 명령의 출력에서 OpenShift Container Platform 서브스크립션의 풀 ID를 찾고 다음 명령을 실행하여 서브스크립션을 등록된 시스템에 연결합니다.
# subscription-manager attach --pool=<pool_id>
다음 명령을 실행하여 RHEL 버전 8 이상용 Red Hat OpenShift GitOps에 필요한 리포지토리를 활성화합니다.
Linux (x86_64, amd64)
# subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-x86_64-rpms"
명령 예
# subscription-manager repos --enable="gitops-1.13-for-rhel-8-x86_64-rpms"
Linux on IBM zSystems and IBM® LinuxONE (s390x)
# subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-s390x-rpms"
명령 예
# subscription-manager repos --enable="gitops-1.13-for-rhel-8-s390x-rpms"
Linux on IBM Power (ppc64le)
# subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-ppc64le-rpms"
명령 예
# subscription-manager repos --enable="gitops-1.13-for-rhel-8-ppc64le-rpms"
Linux on ARM (aarch64, arm64)
# subscription-manager repos --enable="gitops-<gitops_version>-for-rhel-<rhel_version>-aarch64-rpms"
명령 예
# subscription-manager repos --enable="gitops-1.13-for-rhel-8-aarch64-rpms"
다음 명령을 실행하여
openshift-gitops-argocd-cli
패키지를 설치합니다.# yum install openshift-gitops-argocd-cli
GitOps
argocd
CLI를 설치한 후 다음 명령을 실행하여 사용할 수 있는지 확인합니다.$ argocd version --client
출력 예
argocd: v2.9.5+f943664 BuildDate: 2024-02-15T05:19:27Z GitCommit: f9436641a616d277ab1f98694e5ce4c986d4ea05 GitTreeState: clean GoVersion: go1.20.10 Compiler: gc Platform: linux/amd64 ExtraBuildInfo: openshift-gitops-version: 1.12.0, release: 0015022024 1
- 1
- Red Hat에서 빌드한 Red Hat OpenShift GitOps의 빌드 정보입니다.
3.3. Windows에서 Red Hat OpenShift GitOps CLI 설치
Windows의 경우 GitOps argocd
CLI를 압축된 zip
아카이브로 다운로드할 수 있습니다.
프로세스
운영 체제 및 아키텍처의 콘텐츠 게이트웨이 에서 최신 버전의 CLI 툴을 다운로드합니다.
운영 체제 아키텍처 Tarball Windows
x86_64
argocd-windows-amd64.zip
참고최신 버전의 CLI 툴은 이전 버전의 Red Hat OpenShift GitOps 서버와 호환되지만 그 반대는 아닙니다.
- ZIP 프로그램으로 아카이브의 압축을 풉니다.
다음 명령을 실행하여 바이너리를
PATH
환경 변수의 디렉터리로 이동합니다.C:\> move argocd.exe <directory>
GitOps
argocd
CLI를 설치한 후 다음 명령을 실행하여 사용할 수 있는지 확인합니다.$ argocd version --client
출력 예
argocd: v2.9.5+f943664 BuildDate: 2024-02-15T05:19:27Z GitCommit: f9436641a616d277ab1f98694e5ce4c986d4ea05 GitTreeState: clean GoVersion: go1.20.10 Compiler: gc Platform: linux/amd64 ExtraBuildInfo: openshift-gitops-version: 1.12.0, release: 0015022024 1
- 1
- Red Hat에서 빌드한 Red Hat OpenShift GitOps의 빌드 정보입니다.
3.4. macOS에서 Red Hat OpenShift GitOps CLI 설치
macOS의 경우 GitOps argocd
CLI를 tar.gz
아카이브로 다운로드할 수 있습니다.
프로세스
운영 체제 및 아키텍처의 콘텐츠 게이트웨이 에서 최신 버전의 CLI 툴을 다운로드합니다.
운영 체제 아키텍처 Tarball Intel의 macOS
x86_64
argocd-macos-amd64.tar.gz
macOS on ARM
arm64
argocd-macos-arm64.tar.gz
참고최신 버전의 CLI 툴은 이전 버전의 Red Hat OpenShift GitOps 서버와 호환되지만 그 반대는 아닙니다.
다음 명령을 실행하여 아카이브의 압축을 풉니다.
$ tar xvzf <file>
다음 명령을 실행하여 바이너리를
PATH
환경 변수의 디렉터리로 이동합니다.$ sudo mv argocd /usr/local/bin/argocd
다음 명령을 실행하여 파일을 실행 가능하게 만듭니다.
$ sudo chmod +x /usr/local/bin/argocd
GitOps
argocd
CLI를 설치한 후 다음 명령을 실행하여 사용할 수 있는지 확인합니다.$ argocd version --client
출력 예
argocd: v2.9.5+f943664 BuildDate: 2024-02-15T05:19:27Z GitCommit: f9436641a616d277ab1f98694e5ce4c986d4ea05 GitTreeState: clean GoVersion: go1.20.10 Compiler: gc Platform: linux/amd64 ExtraBuildInfo: openshift-gitops-version: 1.12.0, release: 0015022024 1
- 1
- Red Hat에서 빌드한 Red Hat OpenShift GitOps의 빌드 정보입니다.