이 섹션에서는 Tanzu Kubernetes Grid의 워크로드 클러스터에 설치하고 구성할 수 있는 패키지에 대한 개요를 제공합니다.
Tanzu Kubernetes Grid에서 생성된 워크로드 클러스터에 패키지를 설치하면 클러스터에 기능이 추가됩니다. 이 기능은 일반적으로 클러스터가 호스팅하는 워크로드에 서비스를 제공합니다. 예를 들어 Antrea 패키지는 Antrea CNI(컨테이너 네트워크 인터페이스), Contour 패키지 수신 제어 서비스, Harbor 패키지 개인 컨테이너 레지스트리 등을 제공합니다. 일부 패키지는 클러스터 자체의 작업을 지원합니다.
내부적으로 패키지는 패키지 관리자에게 패키지에 포함된 소프트웨어와 Kubernetes 클러스터에 설치하는 방법을 알려주는 구성 메타데이터 및 이미지 참조로 구성되어 있습니다. 패키지는 패키지 저장소로 그룹화되어 있습니다. 일부 패키지는 클러스터에서 자동으로 사용되도록 설정되고 다른 패키지는 Tanzu CLI를 사용하여 명시적으로 설치되어 있습니다. Tanzu Kubernetes Grid에서 패키지 및 패키지 저장소가 구현되는 방법에 대한 자세한 내용은 아래의 Carvel API 리소스를 참조하십시오.
Tanzu Kubernetes Grid에는 다음과 같은 유형의 패키지가 포함되어 있습니다.
tanzu-standard
패키지 저장소 또는 클러스터에 추가하는 다른 저장소에 있습니다. 아래의 CLI 관리 패키지 섹션을 참조하십시오.이러한 패키지는 일반적으로 기본 클러스터 기능에 필요합니다. Tanzu Kubernetes Grid는 Kubernetes 클러스터를 생성하고 업그레이드할 때 자동으로 설치되고 업그레이드됩니다.
참고
tanzu package
CLI 플러그인은 CLI 관리 패키지에만 사용됩니다. 자동 관리 패키지를 설치하고 관리하는 데tanzu package
CLI 플러그인을 사용하지 마십시오. 수명 주기는 Tanzu Kubernetes Grid에서 관리합니다.
자동 관리 패키지 구성을 보고 업데이트하는 방법은 자동 관리 패키지 구성 보기 및 사용자 지정을 참조하십시오.
Tanzu Kubernetes Grid는 자동 관리 패키지의 수명 주기를 관리합니다. 여기에는 자동 패키지 설치 및 버전 업데이트가 포함되어 있습니다.
자동 관리 패키지는 클러스터 생성 시 설치됩니다. 워크로드 클러스터에 설치할 자동 관리 패키지를 결정하기 위해 Tanzu Kubernetes Grid는 클러스터 및 클러스터별 구성 정보를 생성하는 데 사용되는 Tanzu Kubernetes 릴리스를 읽습니다. 워크로드 클러스터를 업그레이드할 때 Tanzu Kubernetes Grid는 업그레이드 프로세스의 일부로 클러스터에 설치된 자동 관리 패키지의 버전을 업데이트합니다.
아래 표에는 TKG가 설치하는 자동 관리 자동 관리 패키지패키지와 TKG가 설치되어 있는 클러스터 유형이 나열되어 있습니다.
자동 관리 패키지는 tanzu-core
저장소에서 설치되고 TKG 배포 유형에 따라 다음 네임스페이스에서 실행됩니다.
vmware-system-tkg
tkg-system
패키지 | 설치 위치(Supervisor 있음) | 설치 위치(독립형 관리 클러스터 있음) | 설명 |
---|---|---|---|
ako-operator |
설치 안 됨 | 관리(vSphere with NSX ALB만 해당) | VMware NSX Advanced Load Balancer를 제공합니다. 이 패키지는 NSX Advanced Load Balancer를 사용하도록 설정된 경우에 설치됩니다. |
antrea |
워크로드 | 관리 및 워크로드 | 포드 네트워킹을 사용하도록 설정하고 Kubernetes 클러스터에 대한 네트워크 정책을 적용합니다. Calico가 CNI 제공자로 선택되지 않는 한 기본적으로 설치됩니다. |
calico |
워크로드 | 관리 및 워크로드 | 포드 네트워킹을 사용하도록 설정하고 Kubernetes 클러스터에 대한 네트워크 정책을 적용합니다. Calico가 CNI 제공자로 선택된 경우 설치됩니다. Windows에서 지원되지 않습니다. |
capabilities |
워크로드 | 워크로드 | 기능 API를 사용하도록 설정합니다. "기능"은 Kubernetes 클러스터가 수행할 수 있거나 보유할 수 있는 모든 작업(예: 개체 및 API 표면적)입니다. 기능 검색을 사용하여 "TKG 클러스터입니까?" 또는 "이 클러스터에 리소스 X가 있습니까?" 등의 질문에 답변할 수 있습니다. |
guest-cluster-auth-service |
워크로드 | 설치 안 됨 | vSphere SSO(Single Sign-On)를 관리하며, vSphere SSO 사용자가 대상 워크로드 클러스터에 액세스할 수 있도록 설정합니다. |
kapp-controller |
워크로드 | 관리 및 워크로드 | 패키지를 관리합니다. |
load-balancer-and-ingress-service (AKO) |
설치 안 됨 | 관리 및 워크로드(vSphere with NSX ALB만 해당) | Tanzu Kubernetes Grid가 생성한 클러스터에서 실행되는 애플리케이션에 대해 L4+L7 로드 밸런싱을 제공합니다. North-South 트래픽에 사용됩니다. 이 패키지는 NSX Advanced Load Balancer를 사용하도록 설정된 경우에 설치됩니다. |
metrics-server |
워크로드 | 관리 및 워크로드 | 메트릭 서버를 제공합니다. |
pinniped |
워크로드 | 관리 및 워크로드 | 사용자 인증을 제공합니다. ID 제공자가 구성된 경우에만 설치됩니다. 독립형 관리 클러스터가 이미 생성된 후 독립형 관리 클러스터에 설치할 수 있습니다. 기존 배포에서 ID 관리 사용 및 구성을 참조하십시오. |
secretgen-controller |
워크로드 | 워크로드 | arvel-secretgen-controller를 사용하도록 설정합니다. |
tanzu-addons-manager |
관리 | 관리 | tanzu-core 패키지의 수명 주기를 관리합니다. |
tkg-pkg |
설치 안 됨 | 관리 | TKG 독립형 관리 클러스터에 필요한 tanzu-addons-manager , tkr-source-controller , ClusterClass 정의 및 기타 구성 요소를 설치합니다. |
vsphere-cpi |
워크로드 | 관리 및 워크로드(vSphere만 해당) | vSphere 클라우드 제공자 인터페이스를 제공합니다. |
vsphere-pv-csi |
워크로드 | 설치 안 됨 | vSphere 클라우드 스토리지 인터페이스를 제공합니다. |
CLI 관리 패키지는 Tanzu Kubernetes Grid에서 생성된 Kubernetes 클러스터를 확장합니다. 클러스터를 생성한 후에는 tanzu-standard
패키지 저장소 또는 클러스터에 추가하는 다른 패키지 저장소에서 패키지를 설치할 수 있습니다.
CLI 관리 패키지 목록, 패키지가 게시된 패키지 저장소 및 설치 방법은 Tanzu CLI를 사용하여 패키지 제거 및 관리를 참조하십시오.
Tanzu Kubernetes Grid는 Kubernetes 클러스터에서 패키지를 사용할 수 있도록 대상 클러스터에 다음과 같은 API 리소스를 생성합니다.
PackageRepository
또는 pkgr
는 단일 패키지 저장소를 나타냅니다. 패키지 관리자인 kapp-controller
를 리소스에 정의된 패키지 저장소로 안내합니다. 패키지 저장소에는 Package
및 PackageMetadata
리소스가 포함되어 있습니다. 대상 클러스터에 PackageRepository
가 생성되면 kapp-controller
패키지 저장소에 포함된 패키지를 설치할 수 있습니다. 이 API 리소스는 CLI 관리 패키지에만 사용됩니다.Package
또는 pkg
에는 지정된 패키지에 대한 버전별 정보가 포함되어 있으며 패키지 설치 방법을 지정합니다. kapp-controller
는 패키지를 설치할 때 Package
리소스를 사용합니다.PackageMetadata
또는 pkgm
에는 지정된 패키지의 버전과 무관한 정보가 포함되어 있습니다.PackageInstall
또는 pkgi
는 대상 클러스터에 설치된 패키지를 나타냅니다. 패키지 설치에 사용된 Package
리소스도 참조합니다.kubectl api-resources
및 kubectl get
명령을 사용하여 이러한 리소스를 표시하고 볼 수 있습니다. Carvel API 리소스에 대한 자세한 내용은 Carvel 설명서의 패키징을 참조하십시오.