Harbor를 감독자 서비스로 설치하고 구성하는 방법을 알아봅니다. 그런 다음 Harbor를 Tanzu Kubernetes Grid 클러스터 및 vSphere 포드에서 실행되는 워크로드에 대한 레지스트리로 사용할 수 있습니다. Harbor에는 Contour가 수신 컨트롤러로 필요하므로 먼저 Contour 감독자 서비스를 설치한 다음 Harbor를 설치합니다.
Harbor를 감독자 서비스로 설치
vSphere Client의 워크로드 관리 옵션을 통해 Harbor를 감독자 서비스로 설치합니다.
사전 요구 사항
- vCenter Server 8.0a 이상으로 업그레이드했는지 확인합니다. Contour 및 Harbor 감독자 서비스는 vCenter Server 8.0a 이상에서 지원됩니다.
- 서비스를 추가하는 vCenter Server 시스템에 대한 감독자 서비스 관리 권한이 있는지 확인합니다.
- Harbor를 설치하려는 동일한 감독자에 Contour를 감독자 서비스로 설치합니다. vSphere IaaS control plane에서 Contour를 감독자 서비스로 설치의 내용을 참조하십시오.
- Harbor 관리 UI에 액세스하기 위한 FQDN을 지정합니다.
프로시저
결과
Harbor FQDN을 엔보이 수신 IP 주소에 매핑
Harbor가 설치된 후 엔보이 수신 IP 주소에 대한 Harbor FQDN 매핑 레코드를 감독자로 구성된 외부 DNS 서버에 포함합니다.
Tanzu Kubernetes Grid 클러스터, vSphere 포드 및 감독자는 Harbor FQDN을 확인할 수 있어야 레지스트리에서 이미지를 끌어올 수 있습니다.
Harbor 감독자 서비스와의 신뢰 설정
Harbor가 설치되면 Harbor를 vSphere 포드의 레지스트리로 사용할 수 있도록 감독자와 Harbor 간에 신뢰를 구성해야 합니다. Harbor와 동일한 감독자에 있는 Tanzu Kubernetes Grid 클러스터는 Harbor와의 신뢰가 자동으로 설정되어 있습니다. Harbor를 다른 감독자에서 실행되는 Tanzu Kubernetes Grid 클러스터의 레지스트리로 사용하려면 Harbor와 이러한 Tanzu Kubernetes Grid 클러스터 간에 신뢰를 구성해야 합니다.
Harbor와 감독자 간에 신뢰 설정
- Harbor UI에서 또는 감독자 제어부에서 TLS 암호를 사용하여 Harbor CA를 추출합니다. Harbor 관리 UI( )에서 Harbor ca.cert를 가져올 수 있습니다.
- kube-system 네임스페이스의 image-fetcher-ca-bundle ConfigMap에 Harbor CA를 추가합니다. vCenter Single Sign-on 관리 계정으로 로그인해야 하며 image-fetcher-ca-bundle을 편집할 수 있는 권한이 있어야 합니다.
- KUBE_EDITOR 환경 변수를 여기에 설명된 대로 구성합니다.
- 다음 명령을 사용하여 ConfigMap을 편집합니다.
kubectl edit configmap image-fetcher-ca-bundle -n kube-system
- Harbor ca.cert 파일의 컨텐츠를 기존 감독자 인증서 아래의 ConfigMap에 추가합니다. 감독자 인증서를 변경하지 않아야 합니다.
apiVersion: v1 data: ca-bundle: |- -----BEGIN CERTIFICATE----- MIIC/jCCAeagAwIBAgIBADANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwprdWJl ... qB72tWi8M5++h2RGcVash0P1CUZOHkpHxGdUGYv1Z97Wl89dT2OTn3iXqn8d1JAK aF8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDKDCCAhCgAwIBAgIQBbUsj7mqXXC5XRhqqU3GiDANBgkqhkiG9w0BAQsFADAU ... 5q7y87vOLTr7+0MG4O01zK0dJYx2jVhZlsuduMYpfqRLLewVl0eGu/6vr2M= -----END CERTIFICATE----- kind: ConfigMap metadata: creationTimestamp: "2023-03-15T14:28:34Z" name: image-fetcher-ca-bundle namespace: kube-system resourceVersion: "713" uid: 6b7611a0-25fa-40f7-b4f5-e2a13bd0afe3
- 파일에 대한 편집 내용을 저장합니다. 그 결과 kubectl 보고서:
configmap/image-fetcher-ca-bundle edited
Harbor 및 Harbor와 다른 감독자에서 실행되는 Tanzu Kubernetes Grid 클러스터 간에 신뢰 설정
Harbor가 설치된 것과 다른 감독자에서 실행되는 Tanzu Kubernetes Grid 클러스터는 Harbor와의 네트워크 연결이 있어야 합니다. 이러한 Tanzu Kubernetes Grid 클러스터는 Harbor FQDN을 확인할 수 있어야 합니다.
Harbor와 Tanzu Kubernetes Grid 클러스터 간에 신뢰를 설정하려면 Harbor UI에서 또는 감독자 제어부에서 TLS 암호를 사용하여 Harbor CA를 추출한 다음 TKG 2 클러스터를 개인 컨테이너 레지스트리와 통합에 나열된 단계를 따르십시오.