Menu Close
18.16.2.2. ZTP를 위한 허브 클러스터 준비
제로 터치 프로비저닝(ZTP) GitOps 플로우를 기반으로 각 사이트에 필요한 설치 및 정책 CR(사용자 정의 리소스)을 생성하는 ArgoCD 애플리케이션 세트로 허브 클러스터를 구성할 수 있습니다.
절차
- hub 클러스터에 Red Hat OpenShift GitOps Operator를 설치합니다.
ArgoCD의 관리자 암호를 추출합니다.
$ oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d
ArgoCD 파이프라인 구성을 준비합니다.
최신 컨테이너 이미지 버전을 사용하여 ZTP 사이트 생성기 컨테이너에서 ArgoCD 배포 CR을 추출합니다.
$ mkdir ztp $ podman run --rm -v `pwd`/ztp:/mnt/ztp:Z registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.9.0-1 /bin/bash -c "cp -ar /usr/src/hook/ztp/* /mnt/ztp/"
이 섹션의 나머지 단계는
ztp/gitops-subscriptions/argocd/
디렉터리와 관련이 있습니다.두 ArgoCD 애플리케이션, deployment
/clusters-app.yaml 및
의 소스 값을 적절한 URL,deployment/policies-
app.yamltargetRevision
분기 및 경로 값으로 수정합니다. 경로 값은 Git 리포지토리에 사용된 값과 일치해야 합니다.deployment/clusters-app.yaml
수정 :apiVersion: v1 kind: Namespace metadata: name: clusters-sub --- apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: clusters namespace: openshift-gitops spec: destination: server: https://kubernetes.default.svc namespace: clusters-sub project: default source: path: ztp/gitops-subscriptions/argocd/resource-hook-example/siteconfig 1 repoURL: https://github.com/openshift-kni/cnf-features-deploy 2 targetRevision: master 3 syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true
deployment/policies-app.yaml
수정 :apiVersion: v1 kind: Namespace metadata: name: policies-sub --- apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: policies namespace: openshift-gitops spec: destination: server: https://kubernetes.default.svc namespace: policies-sub project: default source: directory: recurse: true path: ztp/gitops-subscriptions/argocd/resource-hook-example/policygentemplates 1 repoURL: https://github.com/openshift-kni/cnf-features-deploy 2 targetRevision: master 3 syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true
허브 클러스터에 파이프라인 구성을 적용하려면 다음 명령을 입력합니다.
$ oc apply -k ./deployment