표준 패키지를 공용 컨테이너 레지스트리에서 감독자 서비스로 실행되는 비공개 Harbor 레지스트리로 푸시하려면 이 항목을 참조하십시오.
사전 요구 사항
다음 사전 요구 사항을 완료하십시오.
- Harbor 감독자 서비스 설치.
- Ubuntu 호스트를 Docker 클라이언트로 구성합니다. Harbor 레지스트리 인증서를 사용하여 Docker 클라이언트 구성의 내용을 참조하십시오.
- Ubuntu 호스트에 jq를 설치합니다. https://jqlang.github.io/jq/download/의 내용을 참조하십시오.
Carvel 이미지 패키지 유틸리티 설치
kubectl이 설치된 Ubuntu 클라이언트에 Carvel
imgpkg
유틸리티를 설치합니다.
imgpkg
를 설치합니다.wget -O- https://carvel.dev/install.sh > install.sh sudo bash install.sh
- 설치를 확인합니다.
imgpkg version
예상 결과:imgpkg version 0.41.1
각 표준 패키지에 대해 사용 가능한 이미지 나열
Cert Manager
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/cert-manager
엔보이를 사용하는 Contour
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/contour
ExternalDNS
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/external-dns
Alertmanager를 사용하는 Prometheus
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/prometheus
Grafana
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/grafana
Fluent Bit
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/fluent-bit
Harbor
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/harbor
공용 VMware 레지스트리에서 표준 패키지 이미지 끌어오기
https://projects.registry.vmware.com/의 공용 VMware 레지스트리에서 표준 Tanzu 패키지를 끌어옵니다. 끌어오려는 버전과 일치하도록 버전을 업데이트합니다.
Cert Manager
docker pull projects.registry.vmware.com/tkg/packages/standard/cert-manager:v1.7.2_vmware.3-tkg.3
엔보이를 사용하는 Contour
docker pull projects.registry.vmware.com/tkg/packages/standard/contour:v1.23.5_vmware.1-tkg.1
ExternalDNS
docker pull projects.registry.vmware.com/tkg/packages/standard/external-dns:v0.12.2_vmware.5-tkg.1
Alertmanager를 사용하는 Prometheus
docker pull projects.registry.vmware.com/tkg/packages/standard/prometheus:v2.37.0_vmware.3-tkg.1
Grafana
docker pull projects.registry.vmware.com/tkg/packages/standard/grafana:v7.5.17_vmware.2-tkg.1
Fluent Bit
docker pull projects.registry.vmware.com/tkg/packages/standard/fluent-bit:v1.9.5_vmware.1-tkg.2
Harbor
docker pull projects.registry.vmware.com/tkg/packages/standard/harbor:v2.7.1_vmware.1-tkg.1
개인 Harbor 레지스트리에서 프로젝트 생성
Tanzu 패키지 호스팅을 위해 Harbor에서 공용 프로젝트를 생성합니다.
- 개인 Harbor 레지스트리에 로그인합니다.
- Harbor에서 를 선택합니다.
- 이름이 tanzu-packages인 새 공용 프로젝트를 생성합니다.
표준 패키지 이미지에 태그 지정
다음 구문을 사용하여 이미지에 태그를 지정합니다.
docker tag SOURCE_IMAGE[:TAG] harbordomain.com/tanzu-packages/REPOSITORY[:TAG]
형식 설명:
- SOURCE_IMAGE[:TAG]은 가져온 이미지의 이름입니다.
- harbordomain.com은 Harbor 서버의 DNS 이름입니다.
- REPOSITORY[:TAG]는 이미지 태그의 이름입니다.
Cert Manager
docker tag projects.registry.vmware.com/tkg/packages/standard/cert-manager:v1.7.2_vmware.3-tkg.3 harbordomain.com/tanzu-packages/cert-manager:v1.7.2
엔보이를 사용하는 Contour
docker tag projects.registry.vmware.com/tkg/packages/standard/contour:v1.23.5_vmware.1-tkg.1 harbordomain.com/tanzu-packages/contour:v1.23.5
ExternalDNS
docker tag projects.registry.vmware.com/tkg/packages/standard/external-dns:v0.12.2_vmware.5-tkg.1 harbordomain.com/tanzu-packages/external-dns:v0.12.2
Alertmanager를 사용하는 Prometheus
docker tag projects.registry.vmware.com/tkg/packages/standard/prometheus:v2.37.0_vmware.3-tkg.1 harbordomain.com/tanzu-packages/prometheus:v2.37.0
Grafana
docker tag projects.registry.vmware.com/tkg/packages/standard/grafana:v7.5.17_vmware.2-tkg.1 harbordomain.com/tanzu-packages/grafana:v7.5.17
Fluent Bit
docker tag projects.registry.vmware.com/tkg/packages/standard/fluent-bit:v1.9.5_vmware.1-tkg.2 harbordomain.com/tanzu-packages/fluent-bit:v1.9.5
Harbor
docker tag projects.registry.vmware.com/tkg/packages/standard/harbor:v2.7.1_vmware.1-tkg.1 harbordomain.com/tanzu-packages/harbor:v2.7.1
표준 패키지 이미지를 개인 Harbor 레지스트리로 푸시
다음 구문을 사용하여 이미지를 푸시합니다.
docker push harbordomain.com/tanzu-packages/PACKAGE
형식 설명:
- harbordomain.com은 Harbor 서버의 DNS 이름입니다.
- tanzu-packages는 Harbor 프로젝트의 이름입니다.
- PACKAGE는 Tanzu 패키지의 이름입니다.
- vX.X.X는 패키지의 태그 버전입니다.
Cert Manager
docker push harbordomain.com/tanzu-packages/cert-manager:v1.7.2
엔보이를 사용하는 Contour
docker push harbordomain.com/tanzu-packages/contour:v1.23.5
ExternalDNS
docker push harbordomain.com/tanzu-packages/external-dns:v0.12.2
Alertmanager를 사용하는 Prometheus
docker push harbordomain.com/tanzu-packages/prometheus:v2.37.0
Grafana
docker push harbordomain.com/tanzu-packages/grafana:v7.5.17
Fluent Bit
docker push harbordomain.com/tanzu-packages/fluent-bit:v1.9.5
Harbor
docker push harbordomain.com/tanzu-packages/harbor:v2.7.1
이미지를 개인 Harbor 레지스트리로 푸시한 후 Harbor 웹 인터페이스에 각 이미지가 표시되는지 확인합니다.
배포용 컨테이너 이미지 끌어오기
이미지가 개인 Harbor 레지스트리에 있는지 확인하려면 다음 구문을 사용하여 거기에서 이미지를 가져옵니다.
docker pull harbordomain.com/tanzu-packages/PACKAGE:TAG
예:
docker pull harbordomain.com/tanzu-packages/fluent-bit:v1.9.5
cURL을 사용하여 Harbor API를 호출하고 패키지를 나열할 수 있습니다. 이렇게 하려면 Harbor 웹 인터페이스에서 Harbor 인증서를 다운로드한 다음 다음 명령을 실행합니다.
curl -X 'GET' 'https://harbordomain.com/api/v2.0/projects/tanzu-packages/repositories?page=1&page_size=-1' -H 'accept: application/json' --cacert ca.crt | jq '.[].name'
명령은 사용 가능한 tanzu-packages를 반환합니다.
"tanzu-packages/harbor" "tanzu-packages/fluent-bit" "tanzu-packages/grafana" "tanzu-packages/prometheus" "tanzu-packages/external-dns" "tanzu-packages/contour" "tanzu-packages/cert-manager"