표준 패키지를 공용 컨테이너 레지스트리에서 감독자 서비스로 실행되는 비공개 Harbor 레지스트리로 푸시하려면 이 항목을 참조하십시오.

사전 요구 사항

다음 사전 요구 사항을 완료하십시오.

Carvel 이미지 패키지 유틸리티 설치

kubectl이 설치된 Ubuntu 클라이언트에 Carvel imgpkg 유틸리티를 설치합니다.
  1. imgpkg를 설치합니다.
    wget -O- https://carvel.dev/install.sh > install.sh
    sudo bash install.sh
  2. 설치를 확인합니다.
    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에서 공용 프로젝트를 생성합니다.
  1. 개인 Harbor 레지스트리에 로그인합니다.
  2. Harbor에서 프로젝트 > 새 프로젝트를 선택합니다.
  3. 이름이 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 웹 인터페이스에 각 이미지가 표시되는지 확인합니다.
그림 1. 개인 Harbor 레지스트리의 Tanzu 표준 패키지
개인 Harbor 레지스트리의 Tanzu 표준 패키지

배포용 컨테이너 이미지 끌어오기

이미지가 개인 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"