1장. 인프라 노드에서 GitOps 컨트롤 플레인 워크로드 실행
인프라 노드를 사용하여 다음 두 가지 기본 목적으로 인프라 워크로드를 분리할 수 있습니다.
- 서브스크립션 수와 관련된 청구 비용을 방지하려면 다음을 수행합니다.
- 별도의 유지 관리 및 관리
OpenShift Container Platform을 사용하여 인프라 노드에서 GitOps 컨트롤 플레인 워크로드를 실행할 수 있습니다. 여기에는 이 네임스페이스의 기본 Argo CD 인스턴스를 포함하여 기본적으로 openshift-gitops 네임스페이스의 Red Hat OpenShift GitOps Operator에서 생성한 Operator Pod 및 컨트롤 플레인 워크로드가 포함됩니다.
GitOps 컨트롤 플레인 워크로드를 사용하면 Argo CD 인스턴스가 가능한 것을 완전히 제어하여 클러스터에 여러 개의 격리된 Argo CD 인스턴스를 생성하여 인프라 워크로드를 안전하고 선언적으로 격리할 수 있습니다. 또한 여러 개발자 네임스페이스에서 선언적으로 이러한 Argo CD 인스턴스를 관리할 수 있습니다. 테인트를 사용하면 이러한 노드에서 인프라 구성 요소만 실행되도록 할 수 있습니다.
사용자 네임스페이스에 설치된 다른 모든 Argo CD 인스턴스는 인프라 노드에서 실행할 수 없습니다.
1.1. GitOps 컨트롤 플레인 워크로드를 인프라 노드로 이동 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift GitOps에서 설치한 GitOps 컨트롤 플레인 워크로드를 인프라 노드로 이동할 수 있습니다. 다음은 이동할 수 있는 컨트롤 플레인 워크로드입니다.
-
Kam 배포 -
클러스터 배포(backend 서비스) -
openshift-gitops-applicationset-controller 배포 -
openshift-gitops-dex-server 배포 -
openshift-gitops-redis 배포 -
openshift-gitops-redis-ha-haproxy deployment -
openshift-gitops-repo-sever 배포 -
openshift-gitops-server 배포 -
openshift-gitops-application-controller statefulset -
openshift-gitops-redis-server statefulset
프로세스
다음 명령을 실행하여 기존 노드에 인프라로 레이블을 지정합니다.
oc label node <node-name> node-role.kubernetes.io/infra=
$ oc label node <node-name> node-role.kubernetes.io/infra=Copy to Clipboard Copied! Toggle word wrap Toggle overflow GitOpsServiceCR(사용자 정의 리소스)을 편집하여 인프라 노드 선택기를 추가합니다.oc edit gitopsservice -n openshift-gitops
$ oc edit gitopsservice -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow GitOpsServiceCR 파일에서spec섹션에runOnInfra필드를 추가하고true로 설정합니다. 이 필드는openshift-gitops네임스페이스의 컨트롤 플레인 워크로드를 인프라 노드로 이동합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 테인트를 적용하고 인프라 노드에 워크로드를 분리하고 다른 워크로드가 이러한 노드에서 예약되지 않도록 합니다.
oc adm taint nodes -l node-role.kubernetes.io/infra
$ oc adm taint nodes -l node-role.kubernetes.io/infra infra=reserved:NoSchedule infra=reserved:NoExecuteCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 노드에 테인트를 적용하는 경우
GitOpsServiceCR에 허용 오차를 추가할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
워크로드가 Red Hat OpenShift GitOps 네임스페이스의 인프라 노드에 예약되었는지 확인하려면 Pod 이름을 클릭하고 노드 선택기 및 허용 오차 가 추가되었는지 확인합니다.
기본 Argo CD CR에 수동으로 추가된 노드 선택기 및 허용 오차 는 GitOpsService CR의 토글 및 허용 오차로 덮어씁니다.